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>