From: Pierre Habouzit Date: Fri, 27 Oct 2006 22:44:00 +0000 (+0200) Subject: updates, use compiler warnings, we have a good one, do that. X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=commitdiff_plain;h=1f2ac11f2012a0cc6c8a9fb01aed29b267411539;hp=21d34545d4204a0f5672c8bdbeb6a79803eb3a54 updates, use compiler warnings, we have a good one, do that. --- diff --git a/Makefile.am b/Makefile.am index ae01e84..5cf8de8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -203,3 +203,4 @@ stamp-doc-rc: $(srcdir)/init.h makedoc Muttngrc.head touch stamp-doc-rc +-include cflags.mk diff --git a/cflags.mk b/cflags.mk new file mode 100644 index 0000000..44cabdf --- /dev/null +++ b/cflags.mk @@ -0,0 +1,43 @@ +ifneq ($(filter 4.%,$(GCCVERSION)),) + GCC4=1 +endif + +LDFLAGS += -Wl,--warn-common + +# Use pipes and not temp files. +CFLAGS += -pipe +# optimize even more +CFLAGS += -O2 +# let the type char be unsigned by default +CFLAGS += -funsigned-char +CFLAGS += -fstrict-aliasing +# turn on all common warnings +CFLAGS += -Wall +# turn on extra warnings +CFLAGS += $(if $(GCC4),-Wextra,-W) +# treat warnings as errors +#CFLAGS += -Werror +CFLAGS += -Wchar-subscripts +# warn about undefined preprocessor identifiers +CFLAGS += -Wundef +# warn about local variable shadowing another local variable +CFLAGS += -Wshadow +# warn about casting of pointers to increased alignment requirements +CFLAGS += -Wcast-align +# make string constants const +CFLAGS += -Wwrite-strings +# warn about implicit conversions with side effects +# fgets, calloc and friends take an int, not size_t... +#CFLAGS += -Wconversion +# warn about comparisons between signed and unsigned values +CFLAGS += -Wsign-compare +# warn about unused declared stuff +CFLAGS += -Wunused +# don not warn about unused return value +CFLAGS += -Wno-unused-value +# warn about variable use before initialization +CFLAGS += -Wuninitialized +# warn about pointer arithmetic on void* and function pointers +CFLAGS += -Wpointer-arith +# warn about multiple declarations +CFLAGS += -Wredundant-decls