Date: Sun, 21 Jun 2026 18:46:59 +0100 From: Nuno Teixeira <eduardo@freebsd.org> To: Warner Losh <imp@freebsd.org> Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Faraz Vahedi <kfv@kfv.io> Subject: Re: git: 28cecfe27964 - main - libc: Restrict ATOMIC_VAR_INIT for C23 conformance Message-ID: <CAFDf7ULYwinK%2BEcpwifE6ofhQa8EiM5L9%2BWb-Q7YykRs0mFHPA@mail.gmail.com> In-Reply-To: <CAFDf7UKQc0gH2M=Vj-4FNzXKytQ%2B1jPM6x6hn962Tju6ekO8Gg@mail.gmail.com> References: <6a35ddd3.22963.721d614@gitrepo.freebsd.org> <CAFDf7UKQc0gH2M=Vj-4FNzXKytQ%2B1jPM6x6hn962Tju6ekO8Gg@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] (...) and I forgot: audio/cmus: ... checking for program cc... /usr/bin/cc checking for C11 (with atomics support)... no configure failed. ===> Script "configure" failed unexpectedly. Please report the problem to eduardo@FreeBSD.org [maintainer] and attach the "/wrkdirs/usr/ports/audio/cmus/work/cmus-2.12.0/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1 ... https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p0cd7b5a3f54a_sa4ed783cee2/logs/cmus-2.12.0_3.log https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p0cd7b5a3f54a_sa4ed783cee2/logs/qt6-base-6.11.1.log Any clues how to unbreak on ports side? Thanks, Nuno Teixeira <eduardo@freebsd.org> escreveu (domingo, 21/06/2026 à(s) 11:35): > Hello, > > (poudriere-devel build at main-n286792-eafa181d51f7: Sat Jun 20) > > I've found that ports-mgmt/portfmt started failing with: > ... > FAILED: [code=1] > /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/status.o > cc -std=gnu11 -O2 -g -W -Wall -Wextra -Wmissing-prototypes > -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -flto=thin -O2 > -pipe -fstack-protector-strong -fno-strict-aliasing > -Wno-strict-prototypes -DPORTFMT_SUBPACKAGES=0 -MD -MF > /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/status.o.d > -I/wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build > -I/wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6 -c -o > /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/status.o > /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c > /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c:59:38: > warning: call to undeclared function 'ATOMIC_VAR_INIT'; ISO C99 and later > do not support implicit function declarations > [-Wimplicit-function-declaration] > 59 | static atomic_int status_requested = ATOMIC_VAR_INIT(0); > | ^ > /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c:59:38: > error: initializer element is not a compile-time constant > 59 | static atomic_int status_requested = ATOMIC_VAR_INIT(0); > | ^~~~~~~~~~~~~~~~~~ > /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c:60:32: > error: initializer element is not a compile-time constant > 60 | static atomic_size_t scanned = ATOMIC_VAR_INIT(0); > | ^~~~~~~~~~~~~~~~~~ > 1 warning and 2 errors generated. > ... > > Same for devel/qt6-base: > > ... > FAILED: [code=1] src/corelib/CMakeFiles/Core.dir/io/forkfd_qt.c.o > /usr/bin/cc -DBACKTRACE_HEADER=\"execinfo.h\" -DCore_EXPORTS > -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_CORE_LIB > -DQT_DEPRECATED_WARNINGS -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH > -DQT_LEAN_HEADERS=1 - > DQT_MOC_COMPAT -DQT_NO_CAST_TO_ASCII -DQT_NO_CONTEXTLESS_CONNECT > -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS > -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE > -DQT_NO_QPAI > R -DQT_NO_QSNPRINTF -DQT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD=1 > -DQT_NO_STD_FORMAT_SUPPORT -DQT_NO_USING_NAMESPACE -DQT_TYPESAFE_FLAGS > -DQT_USE_NODISCARD_FILE_OPEN -DQT_USE_QSTRINGBUILDER -D_LARGEFILE64_SOURCE > -D_LA > RGEFILE_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST > -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib/Core_autogen/include > -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/include -I/wrkd > irs/usr/ports/devel/qt6-base/work/.build/include/QtCore > -I/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib > -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib -I/wrkdirs/usr > /ports/devel/qt6-base/work/.build/src/corelib/global > -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib/kernel > -I/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/../3rdpart > y/tinycbor/src > -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/include/QtCore/6.11.1 > -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/include/QtCore/6.11.1/QtCore > -I/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-ev > erywhere-src-6.11.1/src/corelib/../3rdparty/forkfd > -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib/.rcc > -I/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/mkspecs/freebsd-clang > -isy > stem /usr/local/include -isystem /usr/local/include/glib-2.0 -isystem > /usr/local/lib/glib-2.0/include -O2 -pipe -fstack-protector-strong > -fno-strict-aliasing -pipe -fstack-protector-strong -fno-strict-aliasing > -DNDEBUG -O3 -std=gnu11 -fPIC -fvisibility=hidden -Wall -Wextra -pthread > -fcf-protection=full -ftrivial-auto-var-init=pattern > -fstack-protector-strong -fexceptions -MD -MT > src/corelib/CMakeFiles/Core.dir/io/fork > fd_qt.c.o -MF src/corelib/CMakeFiles/Core.dir/io/forkfd_qt.c.o.d -o > src/corelib/CMakeFiles/Core.dir/io/forkfd_qt.c.o -c > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/forkfd_qt > .c > In file included from > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/forkfd_qt.c:16: > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd.c:162:39: > warning: call to undeclared function 'ATOMIC_VAR_INIT'; ISO C99 and later > do not support i > mplicit function declarations [-Wimplicit-function-declaration] > 162 | static ffd_atomic_int forkfd_status = FFD_ATOMIC_INIT(0); > | ^ > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_c11.h:54:37: > note: expanded from macro 'FFD_ATOMIC_INIT' > 54 | #define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val) > | ^ > In file included from > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/forkfd_qt.c:16: > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd.c:162:39: > error: initializer element is not a compile-time constant > 162 | static ffd_atomic_int forkfd_status = FFD_ATOMIC_INIT(0); > | ^~~~~~~~~~~~~~~~~~ > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_c11.h:54:37: > note: expanded from macro 'FFD_ATOMIC_INIT' > 54 | #define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val) > | ^~~~~~~~~~~~~~~~~~~~ > In file included from > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/forkfd_qt.c:16: > In file included from > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd.c:930: > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_freebsd.c:45:45: > error: initializer element is not a compile-time constant > 45 | static ffd_atomic_int system_forkfd_state = FFD_ATOMIC_INIT(1); > | ^~~~~~~~~~~~~~~~~~ > /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_c11.h:54:37: > note: expanded from macro 'FFD_ATOMIC_INIT' > 54 | #define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val) > | ^~~~~~~~~~~~~~~~~~~~ > 1 warning and 2 errors generated. > ... > > Thanks, > > Warner Losh <imp@freebsd.org> escreveu (sábado, 20/06/2026 à(s) 01:25): > >> The branch main has been updated by imp: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=28cecfe27964fdb67497800f5dcd5d3e1033727f >> >> commit 28cecfe27964fdb67497800f5dcd5d3e1033727f >> Author: Faraz Vahedi <kfv@kfv.io> >> AuthorDate: 2026-05-01 14:34:44 +0000 >> Commit: Warner Losh <imp@FreeBSD.org> >> CommitDate: 2026-06-20 00:23:28 +0000 >> >> libc: Restrict ATOMIC_VAR_INIT for C23 conformance >> >> Omit `ATOMIC_VAR_INIT` when targeting C23, where it has been removed. >> Retain it for earlier C standards and for C++ (as it still remains in >> C++23, albeit marked as deprecated since C17 and C++20.) >> >> Also separate `atomic_init` definitions from `ATOMIC_VAR_INIT` to >> avoid coupling with a deprecated initialisation mechanism. >> >> No functional change intended for `atomic_init`; this is purely a >> conformance and cleanup adjustment. >> >> Signed-off-by: Faraz Vahedi <kfv@kfv.io> >> Reviewed by: imp >> Pull Request: https://github.com/freebsd/freebsd-src/pull/2185 >> --- >> sys/sys/stdatomic.h | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/sys/sys/stdatomic.h b/sys/sys/stdatomic.h >> index c3f9b217519c..2d565ce991be 100644 >> --- a/sys/sys/stdatomic.h >> +++ b/sys/sys/stdatomic.h >> @@ -86,11 +86,17 @@ >> * 7.17.2 Initialization. >> */ >> >> +#if __ISO_C_VISIBLE < 2023 || defined(__cplusplus) >> #if defined(__CLANG_ATOMICS) >> #define ATOMIC_VAR_INIT(value) (value) >> -#define atomic_init(obj, value) __c11_atomic_init(obj, >> value) >> #else >> #define ATOMIC_VAR_INIT(value) { .__val = (value) } >> +#endif >> +#endif >> + >> +#if defined(__CLANG_ATOMICS) >> +#define atomic_init(obj, value) __c11_atomic_init(obj, >> value) >> +#else >> #define atomic_init(obj, value) ((void)((obj)->__val = >> (value))) >> #endif >> >> >> > > -- > Nuno Teixeira > FreeBSD UNIX: <eduardo@FreeBSD.org> Web: https://FreeBSD.org > -- Nuno Teixeira FreeBSD UNIX: <eduardo@FreeBSD.org> Web: https://FreeBSD.org [-- Attachment #2 --] <div dir="ltr"><div>(...)<br></div><div>and I forgot:<br><br></div><div>audio/cmus:<br><br>...<br>checking for program cc... /usr/bin/cc<br>checking for C11 (with atomics support)... no<br>configure failed.<br>===> Script "configure" failed unexpectedly.<br>Please report the problem to eduardo@FreeBSD.org [maintainer] and attach the<br>"/wrkdirs/usr/ports/audio/cmus/work/cmus-2.12.0/config.log" including the<br>output of the failure of your make command. Also, it might be a good idea to<br>provide an overview of all packages installed on your system (e.g. a<br>/usr/local/sbin/pkg-static info -g -Ea).<br>*** Error code 1<br>...</div><div><div><a href="https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p0cd7b5a3f54a_sa4ed783cee2/logs/cmus-2.12.0_3.log">https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p0cd7b5a3f54a_sa4ed783cee2/logs/cmus-2.12.0_3.log</a></div><a href="https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p0cd7b5a3f54a_sa4ed783cee2/logs/qt6-base-6.11.1.log">https://pkg-status.freebsd.org/beefy24/data/main-amd64-default/p0cd7b5a3f54a_sa4ed783cee2/logs/qt6-base-6.11.1.log</a><br><br></div><div>Any clues how to unbreak on ports side?<br><br></div><div>Thanks,</div><div><br></div><br><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Nuno Teixeira <<a href="mailto:eduardo@freebsd.org">eduardo@freebsd.org</a>> escreveu (domingo, 21/06/2026 à(s) 11:35):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div>Hello,<br><br></div><div>(poudriere-devel build at main-n286792-eafa181d51f7: Sat Jun 20)</div><div><br></div>I've found that ports-mgmt/portfmt started failing with:<br>...<br>FAILED: [code=1] /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/status.o<br>cc -std=gnu11 -O2 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -flto=thin -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wno-strict-prototypes -DPORTFMT_SUBPACKAGES=0 -MD -MF /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/status.o.d -I/wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build -I/wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6 -c -o /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/status.o /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c<br>/wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c:59:38: warning: call to undeclared function 'ATOMIC_VAR_INIT'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]<br> 59 | static atomic_int status_requested = ATOMIC_VAR_INIT(0);<br> | ^<br>/wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c:59:38: error: initializer element is not a compile-time constant<br> 59 | static atomic_int status_requested = ATOMIC_VAR_INIT(0);<br> | ^~~~~~~~~~~~~~~~~~<br>/wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c:60:32: error: initializer element is not a compile-time constant<br> 60 | static atomic_size_t scanned = ATOMIC_VAR_INIT(0);<br> | ^~~~~~~~~~~~~~~~~~<br>1 warning and 2 errors generated.<br>...<br><br></div>Same for devel/qt6-base:<br><br>...<br>FAILED: [code=1] src/corelib/CMakeFiles/Core.dir/io/forkfd_qt.c.o<br>/usr/bin/cc -DBACKTRACE_HEADER=\"execinfo.h\" -DCore_EXPORTS -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -<br>DQT_MOC_COMPAT -DQT_NO_CAST_TO_ASCII -DQT_NO_CONTEXTLESS_CONNECT -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QPAI<br>R -DQT_NO_QSNPRINTF -DQT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD=1 -DQT_NO_STD_FORMAT_SUPPORT -DQT_NO_USING_NAMESPACE -DQT_TYPESAFE_FLAGS -DQT_USE_NODISCARD_FILE_OPEN -DQT_USE_QSTRINGBUILDER -D_LARGEFILE64_SOURCE -D_LA<br>RGEFILE_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib/Core_autogen/include -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/include -I/wrkd<br>irs/usr/ports/devel/qt6-base/work/.build/include/QtCore -I/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib -I/wrkdirs/usr<br>/ports/devel/qt6-base/work/.build/src/corelib/global -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib/kernel -I/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/../3rdpart<br>y/tinycbor/src -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/include/QtCore/6.11.1 -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/include/QtCore/6.11.1/QtCore -I/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-ev<br>erywhere-src-6.11.1/src/corelib/../3rdparty/forkfd -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib/.rcc -I/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/mkspecs/freebsd-clang -isy<br>stem /usr/local/include -isystem /usr/local/include/glib-2.0 -isystem /usr/local/lib/glib-2.0/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -pipe -fstack-protector-strong -fno-strict-aliasing<br> -DNDEBUG -O3 -std=gnu11 -fPIC -fvisibility=hidden -Wall -Wextra -pthread -fcf-protection=full -ftrivial-auto-var-init=pattern -fstack-protector-strong -fexceptions -MD -MT src/corelib/CMakeFiles/Core.dir/io/fork<br>fd_qt.c.o -MF src/corelib/CMakeFiles/Core.dir/io/forkfd_qt.c.o.d -o src/corelib/CMakeFiles/Core.dir/io/forkfd_qt.c.o -c /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/forkfd_qt<br>.c<br>In file included from /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/forkfd_qt.c:16:<br>/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd.c:162:39: warning: call to undeclared function 'ATOMIC_VAR_INIT'; ISO C99 and later do not support i<br>mplicit function declarations [-Wimplicit-function-declaration]<br> 162 | static ffd_atomic_int forkfd_status = FFD_ATOMIC_INIT(0);<br> | ^<br>/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_c11.h:54:37: note: expanded from macro 'FFD_ATOMIC_INIT'<br> 54 | #define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val)<br> | ^<br>In file included from /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/forkfd_qt.c:16:<br>/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd.c:162:39: error: initializer element is not a compile-time constant<br> 162 | static ffd_atomic_int forkfd_status = FFD_ATOMIC_INIT(0);<br> | ^~~~~~~~~~~~~~~~~~<br>/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_c11.h:54:37: note: expanded from macro 'FFD_ATOMIC_INIT'<br> 54 | #define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val)<br> | ^~~~~~~~~~~~~~~~~~~~<br>In file included from /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/forkfd_qt.c:16:<br>In file included from /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd.c:930:<br>/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_freebsd.c:45:45: error: initializer element is not a compile-time constant<br> 45 | static ffd_atomic_int system_forkfd_state = FFD_ATOMIC_INIT(1);<br> | ^~~~~~~~~~~~~~~~~~<br>/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_c11.h:54:37: note: expanded from macro 'FFD_ATOMIC_INIT'<br> 54 | #define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val)<br> | ^~~~~~~~~~~~~~~~~~~~<br>1 warning and 2 errors generated.<br>...<br><br></div>Thanks,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Warner Losh <<a href="mailto:imp@freebsd.org" target="_blank">imp@freebsd.org</a>> escreveu (sábado, 20/06/2026 à(s) 01:25):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The branch main has been updated by imp:<br> <br> URL: <a href="https://cgit.FreeBSD.org/src/commit/?id=28cecfe27964fdb67497800f5dcd5d3e1033727f" rel="noreferrer" target="_blank">https://cgit.FreeBSD.org/src/commit/?id=28cecfe27964fdb67497800f5dcd5d3e1033727f</a><br> <br> commit 28cecfe27964fdb67497800f5dcd5d3e1033727f<br> Author: Faraz Vahedi <<a href="mailto:kfv@kfv.io" target="_blank">kfv@kfv.io</a>><br> AuthorDate: 2026-05-01 14:34:44 +0000<br> Commit: Warner Losh <imp@FreeBSD.org><br> CommitDate: 2026-06-20 00:23:28 +0000<br> <br> libc: Restrict ATOMIC_VAR_INIT for C23 conformance<br> <br> Omit `ATOMIC_VAR_INIT` when targeting C23, where it has been removed.<br> Retain it for earlier C standards and for C++ (as it still remains in<br> C++23, albeit marked as deprecated since C17 and C++20.)<br> <br> Also separate `atomic_init` definitions from `ATOMIC_VAR_INIT` to<br> avoid coupling with a deprecated initialisation mechanism.<br> <br> No functional change intended for `atomic_init`; this is purely a<br> conformance and cleanup adjustment.<br> <br> Signed-off-by: Faraz Vahedi <<a href="mailto:kfv@kfv.io" target="_blank">kfv@kfv.io</a>><br> Reviewed by: imp<br> Pull Request: <a href="https://github.com/freebsd/freebsd-src/pull/2185" rel="noreferrer" target="_blank">https://github.com/freebsd/freebsd-src/pull/2185</a><br> ---<br> sys/sys/stdatomic.h | 8 +++++++-<br> 1 file changed, 7 insertions(+), 1 deletion(-)<br> <br> diff --git a/sys/sys/stdatomic.h b/sys/sys/stdatomic.h<br> index c3f9b217519c..2d565ce991be 100644<br> --- a/sys/sys/stdatomic.h<br> +++ b/sys/sys/stdatomic.h<br> @@ -86,11 +86,17 @@<br> * 7.17.2 Initialization.<br> */<br> <br> +#if __ISO_C_VISIBLE < 2023 || defined(__cplusplus)<br> #if defined(__CLANG_ATOMICS)<br> #define ATOMIC_VAR_INIT(value) (value)<br> -#define atomic_init(obj, value) __c11_atomic_init(obj, value)<br> #else<br> #define ATOMIC_VAR_INIT(value) { .__val = (value) }<br> +#endif<br> +#endif<br> +<br> +#if defined(__CLANG_ATOMICS)<br> +#define atomic_init(obj, value) __c11_atomic_init(obj, value)<br> +#else<br> #define atomic_init(obj, value) ((void)((obj)->__val = (value)))<br> #endif<br> <br> <br> </blockquote></div><div><br clear="all"></div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><font color="#888888">Nuno Teixeira</font></div><div><div><font color="#888888"> FreeBSD UNIX: <eduardo@FreeBSD.org> Web: <a href="https://FreeBSD.org" rel="noreferrer" target="_blank">https://FreeBSD.org</a><br></font></div></div></div></div> </blockquote></div><div><br clear="all"></div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><font color="#888888">Nuno Teixeira</font></div><div><div><font color="#888888"> FreeBSD UNIX: <eduardo@FreeBSD.org> Web: <a href="https://FreeBSD.org" rel="noreferrer" target="_blank">https://FreeBSD.org</a><br></font></div></div></div></div>home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFDf7ULYwinK%2BEcpwifE6ofhQa8EiM5L9%2BWb-Q7YykRs0mFHPA>
