From bbe7c77b9125194a005847e4dc274af05eb90ae7 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sun, 19 Feb 2012 15:02:28 +0000
Subject: [PATCH] Update ModuleTest build test to use as many compile warnings
 as possible. Set -Werror so that any generated warnings produce an error.

---
 BuildTests/ModuleTest/makefile.avr8  | 39 ++++++++++++++++++----------
 BuildTests/ModuleTest/makefile.uc3   | 28 ++++++++++++++++++--
 BuildTests/ModuleTest/makefile.xmega | 28 ++++++++++++++++++--
 3 files changed, 78 insertions(+), 17 deletions(-)

diff --git a/BuildTests/ModuleTest/makefile.avr8 b/BuildTests/ModuleTest/makefile.avr8
index c05852bc6..b4c319540 100644
--- a/BuildTests/ModuleTest/makefile.avr8
+++ b/BuildTests/ModuleTest/makefile.avr8
@@ -220,16 +220,35 @@ CFLAGS += -fpack-struct
 CFLAGS += -fshort-enums
 CFLAGS += -fno-strict-aliasing
 CFLAGS += -fno-split-wide-types
-CFLAGS += -Wall
-CFLAGS += -Wstrict-prototypes
-#CFLAGS += -mshort-calls
-#CFLAGS += -fno-unit-at-a-time
-#CFLAGS += -Wundef
-#CFLAGS += -Wunreachable-code
-#CFLAGS += -Wsign-compare
 CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
 CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
 CFLAGS += $(CSTANDARD)
+CFLAGS += -Werror
+CFLAGS += -Wall
+CFLAGS += -Wextra
+CFLAGS += -Wstrict-prototypes
+CFLAGS += -Wformat=2
+CFLAGS += -Winit-self
+CFLAGS += -Wswitch-enum
+CFLAGS += -Wunused
+CFLAGS += -Wundef
+CFLAGS += -Wpointer-arith
+CFLAGS += -Wcast-align
+CFLAGS += -Wwrite-strings
+CFLAGS += -Wlogical-op
+CFLAGS += -Wmissing-parameter-type
+CFLAGS += -Wmissing-declarations
+CFLAGS += -Wmissing-field-initializers
+CFLAGS += -Wmissing-format-attribute
+CFLAGS += -Wredundant-decls
+CFLAGS += -Wnested-externs
+CFLAGS += -Woverlength-strings
+#CFLAGS += -Wswitch-default
+#CFLAGS += -Wc++-compat
+#CFLAGS += -Wcast-qual
+#CFLAGS += -Wconversion
+#CFLAGS += -Wjump-misses-init
+#CFLAGS += -pedantic
 
 
 #---------------- Compiler Options C++ ----------------
@@ -249,14 +268,8 @@ CPPFLAGS += -fshort-enums
 CPPFLAGS += -fno-exceptions
 CPPFLAGS += -Wall
 CPPFLAGS += -Wundef
-#CPPFLAGS += -mshort-calls
-#CPPFLAGS += -fno-unit-at-a-time
-#CPPFLAGS += -Wstrict-prototypes
-#CPPFLAGS += -Wunreachable-code
-#CPPFLAGS += -Wsign-compare
 CPPFLAGS += -Wa,-adhlns=$(<:%.cpp=$(OBJDIR)/%.lst)
 CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
-#CPPFLAGS += $(CSTANDARD)
 
 
 #---------------- Assembler Options ----------------
diff --git a/BuildTests/ModuleTest/makefile.uc3 b/BuildTests/ModuleTest/makefile.uc3
index 610de46ed..fe2683234 100644
--- a/BuildTests/ModuleTest/makefile.uc3
+++ b/BuildTests/ModuleTest/makefile.uc3
@@ -186,12 +186,36 @@ CFLAGS += -funsigned-char
 CFLAGS += -funsigned-bitfields
 CFLAGS += -ffunction-sections
 CFLAGS += -fno-strict-aliasing
-CFLAGS += -Wall
-CFLAGS += -Wstrict-prototypes
 CFLAGS += -masm-addr-pseudos
 CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
 CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
 CFLAGS += $(CSTANDARD)
+CFLAGS += -Werror
+CFLAGS += -Wall
+CFLAGS += -Wextra
+CFLAGS += -Wstrict-prototypes
+CFLAGS += -Wformat=2
+CFLAGS += -Winit-self
+CFLAGS += -Wswitch-enum
+CFLAGS += -Wunused
+CFLAGS += -Wundef
+CFLAGS += -Wpointer-arith
+#CFLAGS += -Wcast-align
+CFLAGS += -Wwrite-strings
+CFLAGS += -Wlogical-op
+CFLAGS += -Wmissing-parameter-type
+CFLAGS += -Wmissing-declarations
+CFLAGS += -Wmissing-field-initializers
+CFLAGS += -Wmissing-format-attribute
+#CFLAGS += -Wredundant-decls
+CFLAGS += -Wnested-externs
+CFLAGS += -Woverlength-strings
+#CFLAGS += -Wswitch-default
+#CFLAGS += -Wc++-compat
+#CFLAGS += -Wcast-qual
+#CFLAGS += -Wconversion
+#CFLAGS += -Wjump-misses-init
+#CFLAGS += -pedantic
 
 
 #---------------- Compiler Options C++ ----------------
diff --git a/BuildTests/ModuleTest/makefile.xmega b/BuildTests/ModuleTest/makefile.xmega
index fd54a57c9..e666704e3 100644
--- a/BuildTests/ModuleTest/makefile.xmega
+++ b/BuildTests/ModuleTest/makefile.xmega
@@ -209,11 +209,35 @@ CFLAGS += -fno-inline-small-functions
 CFLAGS += -fpack-struct
 CFLAGS += -fshort-enums
 CFLAGS += -fno-strict-aliasing
-CFLAGS += -Wall
-CFLAGS += -Wstrict-prototypes
 CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
 CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
 CFLAGS += $(CSTANDARD)
+CFLAGS += -Werror
+CFLAGS += -Wall
+CFLAGS += -Wextra
+CFLAGS += -Wstrict-prototypes
+CFLAGS += -Wformat=2
+CFLAGS += -Winit-self
+CFLAGS += -Wswitch-enum
+CFLAGS += -Wunused
+CFLAGS += -Wundef
+CFLAGS += -Wpointer-arith
+CFLAGS += -Wcast-align
+CFLAGS += -Wwrite-strings
+CFLAGS += -Wlogical-op
+CFLAGS += -Wmissing-parameter-type
+CFLAGS += -Wmissing-declarations
+CFLAGS += -Wmissing-field-initializers
+CFLAGS += -Wmissing-format-attribute
+CFLAGS += -Wredundant-decls
+CFLAGS += -Wnested-externs
+CFLAGS += -Woverlength-strings
+#CFLAGS += -Wswitch-default
+#CFLAGS += -Wc++-compat
+#CFLAGS += -Wcast-qual
+#CFLAGS += -Wconversion
+#CFLAGS += -Wjump-misses-init
+#CFLAGS += -pedantic
 
 
 #---------------- Compiler Options C++ ----------------
-- 
GitLab