Define unconstify() and unvolatize() for C++.
authorThomas Munro <tmunro@postgresql.org>
Mon, 11 Dec 2023 20:31:44 +0000 (09:31 +1300)
committerThomas Munro <tmunro@postgresql.org>
Mon, 11 Dec 2023 20:46:46 +0000 (09:46 +1300)
commitbaf7c93ed583949d837bc13f24a15a0efbcb1ae7
treed91ee95cb325a3b6194fc681931a1b33bb0e653a
parent0a5c46a7a488f2f4260a90843bb9de6c584c7f4e
Define unconstify() and unvolatize() for C++.

These two macros wouldn't work if used in an inline function definition
in a header seen by g++, because __builtin_types_compatible_p is only
available in C.  Redirect to standard C++ const_cast (which also
adds/removes volatile despite its name).

Per cpluspluscheck failure in a development branch.

Suggested-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/CA%2BhUKGK3OXFjkOyZiw-DgL2bUqk9by1uGuCnViJX786W%2BfyDSw%40mail.gmail.com
src/include/c.h