From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | static assertions in C++ |
Date: | 2017-08-31 20:43:00 |
Message-ID: | 0de63a5f-6e05-56c9-b4d9-55c41d07ebc9@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Commit df1a699e5ba3232f373790b2c9485ddf720c4a70 introduced a
StaticAssertStmt() into a header file, which will fail if a module
written in C++ uses that header file. Currently, that header file is
not widely used, but it's a potential problem if the use of static
assertions expands.
As discussed in
<https://www.postgresql.org/message-id/7775.1492448671@sss.pgh.pa.us>, a
more general solution would be to add specific C++ support for static
assertions in c.h. Here is a patch for that, extracted from my
previously posted C++ patch set, but also a bit reworked from what was
previously posted.
Also attached is a little C++ test file that one can use to test this
out. (Just compiling it should cause a compiler error without the patch
and a static assertion failure with the patch.)
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Attachment | Content-Type | Size |
---|---|---|
v3-0001-Add-support-for-static-assertions-in-C.patch | text/plain | 1.5 KB |
test.cpp | text/plain | 148 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2017-08-31 21:42:59 | Re: static assertions in C++ |
Previous Message | Tom Lane | 2017-08-31 20:33:31 | Re: sync process names between ps and pg_stat_activity |