diff options
-rw-r--r-- | configure.ac | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 732ac2d1d8..b034b76012 100644 --- a/configure.ac +++ b/configure.ac @@ -89,7 +89,14 @@ dnl -Wmissing-format-attribute dnl -Wshadow dnl -Wformat-nonliteral -AM_CPPFLAGS="$WARNING_FLAGS" +dnl GCC 4.4 got more aggressive in it's aliasing optimizations, changing +dnl behavior that -- according to the C99 standard -- is supposed to be +dnl undefined. We may still have aliasing abuses lying around that rely +dnl on GCC's previous "undefined" behavior but are hidden by type casts, +dnl so disable the strict-aliasing optimzation until GCC (or even LLVM) +dnl learns how to detect them and warn us about it. +dnl XXX This really belongs in AM_CFLAGS. +AM_CPPFLAGS="$WARNING_FLAGS -fno-strict-aliasing" AC_SUBST(AM_CPPFLAGS) LDFLAGS="$LDFLAGS -Wl,--no-undefined" |