summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2009-08-22 02:34:10 +0200
committerDenys Vlasenko2009-08-22 02:34:10 +0200
commitdc3d8939d464e3de2bd47b6936f06d07ea58c75e (patch)
tree4996cd170326c4855a98da00c59ab8c6108f57c2
parentf2a8d5db9ab1921e4bbe799b767fa2a94a83f228 (diff)
downloadbusybox-dc3d8939d464e3de2bd47b6936f06d07ea58c75e.zip
busybox-dc3d8939d464e3de2bd47b6936f06d07ea58c75e.tar.gz
preliminary work for gcc 4.4.0
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--Makefile.flags9
1 files changed, 9 insertions, 0 deletions
diff --git a/Makefile.flags b/Makefile.flags
index 2109fdf..032f6c1 100644
--- a/Makefile.flags
+++ b/Makefile.flags
@@ -32,6 +32,15 @@ CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
ifeq ($(CONFIG_WERROR),y)
CFLAGS += $(call cc-option,-Werror,)
+## TODO:
+## gcc version 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC) is a PITA:
+## const char *ptr; ... off_t v = *(off_t*)ptr; -> BOOM
+## and no easy way to convince it to shut the hell up.
+## We have a lot of such things all over the place.
+## Classic *(off_t*)(void*)ptr does not work,
+## and I am unwilling to do crazy gcc specific ({ void *ppp = ...; })
+## stuff in macros. This would obfuscate the code too much.
+#CFLAGS += $(call cc-ifversion, -eq, 0404, -fno-strict-aliasing)
endif
# gcc 3.x emits bogus "old style proto" warning on find.c:alloc_action()
CFLAGS += $(call cc-ifversion, -ge, 0400, -Wold-style-definition)