[evolution-data-server] Disable strict aliasing optimization.



commit e7b9d3b6aa3e96a01718ff7d559a825b4031a523
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue Feb 2 12:24:49 2010 -0500

    Disable strict aliasing optimization.

 configure.ac |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 6e137d0..0aff7c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -170,7 +170,14 @@ dnl	-Wformat-nonliteral
 dnl	-Wmissing-format-attribute
 dnl	-Wshadow
 
-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 optimization 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"



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]