Stefan Kaltenbrunner <stefan@kaltenbrunner.cc> writes:
> *) why the large difference in the build-flags ?
CVS HEAD configure.in knows about icc and the release branches don't.
I think the changes were only put into HEAD because of lack of testing,
but if we have buildfarm coverage I think it'd be OK to back-port the
configure logic to the prior branches. Any objections?
CVS HEAD configure.in:
# Some versions of GCC support some additional useful warning flags.
# Check whether they are supported, and add them to CFLAGS if so.
if test "$GCC" = yes; then
# ICC pretends to be GCC but it's lying; it doesn't support these options.
# So we have to check if "GCC" is really ICC.
AC_TRY_COMPILE([], [@%:@ifndef __INTEL_COMPILER
choke me
@%:@endif], [ICC=[yes]], [ICC=[no]])
if test "$ICC" = no; then CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wpointer-arith -Winline"
PGAC_PROG_CC_CFLAGS_OPT([-Wdeclaration-after-statement]) PGAC_PROG_CC_CFLAGS_OPT([-Wendif-labels]) else # Intel
compilerhas a bug/misoptimization in checking for # division by NAN (NaN == 0), -mp1 fixes it, so add it to the #
CFLAGS. PGAC_PROG_CC_CFLAGS_OPT([-mp1]) fi
# Disable strict-aliasing rules; needed for gcc 3.3+ PGAC_PROG_CC_CFLAGS_OPT([-fno-strict-aliasing])
elif test x"${CC}" = x"xlc"; then # AIX xlc has to have strict aliasing turned off too
PGAC_PROG_CC_CFLAGS_OPT([-qnoansialias])
fi
8.1 equivalent code fragment:
if test "$GCC" = yes; then CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wpointer-arith -Winline"
# Some versions of GCC support some additional useful warning flags. # Check whether they are supported, and add them
toCFLAGS if so. PGAC_PROG_CC_CFLAGS_OPT([-Wdeclaration-after-statement]) PGAC_PROG_CC_CFLAGS_OPT([-Wendif-labels])
# Disable strict-aliasing rules; needed for gcc 3.3+ PGAC_PROG_CC_CFLAGS_OPT([-fno-strict-aliasing])
fi
regards, tom lane