From f3f037e187c601d76777ae10b10657a0c0d3299c Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Fri, 17 Jul 2015 03:01:14 -0400 Subject: [PATCH] AIX: Test the -qlonglong option before use. xlc provides "long long" unconditionally at C99-compatible language levels, and this option provokes a warning. The warning interferes with "configure" tests that fail in response to any warning. Notably, before commit 85a2a8903f7e9151793308d0638621003aded5ae, it interfered with the test for -qnoansialias. Back-patch to 9.0 (all supported versions). --- configure | 35 +++++++++++++++++++++++++++++++++++ configure.in | 1 + src/template/aix | 2 +- 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 7832db758ed..dc8fa8d63ed 100755 --- a/configure +++ b/configure @@ -4847,6 +4847,41 @@ if test x"$pgac_cv_prog_cc_cflags__qnoansialias" = x"yes"; then CFLAGS="$CFLAGS -qnoansialias" fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -qlonglong" >&5 +$as_echo_n "checking whether $CC supports -qlonglong... " >&6; } +if ${pgac_cv_prog_cc_cflags__qlonglong+:} false; then : + $as_echo_n "(cached) " >&6 +else + pgac_save_CFLAGS=$CFLAGS +CFLAGS="$pgac_save_CFLAGS -qlonglong" +ac_save_c_werror_flag=$ac_c_werror_flag +ac_c_werror_flag=yes +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv_prog_cc_cflags__qlonglong=yes +else + pgac_cv_prog_cc_cflags__qlonglong=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_c_werror_flag=$ac_save_c_werror_flag +CFLAGS="$pgac_save_CFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_cc_cflags__qlonglong" >&5 +$as_echo "$pgac_cv_prog_cc_cflags__qlonglong" >&6; } +if test x"$pgac_cv_prog_cc_cflags__qlonglong" = x"yes"; then + CFLAGS="$CFLAGS -qlonglong" +fi + elif test "$PORTNAME" = "hpux"; then # On some versions of HP-UX, libm functions do not set errno by default. # Fix that by using +Olibmerrno if the compiler recognizes it. diff --git a/configure.in b/configure.in index 543c3a4078b..532de6318c2 100644 --- a/configure.in +++ b/configure.in @@ -456,6 +456,7 @@ elif test "$ICC" = yes; then elif test "$PORTNAME" = "aix"; then # AIX's xlc has to have strict aliasing turned off too PGAC_PROG_CC_CFLAGS_OPT([-qnoansialias]) + PGAC_PROG_CC_CFLAGS_OPT([-qlonglong]) elif test "$PORTNAME" = "hpux"; then # On some versions of HP-UX, libm functions do not set errno by default. # Fix that by using +Olibmerrno if the compiler recognizes it. diff --git a/src/template/aix b/src/template/aix index 04c97e7bd14..b566ff129df 100644 --- a/src/template/aix +++ b/src/template/aix @@ -7,7 +7,7 @@ if test "$GCC" != yes ; then CFLAGS="-O -qmaxmem=16384 -qsrcmsg" ;; *) - CFLAGS="-O2 -qmaxmem=16384 -qsrcmsg -qlonglong" + CFLAGS="-O2 -qmaxmem=16384 -qsrcmsg" ;; esac fi