Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Feb 2025 14:17:57 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: ca4eddea97c5 - main - src: Use gnu17 as the default C standard for userland instead of gnu99
Message-ID:  <202502111417.51BEHvPX060720@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=ca4eddea97c54a567c25e0fcf4641a6885f33bdf

commit ca4eddea97c54a567c25e0fcf4641a6885f33bdf
Author:     Minsoo Choo <minsoochoo0122@proton.me>
AuthorDate: 2025-01-09 16:13:06 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-02-11 14:16:25 +0000

    src: Use gnu17 as the default C standard for userland instead of gnu99
    
    Tracking newer versions of C (and C++) permits assuming newer language
    features in the base system.  Some C11 extensions are already used in
    the base system but implemented on top of GNU C extensions such as
    _Alignas and _Static_assert.  In some cases the fallback versions in
    cdefs.h are more limited than the native C11 extensions.
    
    Even though C11 is the next major version of C, C17 is chosen instead
    since C17 does not add new features to C but merely fixes defects in
    C11.  It is also well supported by a wide range of clang (7.0.0+) and
    GCC (8.1+) versions.
    
    Along with changing the default, this change also removes explicit
    requests for c11 via the CSTD variable in various Makefiles.
    
    Libraries and binaries for ZFS continue to use c99.
    
    PR:             284039 (exp-run)
    Reviewed by:    imp, arichardson, emaste
    Differential Revision:  https://reviews.freebsd.org/D43237
---
 libexec/tftpd/tests/Makefile | 1 -
 sbin/newfs_msdos/Makefile    | 1 -
 share/mk/bsd.sys.mk          | 3 +--
 usr.bin/sort/Makefile        | 1 -
 usr.bin/zstd/Makefile        | 1 -
 usr.sbin/makefs/Makefile     | 1 -
 6 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/libexec/tftpd/tests/Makefile b/libexec/tftpd/tests/Makefile
index 661120335ace..d1faca03331e 100644
--- a/libexec/tftpd/tests/Makefile
+++ b/libexec/tftpd/tests/Makefile
@@ -4,6 +4,5 @@ ATF_TESTS_C=	functional
 TEST_METADATA.functional+=	timeout=15
 
 LIBADD=	util
-CSTD=	c11
 
 .include <bsd.test.mk>
diff --git a/sbin/newfs_msdos/Makefile b/sbin/newfs_msdos/Makefile
index a3ea6a6a6750..bd5b3486b6b6 100644
--- a/sbin/newfs_msdos/Makefile
+++ b/sbin/newfs_msdos/Makefile
@@ -9,7 +9,6 @@ SRCS=	newfs_msdos.c mkfs_msdos.c
 .if ${MACHINE_CPUARCH} == "arm"
 WARNS?= 3
 .endif
-CSTD=	c11
 
 HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index c136bf1e1aff..63496e9b8ccd 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -10,8 +10,7 @@
 
 .include <bsd.compiler.mk>
 
-# the default is gnu99 for now
-CSTD?=		gnu99
+CSTD?=		gnu17
 
 .if ${CSTD} == "c89" || ${CSTD} == "c90"
 CFLAGS+=	-std=iso9899:1990
diff --git a/usr.bin/sort/Makefile b/usr.bin/sort/Makefile
index 561af217af79..46cc431edd31 100644
--- a/usr.bin/sort/Makefile
+++ b/usr.bin/sort/Makefile
@@ -3,7 +3,6 @@
 PACKAGE= runtime
 PROG=	sort
 SRCS=	bwstring.c coll.c file.c mem.c radixsort.c sort.c vsort.c
-CSTD=	c11
 
 sort.1: sort.1.in
 	sed ${MAN_SUB} ${.ALLSRC} >${.TARGET}
diff --git a/usr.bin/zstd/Makefile b/usr.bin/zstd/Makefile
index dd54acbf83cd..0e73e2eb0dd2 100644
--- a/usr.bin/zstd/Makefile
+++ b/usr.bin/zstd/Makefile
@@ -25,7 +25,6 @@ MLINKS=	zstd.1 unzstd.1 \
 	zstd.1 zstdcat.1 \
 	zstd.1 zstdmt.1
 
-CSTD=c11
 WARNS?=	2
 LIBADD=	zstd
 .PATH: ${SRCTOP}/sys/contrib/zstd/programs
diff --git a/usr.sbin/makefs/Makefile b/usr.sbin/makefs/Makefile
index 75733714fcc2..47a41cfac813 100644
--- a/usr.sbin/makefs/Makefile
+++ b/usr.sbin/makefs/Makefile
@@ -15,7 +15,6 @@ SRCS=	cd9660.c \
 MAN=	makefs.8
 
 NO_WCAST_ALIGN=
-CSTD=	c11
 
 .if ${MK_ZFS} != "no"
 SRCS+=	zfs.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502111417.51BEHvPX060720>