Re: pgsql: Move Assert() definitions to c.h

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Move Assert() definitions to c.h
Date: 2013-02-01 22:55:43
Message-ID: 20130201225543.GB27969@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 2013-02-01 19:44:42 -0300, Alvaro Herrera wrote:
> Tom Lane wrote:
> > Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)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

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2013-02-02 02:45:52 pgsql: doc: Tiny whitespace fix
Previous Message Alvaro Herrera 2013-02-01 22:44:42 Re: pgsql: Move Assert() definitions to c.h