Re: pgsql: Move Assert() definitions to c.h - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: Move Assert() definitions to c.h
Date
Msg-id 20130201225543.GB27969@awork2.anarazel.de
Whole thread Raw
In response to Re: pgsql: Move Assert() definitions to c.h  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-committers
On 2013-02-01 19:44:42 -0300, Alvaro Herrera wrote:
> Tom Lane wrote:
> > Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> > > Move Assert() definitions to c.h
> >
> > This seems a bit odd.  Why didn't you move all of postgres.h's section 3
> > into the new section in c.h?  The couple of declarations you left there
> > are neither useful nor intelligible on their own.
>
> Hmm, true, I didn't consider that.  Will fix.

I left it there because assert_enabled and ExceptionalCondition should
never be required in a frontend environment. Wasn't sure about that one,
so moving it is absolutely fine with me.

>
>
> > Also, I think there's a typo here:
> >
> > +#else /* USE_ASSERT_CHECKING && FRONTEND */
> >
> > Should be
> >
> > +#else /* USE_ASSERT_CHECKING && !FRONTEND */
> >
> > no?
>
> This bit I did consider.  It wasn't clear to me whether those comments
> mean that the condition spelled out in the comment holds for the lines
> below, or that they hold for the lines above.  Note the comment after
> the #endif holds for the lines above it.
>
> After searching for precedent, I found one in ip.c and it seems to
> support what you say.

I think there exists precedent for both spellings, don't really about
which one we use here.

One other thing I didn't think of, if youre at it agan, what about
changing the #ifndef USE_ASSERT_CHECKING definition of
#define Assert(condition)
into
#define Assert(condition) ((void)true)

That makes for fewer warnings on some pedantic compiler modes and is in
line with C's assert() IIRC.

Greetings,

Andres Freund

--
 Andres Freund                       http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: pgsql: Move Assert() definitions to c.h
Next
From: Peter Eisentraut
Date:
Subject: pgsql: doc: Tiny whitespace fix