On Tue, Oct 07, 2014 at 12:40:04AM +0700, Robert Elz wrote: > Date: Mon, 6 Oct 2014 14:26:44 +0000 > From: "Havard Eidnes" <h...@netbsd.org> > Message-ID: <20141006142644.7693...@cvs.netbsd.org> > > | Make this build again without debugging enabled; DPRINTF() can end up > | as empty, and in an if conditional, you then need braces if that's the > | only potential body. > > That change makes no sense to me - the original code was > > if (error) > DPRINTF((....)); > > and even if DPRINTF() could produce nothing, the result would be > > if (error) > ; > > which is perfectly good C (useless, but acceptable). Adding { } around > the ';' changes nothing.
Consider what happens if you write: if (error) DPRINTF((...)); else fubar(); When DPRINTF() expands 'if (xxx) yyy' it all goes horribly wrong. Do we need to support any compilers that don't support __VA_ARGS__ ? Even microsoft's compiler almost supports it. David -- David Laight: da...@l8s.co.uk