Hi

I tried to build Orafce against the master without success. After some
searching I found so patch

commit 17f446784d54da827f74c2acc0fa772a41b92354 -- fail
Author: Peter Eisentraut <[email protected]>
Date:   Mon Dec 15 11:43:11 2025

    Refactor static_assert() support.

does it.

It fails with strange errors

/usr/local/pgsql/master/include/server/storage/lwlock.h:64:18: error:
expected parameter declarator
   64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
      |                  ^
/usr/local/pgsql/master/include/server/storage/lwlock.h:64:18: error:
expected ')'
/usr/local/pgsql/master/include/server/storage/lwlock.h:64:1: note: to
match this '('
   64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
      | ^
/usr/local/pgsql/master/include/server/c.h:941:15: note: expanded from
macro 'StaticAssertDecl'
  941 |         static_assert(condition, errmessage)
      |                      ^
In file included from orafce.c:2:
/usr/local/pgsql/master/include/server/storage/lwlock.h:64:1: error: type
specifier missing, defaults to 'int'; ISO C99 and later do not support
implicit int [-Wimplicit-int]
   64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
      | ^
      | int
/usr/local/pgsql/master/include/server/c.h:941:2: note: expanded from macro
'StaticAssertDecl'
  941 |         static_assert(condition, errmessage)
      |         ^
In file included from orafce.c:4:
In file included from /usr/local/pgsql/master/include/server/utils/guc.h:17:
In file included from
/usr/local/pgsql/master/include/server/utils/array.h:64:
/usr/local/pgsql/master/include/server/fmgr.h:508:18: error: expected
parameter declarator
  508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
*) 0)->abi_extra),
      |                  ^
/usr/local/pgsql/master/include/server/fmgr.h:508:18: error: expected ')'
/usr/local/pgsql/master/include/server/fmgr.h:508:1: note: to match this '('
  508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
*) 0)->abi_extra),
      | ^
/usr/local/pgsql/master/include/server/c.h:941:15: note: expanded from
macro 'StaticAssertDecl'
  941 |         static_assert(condition, errmessage)
      |                      ^
In file included from orafce.c:4:
In file included from /usr/local/pgsql/master/include/server/utils/guc.h:17:
In file included from
/usr/local/pgsql/master/include/server/utils/array.h:64:
/usr/local/pgsql/master/include/server/fmgr.h:508:1: error: type specifier
missing, defaults to 'int'; ISO C99 and later do not support implicit int
[-Wimplicit-int]
  508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
*) 0)->abi_extra),
      | ^
      | int
/usr/local/pgsql/master/include/server/c.h:941:2: note: expanded from macro
'StaticAssertDecl'
  941 |         static_assert(condition, errmessage)
      |         ^
6 errors generated.
make: ***
[/usr/local/pgsql/master/lib/pgxs/src/makefiles/../../src/Makefile.global:1101:
orafce.bc] Chyba 1
/usr/lib64/ccache/clang -Wno-ignored-attributes -fno-strict-aliasing
-fwrapv -fexcess-precision=standard -Wno-unused-command-line-argument
-Wno-compound-token-split-by-macro -Wno-format-truncation -O2  -I. -I./
-I/usr/local/pgsql/master/include/server
-I/usr/local/pgsql/master/include/internal -D_GNU_SOURCE
 -I/usr/include/libxml2 -DWITH_GZFILEOP    -flto=thin -emit-llvm -c -o
orafce.bc orafce.c
In file included from orafce.c:2:
/usr/local/pgsql/master/include/server/storage/lwlock.h:64:18: error:
expected parameter declarator
   64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
      |                  ^
/usr/local/pgsql/master/include/server/storage/lwlock.h:64:18: error:
expected ')'
/usr/local/pgsql/master/include/server/storage/lwlock.h:64:1: note: to
match this '('
   64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
      | ^
/usr/local/pgsql/master/include/server/c.h:941:15: note: expanded from
macro 'StaticAssertDecl'
  941 |         static_assert(condition, errmessage)
      |                      ^
In file included from orafce.c:2:
/usr/local/pgsql/master/include/server/storage/lwlock.h:64:1: error: type
specifier missing, defaults to 'int'; ISO C99 and later do not support
implicit int [-Wimplicit-int]
   64 | StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE,
      | ^
      | int
/usr/local/pgsql/master/include/server/c.h:941:2: note: expanded from macro
'StaticAssertDecl'
  941 |         static_assert(condition, errmessage)
      |         ^
In file included from orafce.c:4:
In file included from /usr/local/pgsql/master/include/server/utils/guc.h:17:
In file included from
/usr/local/pgsql/master/include/server/utils/array.h:64:
/usr/local/pgsql/master/include/server/fmgr.h:508:18: error: expected
parameter declarator
  508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
*) 0)->abi_extra),
      |                  ^
/usr/local/pgsql/master/include/server/fmgr.h:508:18: error: expected ')'
/usr/local/pgsql/master/include/server/fmgr.h:508:1: note: to match this '('
  508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
*) 0)->abi_extra),
      | ^
/usr/local/pgsql/master/include/server/c.h:941:15: note: expanded from
macro 'StaticAssertDecl'
  941 |         static_assert(condition, errmessage)
      |                      ^
In file included from orafce.c:4:
In file included from /usr/local/pgsql/master/include/server/utils/guc.h:17:
In file included from
/usr/local/pgsql/master/include/server/utils/array.h:64:
/usr/local/pgsql/master/include/server/fmgr.h:508:1: error: type specifier
missing, defaults to 'int'; ISO C99 and later do not support implicit int
[-Wimplicit-int]
  508 | StaticAssertDecl(sizeof(FMGR_ABI_EXTRA) <= sizeof(((Pg_abi_values
*) 0)->abi_extra),
      | ^
      | int
/usr/local/pgsql/master/include/server/c.h:941:2: note: expanded from macro
'StaticAssertDecl'
  941 |         static_assert(condition, errmessage)
      |         ^
6 errors generated.
make: ***
[/usr/local/pgsql/master/lib/pgxs/src/makefiles/../../src/Makefile.global:1101:
orafce.bc] Chyba 1

pavel@nemesis:~/src/postgresql/src$ gcc --version
gcc (GCC) 15.2.1 20251211 (Red Hat 15.2.1-5)
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Unfortunately I am not able to fix it. The master can be build without any
problem

Regards

Pavel

Reply via email to