Files
postgresql/config
Peter Eisentraut 4cfce4e62c Change copyObject() to use typeof_unqual
Currently, when the argument of copyObject() is const-qualified, the
return type is also, because the use of typeof carries over all the
qualifiers.  This is incorrect, since the point of copyObject() is to
make a copy to mutate.  But apparently no code ran into it.

The new implementation uses typeof_unqual, which drops the qualifiers,
making this work correctly.

typeof_unqual is standardized in C23, but all recent versions of all
the usual compilers support it even in non-C23 mode, at least as
__typeof_unqual__.  We add a configure/meson test for typeof_unqual
and __typeof_unqual__ and use it if it's available, else we use the
existing fallback of just returning void *.

Reviewed-by: David Geier <geidav.pg@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/92f9750f-c7f6-42d8-9a4a-85a3cbe808f3%40eisentraut.org
2026-02-04 09:22:41 +01:00
..
2024-10-01 07:23:45 -04:00
2026-01-01 13:24:10 -05:00
2025-04-09 12:41:54 +02:00
2020-07-24 10:42:08 +02:00
2012-08-21 23:42:43 -04:00
2010-09-20 22:08:53 +02:00
2023-12-20 09:44:37 +09:00
2025-08-04 14:06:58 +02:00
2022-07-06 07:41:33 +02:00
2019-01-18 08:38:34 +01:00