Re: unconstify()/unvolatize() vs g++/clang++
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Thomas Munro <thomas.munro@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-12-11T09:17:51Z
Lists: pgsql-hackers
On 11.12.23 01:42, Thomas Munro wrote: > AFAICS you can't use unconstify()/unvolatize() in a static inline > function in a .h file, or in a .cpp file, because > __builtin_types_compatible_p is only available in C, not C++. Seems > like a reasonable thing to want to be able to do, no? I'm not > immediately sure what the right fix is; would #if > defined(HAVE__BUILTIN_TYPES_COMPATIBLE_P) && !defined(__cplusplus) > around the relevant versions of constify()/unvolatize() be too easy? That seems right to me. If you are slightly more daring, you can write an alternative definition in C++ using const_cast?
Commits
-
Define unconstify() and unvolatize() for C++.
- baf7c93ed583 17.0 landed