From nobody Sun Jun 21 10:35:01 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gjnlr20Cnz6jSss for ; Sun, 21 Jun 2026 10:35:20 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gjnlr0fYBz3NX4 for ; Sun, 21 Jun 2026 10:35:20 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782038120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7KEPxjUrLDZEXT1Q4DvKGVcNPZaR8mDq2JQhL0gV1s8=; b=SxV05Dmho2I8z/geXyUpqIhu9EkBvMAzhNpQecIBbFs0Wn3j8I0u4UXuvVmdN63lbm8x7i E/GHUC4gcJebirZZMZm07cU+nq10W7sYZUYvFW422V3CC7lBnh7z1VhFTlgSeSLcO+/SCR xoLNP5/QMDxsAs8yYovvGWuCtlDoFPxKvNO+zeUrvx7ankvJ1Wj8fgt7YH+gvq+QH5kTN2 8Zv0lPPh5AX/9unnx1erpnY3pxJ2pkzklfOgur3Ji8ZTypagFDpOIYX1ynQYKrjk2Lekug vFkju6Y0AlLgXZSnG6zgtr85ZbMJJXsvixA/ZcPdDAfyGx3kldeh3GtUjUraNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1782038120; a=rsa-sha256; cv=none; b=EAee48Uiqt7vUnBb8Cf3Ebgp+wFnK5E5g+81g+1o/Tz/ggZH9TyOivw/oRylg1Hl49XioQ ALLKCn9htG7s0wJv6sVmP0UegwpJVIvkNR8n2zlLC88AlrDA+G4DfqkilLMK60NIABsMRW xxZ1PYsUiOXajkK4yfTyjUZxrfS5A0xYgf5mJxdEr1dfGn1xPipeBGbg3HFeIP4X1l1+tA fH3Tx+fkUWUYBGBp9qkw6ZGSO7p1yMuUsrDg/h8+iBPV16yGqMLgW4TCLeQiQYQU2VcAMr myhhN/pD2ICxMZgleWz42HV1XoNPIqrwL7fpx+qxgnA10cSRa7f3EMKBcjV7bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782038120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7KEPxjUrLDZEXT1Q4DvKGVcNPZaR8mDq2JQhL0gV1s8=; b=K+0ba1lPhuShGRDOFp7BEAof+h/jQA1FTG6I1fD9EzXNKzxhESvalhHBnzenk1RIrRUtEG jxThQlBcUaDTQp72oYvZIdFFIt9GnR5V/r/Qy7ccSqMN4sZ1MrvVjXoSBwpVF1VHE3/Bnj GpytYov5hM4N2KJBsmt66L30K+qnRzjASFFvmu788iopTFxysKWhKLI3UJi+k2JhIvwkOl q/A7mHdL6PASxL22GdWa65/Nhvy4snlULwUfR5HtjN98xUOd0H0tM2vdKOTDmV72qEhyNk p7w8OiDJotyVNt3ZUMXK++dAUKslIN3vPGAgiw78Z6ZT3VrtqzqBAAs3DQBAQg== Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4gjnlq4Tzxzt26 for ; Sun, 21 Jun 2026 10:35:19 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5ad544cde93so373550e87.3 for ; Sun, 21 Jun 2026 03:35:19 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ+p/irQN3zVcBU1DqmNbgWOhQ6YSVC0dg2GgTh/LYkcAV3pVojxGLThYma60LTOLi5TrEfU+pjo9IfFqfR7mdFxEZkHaQ==@freebsd.org X-Gm-Message-State: AOJu0YypJV/wbLv8ycMTqhHnP+djWxTN6Xb6bnXls3/Wzpw6MePQTfyH LHw6pj61DdQkWqEmbI16vDPTppfAWS8lLpjt91wfPHKPu3hcGdH5jZd7cyNm7nbZzQG//n8NRTy xPPERz8gEYISiBgiqoBspBW+8nAi3cGw= X-Received: by 2002:a05:651c:220e:b0:396:8491:3135 with SMTP id 38308e7fff4ca-3998a21cd16mr11135031fa.1.1782038113069; Sun, 21 Jun 2026 03:35:13 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: <6a35ddd3.22963.721d614@gitrepo.freebsd.org> In-Reply-To: <6a35ddd3.22963.721d614@gitrepo.freebsd.org> From: Nuno Teixeira Date: Sun, 21 Jun 2026 11:35:01 +0100 X-Gmail-Original-Message-ID: X-Gm-Features: AVVi8CcRe9IkLHl788leqhm6MNddnICUtbUKvA7AJqZcVfdjjd-1zUupr0P_dRU Message-ID: Subject: Re: git: 28cecfe27964 - main - libc: Restrict ATOMIC_VAR_INIT for C23 conformance To: Warner Losh Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Faraz Vahedi Content-Type: multipart/alternative; boundary="000000000000b4af980654c114d2" --000000000000b4af980654c114d2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, (poudriere-devel build at main-n286792-eafa181d51f7: Sat Jun 20) I've found that ports-mgmt/portfmt started failing with: ... FAILED: [code=3D1] /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/st= atus.o cc -std=3Dgnu11 -O2 -g -W -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -flto=3Dthin -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wno-strict-prototypes -DPORTFMT_SUBPACKAGES=3D0 -MD -MF /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/st= atus.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/st= atus.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 =3D 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 =3D 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 =3D ATOMIC_VAR_INIT(0); | ^~~~~~~~~~~~~~~~~~ 1 warning and 2 errors generated. ... Same for devel/qt6-base: ... FAILED: [code=3D1] src/corelib/CMakeFiles/Core.dir/io/forkfd_qt.c.o /usr/bin/cc -DBACKTRACE_HEADER=3D\"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=3D1 - 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=3D1 -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=3D_LIBCPP_HARDENING_MODE_FAST -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corelib/Core_autogen/in= clude -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/c= orelib -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/c= orelib/../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/QtCor= e -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/mkspe= cs/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=3Dgnu11 -fPIC -fvisibility=3Dhidden -Wall -Wextra -pthre= ad -fcf-protection=3Dfull -ftrivial-auto-var-init=3Dpattern -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/cor= elib/io/forkfd_qt .c In file included from /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/cor= elib/io/forkfd_qt.c:16: /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/cor= elib/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 =3D FFD_ATOMIC_INIT(0); | ^ /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/cor= elib/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/cor= elib/io/forkfd_qt.c:16: /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/cor= elib/io/../../3rdparty/forkfd/forkfd.c:162:39: error: initializer element is not a compile-time constant 162 | static ffd_atomic_int forkfd_status =3D FFD_ATOMIC_INIT(0); | ^~~~~~~~~~~~~~~~~~ /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/cor= elib/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/cor= elib/io/forkfd_qt.c:16: In file included from /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/cor= elib/io/../../3rdparty/forkfd/forkfd.c:930: /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/cor= elib/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 =3D FFD_ATOMIC_INIT(1); | ^~~~~~~~~~~~~~~~~~ /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/cor= elib/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 escreveu (s=C3=A1bado, 20/06/2026 =C3=A0(s) 0= 1:25): > The branch main has been updated by imp: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D28cecfe27964fdb67497800f5dcd5d3= e1033727f > > commit 28cecfe27964fdb67497800f5dcd5d3e1033727f > Author: Faraz Vahedi > AuthorDate: 2026-05-01 14:34:44 +0000 > Commit: Warner Losh > 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 > 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 =3D (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 =3D > (value))) > #endif > > > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --000000000000b4af980654c114d2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

(poudriere-devel b= uild at=C2=A0main-n286792-eafa181d51f7: Sat Jun 20)

I&#= 39;ve found that ports-mgmt/portfmt started failing with:
...
FAILED:= [code=3D1] /wrkdirs/usr/ports/ports-mgmt/portfmt/work/portfmt-1.1.6/_build= /portscan/status.o
cc -std=3Dgnu11 -O2 -g -W -Wall -Wextra -Wmissing-pro= totypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -flto=3Dt= hin -O2 -pipe =C2=A0-fstack-protector-strong -fno-strict-aliasing =C2=A0-Wn= o-strict-prototypes =C2=A0-DPORTFMT_SUBPACKAGES=3D0 -MD -MF /wrkdirs/usr/po= rts/ports-mgmt/portfmt/work/portfmt-1.1.6/_build/portscan/status.o.d -I/wrk= dirs/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/po= rts/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 d= o not support implicit function declarations [-Wimplicit-function-declarati= on]
=C2=A0 =C2=A059 | static atomic_int status_requested =3D ATOMIC_VAR_= INIT(0);
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0^
/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
=C2=A0 =C2=A059 | static atomic_int status_requested =3D = ATOMIC_VAR_INIT(0);
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/por= ts-mgmt/portfmt/work/portfmt-1.1.6/portscan/status.c:60:32: error: initiali= zer element is not a compile-time constant
=C2=A0 =C2=A060 | static atom= ic_size_t scanned =3D ATOMIC_VAR_INIT(0);
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~~~
1 warning and 2 errors= generated.
...

Same for devel/qt6-base:

...
FAIL= ED: [code=3D1] src/corelib/CMakeFiles/Core.dir/io/forkfd_qt.c.o
/usr/bin= /cc -DBACKTRACE_HEADER=3D\"execinfo.h\" -DCore_EXPORTS -DQT_ASCII= _CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_CORE_LIB -DQT_DEPRECATED_WARNING= S -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=3D1 -
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_QS= NPRINTF -DQT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD=3D1 -DQT_NO_STD_FORMAT_SUPPO= RT -DQT_NO_USING_NAMESPACE -DQT_TYPESAFE_FLAGS -DQT_USE_NODISCARD_FILE_OPEN= -DQT_USE_QSTRINGBUILDER -D_LARGEFILE64_SOURCE -D_LA
RGEFILE_SOURCE -D_L= IBCPP_HARDENING_MODE=3D_LIBCPP_HARDENING_MODE_FAST -I/wrkdirs/usr/ports/dev= el/qt6-base/work/.build/src/corelib/Core_autogen/include -I/wrkdirs/usr/por= ts/devel/qt6-base/work/.build/include -I/wrkd
irs/usr/ports/devel/qt6-ba= se/work/.build/include/QtCore -I/wrkdirs/usr/ports/devel/qt6-base/work/qtba= se-everywhere-src-6.11.1/src/corelib -I/wrkdirs/usr/ports/devel/qt6-base/wo= rk/.build/src/corelib -I/wrkdirs/usr
/ports/devel/qt6-base/work/.build/s= rc/corelib/global -I/wrkdirs/usr/ports/devel/qt6-base/work/.build/src/corel= ib/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/qt= 6-base/work/.build/include/QtCore/6.11.1 -I/wrkdirs/usr/ports/devel/qt6-bas= e/work/.build/include/QtCore/6.11.1/QtCore -I/wrkdirs/usr/ports/devel/qt6-b= ase/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/u= sr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/mkspecs/freebsd-c= lang -isy
stem /usr/local/include -isystem /usr/local/include/glib-2.0 -= isystem /usr/local/lib/glib-2.0/include -O2 -pipe =C2=A0-fstack-protector-s= trong -fno-strict-aliasing -pipe =C2=A0-fstack-protector-strong -fno-strict= -aliasing
=C2=A0-DNDEBUG -O3 -std=3Dgnu11 -fPIC -fvisibility=3Dhidden -W= all -Wextra -pthread -fcf-protection=3Dfull -ftrivial-auto-var-init=3Dpatte= rn -fstack-protector-strong -fexceptions -MD -MT src/corelib/CMakeFiles/Cor= e.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/forkf= d_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 = 9;ATOMIC_VAR_INIT'; ISO C99 and later do not support i
mplicit funct= ion declarations [-Wimplicit-function-declaration]
=C2=A0 162 | static f= fd_atomic_int forkfd_status =3D FFD_ATOMIC_INIT(0);
=C2=A0 =C2=A0 =C2=A0= | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
/wrkdir= s/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 'F= FD_ATOMIC_INIT'
=C2=A0 =C2=A054 | #define FFD_ATOMIC_INIT(val) =C2= =A0 =C2=A0 =C2=A0 =C2=A0ATOMIC_VAR_INIT(val)
=C2=A0 =C2=A0 =C2=A0 | =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
In file included from= /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-src-6.11.1/src/co= relib/io/forkfd_qt.c:16:
/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-e= verywhere-src-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd.c:162:39: = error: initializer element is not a compile-time constant
=C2=A0 162 | s= tatic ffd_atomic_int forkfd_status =3D FFD_ATOMIC_INIT(0);
=C2=A0 =C2=A0= =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~= ~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-s= rc-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_c11.h:54:37: note: ex= panded from macro 'FFD_ATOMIC_INIT'
=C2=A0 =C2=A054 | #define FF= D_ATOMIC_INIT(val) =C2=A0 =C2=A0 =C2=A0 =C2=A0ATOMIC_VAR_INIT(val)
=C2= =A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~= ~~~~~~~~~~~~~~~~
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 fil= e included from /wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-sr= c-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
=C2=A0 =C2=A045 | static ffd_atomic_int system_= forkfd_state =3D FFD_ATOMIC_INIT(1);
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~= ~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/qt6-base/work/qtbase-everywhere-s= rc-6.11.1/src/corelib/io/../../3rdparty/forkfd/forkfd_c11.h:54:37: note: ex= panded from macro 'FFD_ATOMIC_INIT'
=C2=A0 =C2=A054 | #define FF= D_ATOMIC_INIT(val) =C2=A0 =C2=A0 =C2=A0 =C2=A0ATOMIC_VAR_INIT(val)
=C2= =A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~= ~~~~~~~~~~~~~~~~
1 warning and 2 errors generated.
...

T= hanks,

Warner Losh <imp@freebsd.org> escreveu (s=C3=A1bado, 20/06/2026 =C3=A0(s) 0= 1:25):
The branc= h main has been updated by imp:

URL: https://cgit.= FreeBSD.org/src/commit/?id=3D28cecfe27964fdb67497800f5dcd5d3e1033727f
commit 28cecfe27964fdb67497800f5dcd5d3e1033727f
Author:=C2=A0 =C2=A0 =C2=A0Faraz Vahedi <kfv@kfv.io>
AuthorDate: 2026-05-01 14:34:44 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-06-20 00:23:28 +0000

=C2=A0 =C2=A0 libc: Restrict ATOMIC_VAR_INIT for C23 conformance

=C2=A0 =C2=A0 Omit `ATOMIC_VAR_INIT` when targeting C23, where it has been = removed.
=C2=A0 =C2=A0 Retain it for earlier C standards and for C++ (as it still re= mains in
=C2=A0 =C2=A0 C++23, albeit marked as deprecated since C17 and C++20.)

=C2=A0 =C2=A0 Also separate `atomic_init` definitions from `ATOMIC_VAR_INIT= ` to
=C2=A0 =C2=A0 avoid coupling with a deprecated initialisation mechanism.
=C2=A0 =C2=A0 No functional change intended for `atomic_init`; this is pure= ly a
=C2=A0 =C2=A0 conformance and cleanup adjustment.

=C2=A0 =C2=A0 Signed-off-by: Faraz Vahedi <kfv@kfv.io>
=C2=A0 =C2=A0 Reviewed by: imp
=C2=A0 =C2=A0 Pull Request: https://github.com/freeb= sd/freebsd-src/pull/2185
---
=C2=A0sys/sys/stdatomic.h | 8 +++++++-
=C2=A01 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 @@
=C2=A0 * 7.17.2 Initialization.
=C2=A0 */

+#if __ISO_C_VISIBLE < 2023 || defined(__cplusplus)
=C2=A0#if defined(__CLANG_ATOMICS)
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 ATOMIC_VAR_INIT(value)=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 (value)
-#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 atomic_init(obj, value)=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0__c11_atomic_init(obj, value)
=C2=A0#else
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 ATOMIC_VAR_INIT(value)=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 { .__val =3D (value) }
+#endif
+#endif
+
+#if defined(__CLANG_ATOMICS)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 atomic_init(obj, value)=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0__c11_atomic_init(obj, value)
+#else
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 atomic_init(obj, value)=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0((void)((obj)->__val =3D (value)))
=C2=A0#endif




--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--000000000000b4af980654c114d2--