Re: (void)foo or __unused foo ?

From: Tim Kientzle <tim_at_kientzle.com>
Date: Fri, 27 Jul 2012 23:41:10 -0700
On Jul 27, 2012, at 2:38 AM, Luigi Rizzo wrote:
> 
> The alternative way to avoid an 'unused' warning from the compiler
> is an empty statement
> 
> 	(void)foo;
> 
> that the compiler hopefully optimizes away.

I learned the void-cast convention many years ago.
I used it throughout the libarchive code and have yet to
run into any problems.  I always use it in exactly this form
(with the exact comment here) so that I can easily search
on it:

int foo(int a) {

   (void) a; /* UNUSED */
    …
}

I agree with PHK that it would be nice to express this
intent in a way that static checkers could verify.   I also
agree that having static checkers interpret comments is Evil.
But I have yet to see any alternative that was as
straightforward and widely-supported as this one.

Every other viable alternative seems to require tangled
clumps of macros.

Tim
Received on Sat Jul 28 2012 - 04:41:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:29 UTC