Re: Make copyObject work in C++ - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Make copyObject work in C++
Date
Msg-id 4d8b9e53-3f37-43f0-a4aa-5bda9c7961b3@eisentraut.org
Whole thread Raw
In response to Make copyObject work in C++  (Jelte Fennema-Nio <postgres@jeltef.nl>)
List pgsql-hackers
On 05.12.25 15:46, Jelte Fennema-Nio wrote:
> Calling copyObject fails in C++ with an error like in most setups:
> 
> error: use of undeclared identifier 'typeof'; did you mean 'typeid'
> 
> This is due to the C compiler supporting used to compile postgres
> supporting typeof, but that function actually not being present in the
> C++ compiler. This fixes that by using decltype instead of typeof when
> including the header in C++.
> 
> Realized because of Thomas' not about how much of our headers should
> work in C++, and remembering I hit this specific problem myself.

I think it might be good to create a test extension written in C++, like 
under src/test/modules/, and sprinkle it with various constructs like 
copyObject() and static assertions, and whatever else we find that is 
possibly problematic.  Then patches like this one would be much easier 
to analyze and test and keep working in the future.

This would probably require resolving 
<https://commitfest.postgresql.org/patch/5885/> first.




pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
Next
From: "Greg Burd"
Date:
Subject: Re: [PATCH] Fix ARM64/MSVC atomic memory ordering issues on Win11 by adding explicit DMB ?barriers