pgsql: Fixes for C++ typeof implementation

Started by Peter Eisentraut5 months ago1 messagescomitters
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

Fixes for C++ typeof implementation

This fixes two bugs in commit 1887d822f14.

First, if we are using the fallback C++ implementation of typeof, then
we need to include the C++ header <type_traits> for
std::remove_reference_t. This header is also likely to be used for
other C++ implementations of type tricks, so we'll put it into the
global includes.

Second, for the case that the C compiler supports typeof in a spelling
that is not "typeof" (for example, __typeof__), then we need to #undef
typeof in the C++ section to avoid warnings about duplicate macro
definitions.

Reviewed-by: Jelte Fennema-Nio <postgres@jeltef.nl>
Discussion: /messages/by-id/92f9750f-c7f6-42d8-9a4a-85a3cbe808f3@eisentraut.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9c05f152b5dd7aeaa6e64bd4ed2fc86bab437073

Modified Files
--------------
src/include/c.h | 9 +++++++++
1 file changed, 9 insertions(+)