Newer versions of BSD ship compilers/packages which no longer
throw warnings, so activate the warnings on all platforms. Also LTO
(link-time optimization) seems to work on the test machines now,
so activate this as well.
Tested on FreeBSD-13.1 with clang-13.0.0 and on NetBSD-9.3 with
gcc-7.5.0.
CPPFLAGS += -I$(lls_suite_dir)
CPPFLAGS += -I$(yy_build_dir)
CPPFLAGS += $(lopsub_cppflags)
CPPFLAGS += -I$(lls_suite_dir)
CPPFLAGS += -I$(yy_build_dir)
CPPFLAGS += $(lopsub_cppflags)
+CPPFLAGS += -Wunused-macros
STRICT_CFLAGS += -fno-strict-aliasing
STRICT_CFLAGS += -ftrapv
STRICT_CFLAGS += -fno-strict-aliasing
STRICT_CFLAGS += -ftrapv
STRICT_CFLAGS += -Wno-sign-compare -Wno-unknown-pragmas
STRICT_CFLAGS += -Wdeclaration-after-statement
STRICT_CFLAGS += -Wformat -Wformat-security -Wmissing-format-attribute
STRICT_CFLAGS += -Wno-sign-compare -Wno-unknown-pragmas
STRICT_CFLAGS += -Wdeclaration-after-statement
STRICT_CFLAGS += -Wformat -Wformat-security -Wmissing-format-attribute
+STRICT_CFLAGS += -fdata-sections -ffunction-sections
+STRICT_CFLAGS += -Wstrict-prototypes
+STRICT_CFLAGS += -Wshadow
+
+LDFLAGS += -Wl,--gc-sections
ifeq ($(ENABLE_UBSAN), yes)
STRICT_CFLAGS += -fsanitize=undefined
ifeq ($(ENABLE_UBSAN), yes)
STRICT_CFLAGS += -fsanitize=undefined
ifeq ($(uname_s),Linux)
# these cause warnings on *BSD
ifeq ($(uname_s),Linux)
# these cause warnings on *BSD
- CPPFLAGS += -Wunused-macros
- STRICT_CFLAGS += -fdata-sections -ffunction-sections
- STRICT_CFLAGS += -Wstrict-prototypes
- STRICT_CFLAGS += -Wshadow
STRICT_CFLAGS += -Wunused -Wall
STRICT_CFLAGS += -Wunused -Wall
- LDFLAGS += -Wl,--gc-sections
endif
cc-option = $(shell \
endif
cc-option = $(shell \