add -fno-strict-aliasing to the gcc compiler flags. this is needed, see:

http://www.exim.org/mail-archives/exim-users/Week-of-Mon-20030721/msg00141.html

| It's not a compiler bug.  It is a C99 bug, or more exactly, a
| feature.  C99 changed the semantic of the C language with respect to
| aliasing questions.   Now, the compiler can assume that pointer to
| different types points to different memory location.  This breaks all
| the OO code written in C.
|
| This is a very good idea that the compiler issues a warning message
| because the semantic of language really changed and you want to revert
| to the old semantic.
|
| The make package MUST add -fno-strict-aliasing.  It is not a
| convenience to get rid off warnings.
This commit is contained in:
Dana Jansens 2007-03-03 00:58:37 +00:00
parent 4084f5d82d
commit c5b551b25a

View file

@ -64,7 +64,7 @@ AC_DEFUN([OB_COMPILER_FLAGS],
if test "$GCC" = "yes"; then
AC_MSG_RESULT([yes])
if test "$DEBUG" = "yes"; then
FLAGS="$FLAGS -g -fno-inline"
FLAGS="$FLAGS -g -fno-inline -fno-strict-aliasing"
FLAGS="$FLAGS -Wall -Wsign-compare -Waggregate-return"
FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith"
# for Python.h