Re: lots of unused variable warnings in assert-free builds

Peter Eisentraut <peter_e@gmx.net>

From: Peter Eisentraut <peter_e@gmx.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2012-01-18T19:15:52Z
Lists: pgsql-hackers
On sön, 2012-01-15 at 01:37 -0500, Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
> > I see that in some places our code already uses #ifdef
> > USE_ASSERT_CHECKING, presumably to hide similar issues.  But in most
> > cases using this would significantly butcher the code.  I found that
> > adding __attribute__((unused)) is cleaner.  Attached is a patch that
> > cleans up all the warnings I encountered.
> 
> Surely this will fail entirely on most non-gcc compilers?

No, because __attribute__() is defined to empty for other compilers.  We
use this pattern already.

> Not to
> mention that next month's gcc may complain "hey, you used this 'unused'
> variable".

No, because __attribute__((unused)) means "that the variable is meant to
be possibly unused".