# ccswitch.strs: project-agnostic list of compiler switches,
# for which support is tested by default.

# when -foo is supported by the host or native compiler, add
# ``CFLAGS_foo = -foo'' to the respective ccenv variable file
# (that is, ccenv/host.mk or ccenv/native.mk).

# the make variable prefix is _CFLAGS_ or _NATIVE_CFLAGS_
# (_LDFLAGS_ or _NATIVE_LDFLAGS for -Wl, linker options),
# to which the compiler-switch, minus leading dashes and
# trailing equal-sign or comma, is appended; non-leading
# dashes and non-trailing equal-signs and commas are then
# substituted with underscores.

# the project-agnostic list below can be supplemented by a
# project-specific one, named project/config/ccswitch.strs.

# toolchain switches
-dumpmachine
-print-file-name=

# flavors and variants
-std=c89
-std=c99
-std=c11

# linker switches
-Wl,--print-map
-Wl,--no-undefined
-Wl,--verbose

# errors and warnings
-Wall
-Werror
-Wextra
-Wundef
-Wpedantic

# debugging
-g
-g0
-g1
-g2
-g3

# optimization
-O0
-O1
-O2
-O3
-Os