Why is it so easy to override -fno-strict-aliasing?

Started by Tom Lanealmost 22 years ago2 messages
#1Tom Lane
tgl@sss.pgh.pa.us

In config/c-compiler.m4 I read

if test "$ac_env_CFLAGS_set" != set; then
CFLAGS="$CFLAGS $pgac_cv_prog_cc_no_strict_aliasing"
fi

This means that a configure operation as innocuous-looking as

CFLAGS="-O3" ./configure

will break the build on gcc >= 3.3 because it will fail to supply
-fno-strict-aliasing. I claim this is a lousy idea. We should drop
the if-test and always add -fno-strict-aliasing if the compiler
will take it. People who *really* know what they are doing can
experiment with removing the switch from Makefile.global after
configure, but I don't think it should be quite this easy to lose it.

regards, tom lane

#2Andrew Dunstan
andrew@dunslane.net
In reply to: Tom Lane (#1)
Re: Why is it so easy to override -fno-strict-aliasing?

Tom Lane wrote:

In config/c-compiler.m4 I read

if test "$ac_env_CFLAGS_set" != set; then
CFLAGS="$CFLAGS $pgac_cv_prog_cc_no_strict_aliasing"
fi

This means that a configure operation as innocuous-looking as

CFLAGS="-O3" ./configure

will break the build on gcc >= 3.3 because it will fail to supply
-fno-strict-aliasing. I claim this is a lousy idea. We should drop
the if-test and always add -fno-strict-aliasing if the compiler
will take it. People who *really* know what they are doing can
experiment with removing the switch from Makefile.global after
configure, but I don't think it should be quite this easy to lose it.

I agree.

cheers

andrew