Date: Mon, 15 Jun 2009 11:38:33 -0700 From: Sam Leffler <sam@freebsd.org> To: Roman Divacky <rdivacky@freebsd.org> Cc: current@freebsd.org Subject: Re: [RFC]: (void)0 instead of empty defines Message-ID: <4A369529.5090004@freebsd.org> In-Reply-To: <20090615181555.GA52009@freebsd.org> References: <20090615181555.GA52009@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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. Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A369529.5090004>