Re: pgsql: Provide some static-assertion functionality on all compilers. - Mailing list pgsql-committers

From Tom Lane
Subject Re: pgsql: Provide some static-assertion functionality on all compilers.
Date
Msg-id 3708.1350424248@sss.pgh.pa.us
Whole thread Raw
In response to Re: pgsql: Provide some static-assertion functionality on all compilers.  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: pgsql: Provide some static-assertion functionality on all compilers.
List pgsql-committers
Andres Freund <andres@2ndquadrant.com> writes:
> On Monday, October 01, 2012 04:46:41 AM Tom Lane wrote:
>> Provide some static-assertion functionality on all compilers.

> The current method used here doesn't allow the macro to be used in file scope
> which imo would be rather useful. What about adding something like:

I deliberately didn't go that way, because I didn't see any methods to
do it that weren't utter hacks, with deficiencies like this one:

> Annoyingly that would mean you cannot have two errors in the same line
> in two files that are in one translation unit if your compiler doesn't
> allow repeated typedefs. Not sure if thats a realistic problem?

If it came up even once, it would annoy people no end.  I don't see any
very strong reason not to just put the assertions inside functions
instead.

> Independently from this it might be worthwile to add the __LINE__ hackery to
> the existing fallback for StaticAssertStmt?

Uh, why?  It's going to be a static compile error, so surely your
compiler will give you a line number already.

            regards, tom lane


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: Re: pgsql: Provide some static-assertion functionality on all compilers.
Next
From: Simon Riggs
Date:
Subject: pgsql: Clarify hash index caution and copy to CREATE INDEX docs