| From: | Andres Freund <andres(at)2ndquadrant(dot)com> |
|---|---|
| To: | pgsql-committers(at)postgresql(dot)org |
| Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Subject: | Re: pgsql: Provide some static-assertion functionality on all compilers. |
| Date: | 2012-10-18 11:23:04 |
| Message-ID: | 201210181323.04961.andres@2ndquadrant.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
On Tuesday, October 16, 2012 11:50:48 PM Tom Lane wrote:
> Andres Freund <andres(at)2ndquadrant(dot)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.
In the case that made me think about it I wanted to assert that internal and
external data structures are compatible. Putting the static asserts in a
function relatively far away from the data structures seems to make it more
likely that adding new asserts will be forgotten.
Unfortunately I don't have a better idea to fix the above deficiency than
adding another parameter for disambiguation :(
Andres
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Simon Riggs | 2012-10-18 12:39:25 | pgsql: Add isolation tests for DROP INDEX CONCURRENTLY. |
| Previous Message | Tom Lane | 2012-10-17 16:39:08 | pgsql: Close un-owned SMgrRelations at transaction end. |