=== Applying patches on top of PostgreSQL commit ID 1200dfd60c367e97a5e1f31100d82072eb0178b6 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Thu Aug 6 02:53:38 UTC 2026 On branch cf/6301 nothing to commit, working tree clean === using 'git am' to apply patch ./v13-0000-Replace-__builtin_types_compatible_p-with-_Gener.patch === Applying: Replace __builtin_types_compatible_p with _Generic Using index info to reconstruct a base tree... M config/c-compiler.m4 M configure M configure.ac M meson.build M src/include/c.h M src/include/pg_config.h.in Falling back to patching base and 3-way merge... Auto-merging src/include/pg_config.h.in Auto-merging src/include/c.h CONFLICT (content): Merge conflict in src/include/c.h Auto-merging meson.build Auto-merging configure.ac Auto-merging configure CONFLICT (content): Merge conflict in configure Auto-merging config/c-compiler.m4 error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Replace __builtin_types_compatible_p with _Generic When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". === using patch(1) to apply patch ./v13-0000-Replace-__builtin_types_compatible_p-with-_Gener.patch === patching file config/c-compiler.m4 Hunk #1 FAILED at 267. 1 out of 1 hunk FAILED -- saving rejects to file config/c-compiler.m4.rej patching file configure Hunk #1 FAILED at 15182. 1 out of 1 hunk FAILED -- saving rejects to file configure.rej patching file configure.ac Hunk #1 FAILED at 1727. 1 out of 1 hunk FAILED -- saving rejects to file configure.ac.rej patching file meson.build Hunk #1 FAILED at 2070. 1 out of 1 hunk FAILED -- saving rejects to file meson.build.rej patching file src/include/c.h Hunk #1 succeeded at 452 (offset 59 lines). Hunk #2 FAILED at 1069. 1 out of 2 hunks FAILED -- saving rejects to file src/include/c.h.rej patching file src/include/pg_config.h.in Hunk #1 FAILED at 541. 1 out of 1 hunk FAILED -- saving rejects to file src/include/pg_config.h.in.rej patching file src/test/modules/test_cplusplusext/test_cplusplusext.cpp patching file src/test/modules/test_extensions/test_ext.c Unstaged changes after reset: M src/include/c.h M src/test/modules/test_cplusplusext/test_cplusplusext.cpp M src/test/modules/test_extensions/test_ext.c Removing config/c-compiler.m4.rej Removing configure.ac.rej Removing configure.rej Removing meson.build.rej Removing src/include/c.h.rej Removing src/include/pg_config.h.in.rej === using 'git apply' to apply patch ./v13-0000-Replace-__builtin_types_compatible_p-with-_Gener.patch === Applied patch to 'config/c-compiler.m4' cleanly. Applied patch to 'configure' with conflicts. Applied patch to 'configure.ac' cleanly. Applied patch to 'meson.build' cleanly. Applied patch to 'src/include/c.h' with conflicts. Applied patch to 'src/include/pg_config.h.in' cleanly. Applied patch to 'src/test/modules/test_cplusplusext/test_cplusplusext.cpp' cleanly. Applied patch to 'src/test/modules/test_extensions/test_ext.c' cleanly. U configure U src/include/c.h diff --cc configure index d42a7a794ff,cff9a6bb4f0..00000000000 --- a/configure +++ b/configure @@@ -15182,6 -15182,7 +15182,10 @@@ _ACEO fi fi ++<<<<<<< ours ++======= + PGAC_C_TYPES_COMPATIBLE ++>>>>>>> theirs { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_constant_p" >&5 $as_echo_n "checking for __builtin_constant_p... " >&6; } if ${pgac_cv__builtin_constant_p+:} false; then : diff --cc src/include/c.h index 20cfbac54e7,6db88644491..00000000000 --- a/src/include/c.h +++ b/src/include/c.h @@@ -1103,15 -1069,28 +1120,40 @@@ pg_noreturn extern void ExceptionalCond * StaticAssertVariableIsOfType() can be used as a declaration. * StaticAssertVariableIsOfTypeMacro() is intended for use in macros, eg * #define foo(x) (StaticAssertVariableIsOfTypeMacro(x, int), bar(x)) ++<<<<<<< ours + * + * Note that these do not work in C++. + */ +#define StaticAssertVariableIsOfType(varname, typename) \ + StaticAssertDecl(_Generic((varname), typename: 1, default: 0), \ + CppAsString(varname) " does not have type " CppAsString(typename)) +#define StaticAssertVariableIsOfTypeMacro(varname, typename) \ + (StaticAssertExpr(_Generic((varname), typename: 1, default: 0), \ + CppAsString(varname) " does not have type " CppAsString(typename))) ++======= + */ + #if !defined(_MSC_VER) || _MSC_VER >= 1933 + #define StaticAssertVariableIsOfType(varname, typename) \ + StaticAssertDecl(pg_expr_has_type_p(varname, typename), \ + CppAsString(varname) " does not have type " CppAsString(typename)) + #define StaticAssertVariableIsOfTypeMacro(varname, typename) \ + (StaticAssertExpr(pg_expr_has_type_p(varname, typename), \ + CppAsString(varname) " does not have type " CppAsString(typename))) + #else /* _MSC_VER < 1933 */ + /* + * This compiler is buggy and fails to compile the previous variant; use a + * fallback implementation that asserts that the types have the same size. + * This is far from ideal (especially on 32-bit platforms) but it provides at + * least some coverage. + */ + #define StaticAssertVariableIsOfType(varname, typename) \ + StaticAssertDecl(sizeof(varname) == sizeof(typename), \ + CppAsString(varname) " does not have type " CppAsString(typename)) + #define StaticAssertVariableIsOfTypeMacro(varname, typename) \ + (StaticAssertExpr(sizeof(varname) == sizeof(typename), \ + CppAsString(varname) " does not have type " CppAsString(typename))) + #endif /* _MSC_VER < 1933 */ ++>>>>>>> theirs /* ----------------------------------------------------------------