From 701af4984bfdbf43c9289a759f6d0b3ecbeef4b2 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 20 Sep 2015 13:33:27 +0200 Subject: [PATCH] Re #2908: compiler warnings treated as errors (use build option WARNINGS_AS_ERRORS=YES), enabled in commit tests for several platforms (where it passes) --- radio/src/Makefile | 10 ++++++- radio/src/targets/taranis/bootloader/Makefile | 5 ++++ radio/src/targets/taranis/usb_driver.c | 1 + radio/util/commit-tests.sh | 30 +++++++++---------- 4 files changed, 30 insertions(+), 16 deletions(-) diff --git a/radio/src/Makefile b/radio/src/Makefile index d3470df33..ef81c7a86 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -375,6 +375,10 @@ SIMU_AUDIO = NO # Values = NO, YES WATCHDOG_TEST = NO +# Treat compiler warnings as errors +# Values = NO, YES +WARNINGS_AS_ERRORS = NO + #------- END BUILD OPTIONS --------------------------- # Define programs and commands. @@ -1427,6 +1431,10 @@ CPPFLAGS += -Wno-strict-aliasing CPPFLAGS += -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits INCFLAGS = $(patsubst %,-I%,$(INCDIRS)) +ifeq ($(WARNINGS_AS_ERRORS), YES) + CPPFLAGS += -Werror +endif + MATH_LIB = -lm #---------------- Linker Options ---------------- @@ -1493,7 +1501,7 @@ bootloader.lbm: targets/taranis/bootloader/bootloader_ramBoot.bin $(BIN2LBM) $^ $@ .PHONY targets/taranis/bootloader/bootloader_ramBoot.bin: @echo "Building bootloader..." - $(MAKE) -C targets/taranis/bootloader PCB=$(PCB) PCBREV=$(PCBREV) NANO=$(NANO) + $(MAKE) -C targets/taranis/bootloader PCB=$(PCB) PCBREV=$(PCBREV) NANO=$(NANO) WARNINGS_AS_ERRORS=$(WARNINGS_AS_ERRORS) else ifeq ($(PCB), $(filter $(PCB), 9XRPRO AR9X)) bootloader.lbm: @echo "Fetching Mike's bootloader..." diff --git a/radio/src/targets/taranis/bootloader/Makefile b/radio/src/targets/taranis/bootloader/Makefile index 745ff1c4b..799a054cc 100755 --- a/radio/src/targets/taranis/bootloader/Makefile +++ b/radio/src/targets/taranis/bootloader/Makefile @@ -240,6 +240,11 @@ CPFLAGS = $(MCFLAGS) $(OPT) -gdwarf-2 -mthumb -fomit-frame-pointer -Wall -Wstric LDFLAGS = $(MCFLAGS) -mthumb -nostartfiles -T$(LDSCRIPT) -Wl,-Map=$(FULL_PRJ).map,--cref,--no-warn-mismatch,--gc-sections $(LIBDIR) $(NEWLIB_NANO_FLAGS) CPPFLAGS = $(MCFLAGS) $(OPT) -gdwarf-2 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -Wall -fverbose-asm $(DEFS) +ifeq ($(WARNINGS_AS_ERRORS), YES) + CPFLAGS += -Werror + CPPFLAGS += -Werror +endif + CPPFLAGS += $(CPPDEFS) CPFLAGS += $(CPPDEFS) CPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) diff --git a/radio/src/targets/taranis/usb_driver.c b/radio/src/targets/taranis/usb_driver.c index 448752fe3..9233962b1 100644 --- a/radio/src/targets/taranis/usb_driver.c +++ b/radio/src/targets/taranis/usb_driver.c @@ -35,6 +35,7 @@ */ #include "board_taranis.h" +#include "STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_OTG_Driver/inc/usb_dcd_int.h" int usbPlugged(void) { diff --git a/radio/util/commit-tests.sh b/radio/util/commit-tests.sh index 8aa8abaad..081f19942 100755 --- a/radio/util/commit-tests.sh +++ b/radio/util/commit-tests.sh @@ -8,8 +8,8 @@ cd radio/src/ # OpenTX on 9X stock make clean -make PCB=9X EXT=FRSKY HELI=YES -make simu PCB=9X EXT=FRSKY HELI=YES +make PCB=9X EXT=FRSKY HELI=YES +make simu PCB=9X EXT=FRSKY HELI=YES make gtests EXT=FRSKY HELI=YES ./gtests @@ -19,35 +19,35 @@ make PCB=9X EXT=MAVLINK HELI=YES # OpenTX on Taranis X9E make clean -make PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES -make simu PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES -make gtests PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES +make PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES WARNINGS_AS_ERRORS=YES +make simu PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES WARNINGS_AS_ERRORS=YES +make gtests PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES WARNINGS_AS_ERRORS=YES ./gtests # OpenTX on Taranis Plus make clean -make PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES -make simu PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES -make gtests PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES +make PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +make simu PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +make gtests PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES ./gtests # OpenTX on Taranis make clean -make PCB=TARANIS HELI=YES LUA=YES -make simu PCB=TARANIS HELI=YES LUA=YES -make gtests PCB=TARANIS HELI=YES LUA=YES +make PCB=TARANIS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +make simu PCB=TARANIS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +make gtests PCB=TARANIS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES ./gtests # OpenTX on Sky9x make clean -make PCB=SKY9X HELI=YES -make simu PCB=SKY9X HELI=YES -make gtests PCB=SKY9X HELI=YES +make PCB=SKY9X HELI=YES WARNINGS_AS_ERRORS=YES +make simu PCB=SKY9X HELI=YES WARNINGS_AS_ERRORS=YES +make gtests PCB=SKY9X HELI=YES WARNINGS_AS_ERRORS=YES ./gtests # OpenTX on Gruvin9x make clean -make PCB=GRUVIN9X EXT=FRSKY SDCARD=YES +make PCB=GRUVIN9X EXT=FRSKY SDCARD=YES make simu PCB=GRUVIN9X EXT=FRSKY SDCARD=YES # OpenTX on MEGA2560