|
@@ -353,6 +353,14 @@ tryflag CFLAGS_C99FSE -fexcess-precision=standard \
|
|
|| { test "$ARCH" = i386 && tryflag CFLAGS_C99FSE -ffloat-store ; }
|
|
|| { test "$ARCH" = i386 && tryflag CFLAGS_C99FSE -ffloat-store ; }
|
|
tryflag CFLAGS_C99FSE -frounding-math
|
|
tryflag CFLAGS_C99FSE -frounding-math
|
|
|
|
|
|
|
|
+#
|
|
|
|
+# Semantically we want to insist that our sources follow the
|
|
|
|
+# C rules for type-based aliasing, but most if not all real-world
|
|
|
|
+# compilers are known or suspected to have critical bugs in their
|
|
|
|
+# type-based aliasing analysis. See for example GCC bug 107107.
|
|
|
|
+#
|
|
|
|
+tryflag CFLAGS_C99FSE -fno-strict-aliasing
|
|
|
|
+
|
|
#
|
|
#
|
|
# We may use the may_alias attribute if __GNUC__ is defined, so
|
|
# We may use the may_alias attribute if __GNUC__ is defined, so
|
|
# if the compiler defines __GNUC__ but does not provide it,
|
|
# if the compiler defines __GNUC__ but does not provide it,
|