-ifneq ($(filter 4.%,$(GCCVERSION)),)
+ifneq ($(filter 4.%,$(shell gcc -dumpversion)),)
GCC4=1
endif
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 variables which are initialized with themselves
+CFLAGS += -Winit-self
# warn about pointer arithmetic on void* and function pointers
CFLAGS += -Wpointer-arith
# warn about multiple declarations
CFLAGS += -Wredundant-decls
# warn if the format string is not a string literal
-CFLAGS += -Wformat-nonliteral
+#CFLAGS += -Wformat-nonliteral
+# do not warn about zero-length formats.
+CFLAGS += -Wno-format-zero-length
+# missing prototypes
+CFLAGS += -Wmissing-prototypes
+# warn about functions without format attribute that should have one
+CFLAGS += -Wmissing-format-attribute
+