On Mon, May 25, 2009 at 10:19:40AM -0400, Tom Lane wrote:
> Michael Meskes <mes...@postgresql.org> writes:
> > - some combination of signed and unsigned: ~ 600
> >   Are we really sure that *all* compilers out there do handle this 
> > correctly?
> 
> The behavior is spelled out in the C spec, and always has been.  You
> might as well worry if they handle "if" correctly.

Well this is probably because I got bitten by this once. Okay, granted it was
very long ago and the compiler was not state of the art.

> >   There are some #defines of the form 
> >   #define foo if(1) { ... } else
> >   that are called as foo;
>   
> >   I see the need for the macro to expand as block, but what use hase the 
> > empty
> >   else?
> 
> That sounds both dangerous and against our coding conventions.  The
> standard way to do that is "do { ... } while (0)"

Which won't work here as the macros have continue and break commands in them. 

Michael
-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: mes...@jabber.org
Go VfL Borussia! Go SF 49ers! Use Debian GNU/Linux! Use PostgreSQL!

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to