Date: Mon, 15 Jun 2009 20:58:12 +0200 From: Roman Divacky <rdivacky@freebsd.org> To: Sam Leffler <sam@freebsd.org> Cc: current@freebsd.org Subject: Re: [RFC]: (void)0 instead of empty defines Message-ID: <20090615185812.GA67104@freebsd.org> In-Reply-To: <4A369529.5090004@freebsd.org> References: <20090615181555.GA52009@freebsd.org> <4A369529.5090004@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 15, 2009 at 11:38:33AM -0700, Sam Leffler wrote: > Roman Divacky wrote: > >hi > > > >in many places we do something like > > > >#ifdef SOMETHING > >#define FOO some_code > >#else > >#define FOO > >#endif > > > > > >I propose to change the second FOO to (void)0 in many places to > > > >1) let this compile cleanly with clang. Clang warns in many places > >about > > if (cond) > > FOO; > > > >which has empty if body > > > >2) enforces ; at the end of the expression > > > >this does not cost us nothing so I hope this change is ok. > > > >patch at: http://www.vlakno.cz/~rdivacky/void-zero.patch > > > >what do you think? > > > >roman > > > >p.s. there's also ACPI_DEBUG_PRINT in contrib/acpica which I hope > >jkim might handle > > > > Are you saying that: > > if (cond) > ; > > is considered worthy of a warning by the compiler? Is it just "if" or > all conditional control constructs (e.g. while)? > > I can image many instances of this construct arising from debugging > facilities. This sounds like a stupid restriction and I would argue we > should just disable the warning. it already found a bug in csup (recently fixed by lulf). It sure can be disabled but I'd like it to be discussed a little bit more as it already proved to be useful. roman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090615185812.GA67104>