| 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: | Whole Thread | Raw Message | 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 |