Re: Change copyObject() to use typeof_unqual - Mailing list pgsql-hackers

From Álvaro Herrera
Subject Re: Change copyObject() to use typeof_unqual
Date
Msg-id ai1JPsL_If6mbGX4@alvherre.pgsql
Whole thread
In response to Re: Change copyObject() to use typeof_unqual  (Peter Eisentraut <peter@eisentraut.org>)
Responses Re: Change copyObject() to use typeof_unqual
List pgsql-hackers
On 2026-Mar-06, Peter Eisentraut wrote:

> From f2f750f7c3ab6b73514ab2fd5f02185abe9ad59f Mon Sep 17 00:00:00 2001
> From: Peter Eisentraut <peter@eisentraut.org>
> Date: Fri, 6 Mar 2026 13:31:01 +0100
> Subject: [PATCH v2 1/3] 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.

For some reason, a couple of animals running gcc-15 or newer
(leafhopper, massasauga, parula) appear to be failing now because of
this.

ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla
-Wmissing-format-attribute-Wold-style-declaration -Wimplicit-fallthrough=5 -Wcast-function-type
-Wshadow=compatible-local-Wformat-security -Wmissing-variable-declarations -fno-strict-aliasing -fwrapv
-fexcess-precision=standard-Wno-format-truncation -Wno-stringop-truncation -g -O2 -Wstrict-prototypes
-Wold-style-definition-fPIC -fvisibility=hidden -shared -o test_slru.so  test_slru.o test_multixact.o
-L../../../../src/port-L../../../../src/common    -Wl,--as-needed
-Wl,-rpath,'/home/bf/proj/bf/build-farm-17/HEAD/inst/lib',--enable-new-dtags-fvisibility=hidden 
 
In file included from ../../../../src/include/postgres.h:48,
                 from test_cplusplusext.cpp:18:
../../../../src/include/c.h:91:10: fatal error: type_traits: No such file or directory
   91 | #include <type_traits>
      |          ^~~~~~~~~~~~~
compilation terminated.
make[1]: *** [<builtin>: test_cplusplusext.o] Error 1
make[1]: Leaving directory '/home/bf/proj/bf/build-farm-17/HEAD/pgsql.build/src/test/modules/test_cplusplusext'

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/



pgsql-hackers by date:

Previous
From: Chao Li
Date:
Subject: Re: Fix SET EXPRESSION for virtual columns with whole-row dependencies
Next
From: Tom Lane
Date:
Subject: Re: Change copyObject() to use typeof_unqual