Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Jan 2011 09:42:53 +0000
From:      Alexander Best <arundel@freebsd.org>
To:        Julian Elischer <julian@freebsd.org>
Cc:        freebsd-hackers@freebsd.org, Roman Divacky <rdivacky@freebsd.org>
Subject:   Re: empty function macros
Message-ID:  <20110131094253.GA98011@freebsd.org>
In-Reply-To: <4D46716E.6070500@freebsd.org>
References:  <20110130172941.GA10701@freebsd.org> <20110131075439.GA49765@freebsd.org> <4D46716E.6070500@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon Jan 31 11, Julian Elischer wrote:
> On 1/30/11 11:54 PM, Roman Divacky wrote:
> >no problem with this with clang :)
> >
> >On Sun, Jan 30, 2011 at 05:29:41PM +0000, Alexander Best wrote:
> >>hi there,
> >>
> >>i noticed freebsd has a few of the following macros:
> >>
> >>#define FUNC(sb)
> >>
> >>when you do something like
> >>
> >>if (cond)
> >>     FUNC(i)
> 
> you missed an important part....
> 
> it's probably
>  if (cond)
>     FUNC(i);
>   (note the ';')
> THAT would be ok....
>  without the ';' you just made whatever comes next conditional.

... still clang outputs a warning. sorry if i was unclear:
there's no issue with clang generating wrong code. i just thought we might be
able to stop clang from complaining.

basically

int
main(int argc, char **argv)
{
if (1 > 2)
    ;
}

produces a warning in clang, whereas with gcc (base) it doesn't.

cheers.
alex

> 
> >>the compiler complains about an if statement with an empty body. any 
> >>sensible
> >>way of dealing with this issue?
> >>
> >>i saw some reiserfs code which does the following to silence compilers:
> >>
> >>#define FUNC(sb) do { } while (0)
> 
> yeah we do that too in some places.
> (certainly at work I have done so)
> 
> 
> >>cheers.
> >>alex
> >>
> >>-- 
> >>a13x
> >>_______________________________________________
> >>freebsd-hackers@freebsd.org mailing list
> >>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> >>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
> >_______________________________________________
> >freebsd-hackers@freebsd.org mailing list
> >http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> >To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
> >

-- 
a13x



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110131094253.GA98011>