diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2025-07-09 10:22:00 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2025-07-26 14:19:51 -0400 |
commit | 1b1e5a4707d681e4b38df56e83db1be9c07723b8 (patch) | |
tree | 818d23177c1b2ab338c28ad84ff4a496dc0c9602 /build/flags.mk | |
parent | 54260a40b37890bb6ee3b62659abd3b13c89a0aa (diff) | |
download | bfs-1b1e5a4707d681e4b38df56e83db1be9c07723b8.tar.xz |
build: Use C23 if possible
For broader compiler support, we try both -std=c23 and -std=c2x. If
neither is supported, we fall back to -std=c17, but we will start
requiring some C23 features as extensions in this mode.
Diffstat (limited to 'build/flags.mk')
-rw-r--r-- | build/flags.mk | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/build/flags.mk b/build/flags.mk index d6f9499..00876d1 100644 --- a/build/flags.mk +++ b/build/flags.mk @@ -8,7 +8,7 @@ include gen/vars.mk # Internal flags _CPPFLAGS := -Isrc -Igen -include src/prelude.h -_CFLAGS := -std=c17 +_CFLAGS := _LDFLAGS := _LDLIBS := @@ -58,8 +58,7 @@ _CFLAGS += ${SAN_CFLAGS,${SAN}} YESLIBS := ${NOT,${_MSAN}${_TSAN}${_TYSAN}} NOLIBS ?= ${NOT,${YESLIBS}} -# gcov only intercepts fork()/exec() with -std=gnu* -GCOV_CFLAGS,y := -std=gnu17 --coverage +GCOV_CFLAGS,y := --coverage _CFLAGS += ${GCOV_CFLAGS,${_GCOV}} LINT_CPPFLAGS,y := -D_FORTIFY_SOURCE=3 -DBFS_LINT @@ -91,6 +90,10 @@ include build/exports.mk # Conditionally-supported flags AUTO_FLAGS := \ + gen/flags/std.mk \ + gen/flags/bind-now.mk \ + gen/flags/deps.mk \ + gen/flags/pthread.mk \ gen/flags/Wformat.mk \ gen/flags/Wimplicit-fallthrough.mk \ gen/flags/Wimplicit.mk \ @@ -99,10 +102,7 @@ AUTO_FLAGS := \ gen/flags/Wshadow.mk \ gen/flags/Wsign-compare.mk \ gen/flags/Wstrict-prototypes.mk \ - gen/flags/Wundef-prefix.mk \ - gen/flags/bind-now.mk \ - gen/flags/deps.mk \ - gen/flags/pthread.mk + gen/flags/Wundef-prefix.mk gen/flags.mk: ${AUTO_FLAGS} ${MSG} "[ GEN] $@" |