Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jul 2012 23:41:10 -0700
From:      Tim Kientzle <tim@kientzle.com>
To:        Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        current@freebsd.org
Subject:   Re: (void)foo or __unused foo ?
Message-ID:  <B86B2D65-25E3-4887-9203-AFED9563CE51@kientzle.com>
In-Reply-To: <20120727093824.GB56662@onelab2.iet.unipi.it>
References:  <20120727093824.GB56662@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 27, 2012, at 2:38 AM, Luigi Rizzo wrote:
>=20
> The alternative way to avoid an 'unused' warning from the compiler
> is an empty statement
>=20
> 	(void)foo;
>=20
> 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 */
    =85
}

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B86B2D65-25E3-4887-9203-AFED9563CE51>