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

From Peter Eisentraut
Subject Re: Change copyObject() to use typeof_unqual
Date
Msg-id ae29dfa3-9678-468a-879b-8a4c0e74f826@eisentraut.org
Whole thread Raw
In response to Re: Change copyObject() to use typeof_unqual  (Daniel Gustafsson <daniel@yesql.se>)
Responses Re: Change copyObject() to use typeof_unqual
List pgsql-hackers
On 13.03.26 14:03, Daniel Gustafsson wrote:
>> On 13 Mar 2026, at 11:43, Peter Eisentraut <peter@eisentraut.org> wrote:
> 
>> I committed this and it still fails, but the failure is now narrower. There is a failure on buildfarm member taipan
becauseit uses an unusual combination of gcc and clang (the gcc is much newer than clang).  The only sensible
workaroundI could think of is a hardcoded override based on the clang version, as in the attached patch.  And
alternativeis that we decide that we don't want to support this combination, meaning that we would effectively require
thatclang is approximately as-old-or-newer than gcc.
 
> 
> I ran into this as well on clang 15 via XCode with no gcc involved:
> 
> ../src/test/modules/test_cplusplusext/test_cplusplusext.cpp:41:22: error: no template named 'remove_reference_t' in
namespace'std'; did you mean 'remove_reference'?
 
>          RangeTblRef *copy = copyObject(nodec);
>                              ^~~~~~~~~~~~~~~~~

Jelte,

I read here

https://en.cppreference.com/w/cpp/types/remove_reference.html

that remove_reference_t is actually in C++14, which might explain this 
failure, if the compiler is in C++11 mode.

I don't understand the difference between remove_reference and 
remove_reference_t.




pgsql-hackers by date:

Previous
From: Nazir Bilal Yavuz
Date:
Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD
Next
From: Nathan Bossart
Date:
Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD