Date: Tue, 1 Feb 2011 11:25:01 +0000 From: Alexander Best <arundel@freebsd.org> To: Roman Divacky <rdivacky@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: empty function macros Message-ID: <20110201112501.GA99666@freebsd.org> In-Reply-To: <20110201081236.GA63338@freebsd.org> References: <20110130172941.GA10701@freebsd.org> <20110131075439.GA49765@freebsd.org> <20110131095158.GC98011@freebsd.org> <20110201081236.GA63338@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue Feb 1 11, Roman Divacky wrote:
> On Mon, Jan 31, 2011 at 09:51:58AM +0000, Alexander Best wrote:
> > On Mon Jan 31 11, Roman Divacky wrote:
> > > no problem with this with clang :)
> >
> > hmmmmm....so compiling the following code
> >
> > int
> > main(int argc, char **argv)
> > {
> > if (1<2)
> > ;
> > }
> >
> > with clang -Werror code.c -o code works for you?
>
> if (1<2)
> ;
>
> gives a warning (and it should), on the other hand
>
> #define NOTHING
>
> if (1<2)
> NOTHING;
>
> does not warn, which is what you want right?
actually
#define NOTHING
int
main(int argc, char **argv)
{
if (1<2)
NOTHING;
return (0);
}
*does* warn for me:
otaku% clang test.c -o test
test.c:7:12: warning: if statement has empty body [-Wempty-body]
NOTHING;
^
1 warning generated.
..gcc on the otherhand will only warn with -Wextra. so the questions still
stands:
should
#define NOTHING
be replaced with
#define NOTHING do { } while (0)
?
cheers.
alex
--
a13x
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110201112501.GA99666>
