@ -5258,6 +5258,83 @@ else
BITCODE_CXXFLAGS="-O2 $BITCODE_CXXFLAGS"
fi
# We use C constructs that became invalid in C23. Check if the compiler
# reports a standard higher than C17, with the flags selected above (so the
# user can control the language level explicitly to avoid the gcc/clang-only
# fallback logic below if preferred).
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC reports a C standard higher than ISO C17" >&5
$as_echo_n "checking whether $CC reports a C standard higher than ISO C17... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#if __STDC_VERSION__ > 201710L
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
POSTC17=no
else
POSTC17=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${POSTC17}" >&5
$as_echo "${POSTC17}" >&6; }
# If a too recent standard was detected with the user's CFLAGS, try asking for
# C17 with GNU extensions explicitly.
if test "$POSTC17" = yes; then
old_CFLAGS="$CFLAGS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports -std=gnu17, for CFLAGS" >&5
$as_echo_n "checking whether ${CC} supports -std=gnu17, for CFLAGS... " >&6; }
if ${pgac_cv_prog_CC_cflags__std_gnu17+:} false; then :
$as_echo_n "(cached) " >&6
else
pgac_save_CFLAGS=$CFLAGS
pgac_save_CC=$CC
CC=${CC}
CFLAGS="${CFLAGS} -std=gnu17"
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__std_gnu17=yes
else
pgac_cv_prog_CC_cflags__std_gnu17=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"
CC="$pgac_save_CC"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CC_cflags__std_gnu17" >&5
$as_echo "$pgac_cv_prog_CC_cflags__std_gnu17" >&6; }
if test x"$pgac_cv_prog_CC_cflags__std_gnu17" = x"yes"; then
CFLAGS="${CFLAGS} -std=gnu17"
fi
if test "$CFLAGS" = "$old_CFLAGS"; then
as_fn_error $? "cannot proceed" "$LINENO" 5
fi
fi
# C[XX]FLAGS we determined above will be added back at the end
user_CFLAGS=$CFLAGS
CFLAGS=""