am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
+get_gcc_base_ver
WARN_FLAGS
OPTIMIZE_CXXFLAGS
TOPLEVEL_INCLUDES
glibcxx_toolexecdir
gxx_include_dir
glibcxx_prefixdir
+EXTRA_CFLAGS
CPU_OPT_BITS_RANDOM
CPU_OPT_EXT_RANDOM
ERROR_CONSTANTS_SRCDIR
ENABLE_FILESYSTEM_TS_TRUE
baseline_subdir_switch
baseline_dir
-HWCAP_FLAGS
+HWCAP_CFLAGS
GLIBCXX_LDBL_COMPAT_FALSE
GLIBCXX_LDBL_COMPAT_TRUE
+LONG_DOUBLE_COMPAT_FLAGS
ENABLE_CXX11_ABI_FALSE
ENABLE_CXX11_ABI_TRUE
glibcxx_cxx98_abi
with_default_libstdcxx_abi
enable_libstdcxx_threads
enable_libstdcxx_filesystem_ts
+enable_cet
with_gxx_include_dir
enable_version_specific_runtime_libs
+with_gcc_major_version_only
'
ac_precious_vars='build_alias
host_alias
enable C++11 threads support [default=auto]
--enable-libstdcxx-filesystem-ts
turns on ISO/IEC TS 18822 support [default=auto]
+ --enable-cet enable Intel CET in target libraries
+ [default=default]
--enable-version-specific-runtime-libs
Specify that runtime libraries should be installed
in a compiler-specific directory
set the std::string ABI to use by default
--with-gxx-include-dir=DIR
installation directory for include files
+ --with-gcc-major-version-only
+ use only GCC major number in filesystem paths
Some influential environment variables:
CC C compiler command
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11599 "configure"
+#line 11608 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11705 "configure"
+#line 11714 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
atomic_type c1;
atomic_type c2;
atomic_type c3(0);
- __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
+ // N.B. __atomic_fetch_add is not supported for bool.
__atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
__ATOMIC_RELAXED);
__atomic_test_and_set(&c1, __ATOMIC_RELAXED);
# Fake what AC_TRY_COMPILE does.
cat > conftest.$ac_ext << EOF
-#line 15391 "configure"
+#line 15400 "configure"
int main()
{
typedef bool atomic_type;
atomic_type c1;
atomic_type c2;
atomic_type c3(0);
- __atomic_fetch_add(&c1, c2, __ATOMIC_RELAXED);
+ // N.B. __atomic_fetch_add is not supported for bool.
__atomic_compare_exchange_n(&c1, &c2, c3, true, __ATOMIC_ACQ_REL,
__ATOMIC_RELAXED);
__atomic_test_and_set(&c1, __ATOMIC_RELAXED);
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15426 "configure"
+#line 15435 "configure"
int main()
{
typedef short atomic_type;
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15461 "configure"
+#line 15470 "configure"
int main()
{
// NB: _Atomic_word not necessarily int.
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15497 "configure"
+#line 15506 "configure"
int main()
{
typedef long long atomic_type;
ac_compiler_gnu=$ac_cv_c_compiler_gnu
- # Set atomicity_dir to builtins if all but the long long test above passes.
- if test $glibcxx_cv_atomic_bool = yes \
- && test $glibcxx_cv_atomic_short = yes \
- && test $glibcxx_cv_atomic_int = yes; then
+ # Set atomicity_dir to builtins if all but the long long test above passes,
+ # or if the builtins were already chosen (e.g. by configure.host).
+ if { test "$glibcxx_cv_atomic_bool" = yes \
+ && test "$glibcxx_cv_atomic_short" = yes \
+ && test "$glibcxx_cv_atomic_int" = yes; } \
+ || test "$atomicity_dir" = "cpu/generic/atomicity_builtins"; then
$as_echo "#define _GLIBCXX_ATOMIC_BUILTINS 1" >>confdefs.h
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 15576 "configure"
+#line 15587 "configure"
int main()
{
_Decimal32 d1;
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 15618 "configure"
+#line 15629 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15652 "configure"
+#line 15663 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
fi
+ # Check for the existence in <stdlib.h> of lldiv_t, et. al.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <stdlib.h> for C++98" >&5
+$as_echo_n "checking for ISO C99 support in <stdlib.h> for C++98... " >&6; }
+ if test "${glibcxx_cv_c99_stdlib_cxx98+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test x$gcc_no_link = xyes; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+ volatile float f;
+ volatile long double ld;
+ volatile unsigned long long ll;
+ lldiv_t mydivt;
+int
+main ()
+{
+char* tmp;
+ f = strtof("gnu", &tmp);
+ ld = strtold("gnu", &tmp);
+ ll = strtoll("gnu", &tmp, 10);
+ ll = strtoull("gnu", &tmp, 10);
+ ll = llabs(10);
+ mydivt = lldiv(10,1);
+ ll = mydivt.quot;
+ ll = mydivt.rem;
+ ll = atoll("10");
+ _Exit(0);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ glibcxx_cv_c99_stdlib_cxx98=yes
+else
+ glibcxx_cv_c99_stdlib_cxx98=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ if test x$gcc_no_link = xyes; then
+ as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+fi
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+ volatile float f;
+ volatile long double ld;
+ volatile unsigned long long ll;
+ lldiv_t mydivt;
+int
+main ()
+{
+char* tmp;
+ f = strtof("gnu", &tmp);
+ ld = strtold("gnu", &tmp);
+ ll = strtoll("gnu", &tmp, 10);
+ ll = strtoull("gnu", &tmp, 10);
+ ll = llabs(10);
+ mydivt = lldiv(10,1);
+ ll = mydivt.quot;
+ ll = mydivt.rem;
+ ll = atoll("10");
+ _Exit(0);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ glibcxx_cv_c99_stdlib_cxx98=yes
+else
+ glibcxx_cv_c99_stdlib_cxx98=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdlib_cxx98" >&5
+$as_echo "$glibcxx_cv_c99_stdlib_cxx98" >&6; }
+ if test x"$glibcxx_cv_c99_stdlib_cxx98" = x"yes"; then
+
+$as_echo "#define _GLIBCXX98_USE_C99_STDLIB 1" >>confdefs.h
+
+ fi
+
# Check for the existence in <wchar.h> of wcstold, etc.
if test x"$ac_has_wchar_h" = xyes &&
test x"$ac_has_wctype_h" = xyes; then
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ # Use C++11 because a conforming <stdio.h> won't define gets for C++14,
+ # and we don't need a declaration for C++14 anyway.
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -std=gnu++11"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gets declaration" >&5
$as_echo_n "checking for gets declaration... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_gets" >&5
$as_echo "$glibcxx_cv_gets" >&6; }
+ CXXFLAGS="$ac_save_CXXFLAGS"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
case "$host" in
*-*-solaris2.*)
- # Solaris 12 introduced the C++11 <math.h> overloads. A backport to
- # a Solaris 11.3 SRU is likely, maybe even a Solaris 10 patch.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 <math.h> overloads" >&5
-$as_echo_n "checking for C++11 <math.h> overloads... " >&6; }
- if test "${glibcxx_cv_math11_overload+set}" = set; then :
+ # Solaris 12 Build 86, Solaris 11.3 SRU 3.6, and Solaris 10 Patch
+ # 11996[67]-02 introduced the C++11 <math.h> floating point overloads.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 <math.h> floating point overloads" >&5
+$as_echo_n "checking for C++11 <math.h> floating point overloads... " >&6; }
+ if test "${glibcxx_cv_math11_fp_overload+set}" = set; then :
$as_echo_n "(cached) " >&6
else
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
- glibcxx_cv_math11_overload=no
+ glibcxx_cv_math11_fp_overload=no
+else
+ glibcxx_cv_math11_fp_overload=yes
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ # autoheader cannot handle indented templates.
+
+
+ if test $glibcxx_cv_math11_fp_overload = yes; then
+ $as_echo "#define __CORRECT_ISO_CPP11_MATH_H_PROTO_FP 1" >>confdefs.h
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_math11_fp_overload" >&5
+$as_echo "$glibcxx_cv_math11_fp_overload" >&6; }
+
+ # Solaris 12 Build 90, Solaris 11.3 SRU 5.6, and Solaris 10 Patch
+ # 11996[67]-02 introduced the C++11 <math.h> integral type overloads.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 <math.h> integral type overloads" >&5
+$as_echo_n "checking for C++11 <math.h> integral type overloads... " >&6; }
+ if test "${glibcxx_cv_math11_int_overload+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ namespace std {
+ template<typename _Tp>
+ struct __is_integer;
+ template<>
+ struct __is_integer<int>
+ {
+ enum { __value = 1 };
+ };
+ }
+ namespace __gnu_cxx {
+ template<bool, typename>
+ struct __enable_if;
+ template<typename _Tp>
+ struct __enable_if<true, _Tp>
+ { typedef _Tp __type; };
+ }
+ namespace std {
+ template<typename _Tp>
+ constexpr typename __gnu_cxx::__enable_if
+ <__is_integer<_Tp>::__value, double>::__type
+ log2(_Tp __x)
+ { return __builtin_log2(__x); }
+ }
+ int
+ main (void)
+ {
+ int i = 1000;
+ return std::log2(i);
+ }
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ glibcxx_cv_math11_int_overload=no
else
- glibcxx_cv_math11_overload=yes
+ glibcxx_cv_math11_int_overload=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# autoheader cannot handle indented templates.
- if test $glibcxx_cv_math11_overload = yes; then
- $as_echo "#define __CORRECT_ISO_CPP11_MATH_H_PROTO 1" >>confdefs.h
+ if test $glibcxx_cv_math11_int_overload = yes; then
+ $as_echo "#define __CORRECT_ISO_CPP11_MATH_H_PROTO_INT 1" >>confdefs.h
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_math11_overload" >&5
-$as_echo "$glibcxx_cv_math11_overload" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_math11_int_overload" >&5
+$as_echo "$glibcxx_cv_math11_int_overload" >&6; }
;;
- *-*-*gnu*)
+ *)
# If <math.h> defines the obsolete isinf(double) and isnan(double)
# functions (instead of or as well as the C99 generic macros) then we
# can't define std::isinf(double) and std::isnan(double) in <cmath>
# and must use the ones from <math.h> instead.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete isinf and isnan functions in <math.h>" >&5
-$as_echo_n "checking for obsolete isinf and isnan functions in <math.h>... " >&6; }
- if test "${glibcxx_cv_obsolete_isinf_isnan+set}" = set; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete isinf function in <math.h>" >&5
+$as_echo_n "checking for obsolete isinf function in <math.h>... " >&6; }
+ if test "${glibcxx_cv_obsolete_isinf+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <math.h>
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+ #include <math.h>
#undef isinf
- #undef isnan
namespace std {
using ::isinf;
bool isinf(float);
bool isinf(long double);
+ }
+ using std::isinf;
+ bool b = isinf(0.0);
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ glibcxx_cv_obsolete_isinf=yes
+else
+ glibcxx_cv_obsolete_isinf=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_obsolete_isinf" >&5
+$as_echo "$glibcxx_cv_obsolete_isinf" >&6; }
+ if test $glibcxx_cv_obsolete_isinf = yes; then
+
+$as_echo "#define HAVE_OBSOLETE_ISINF 1" >>confdefs.h
+
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete isnan function in <math.h>" >&5
+$as_echo_n "checking for obsolete isnan function in <math.h>... " >&6; }
+ if test "${glibcxx_cv_obsolete_isnan+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+ #include <math.h>
+ #undef isnan
+ namespace std {
using ::isnan;
bool isnan(float);
bool isnan(long double);
}
- using std::isinf;
using std::isnan;
- bool b = isinf(0.0) || isnan(0.0);
+ bool b = isnan(0.0);
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
- glibcxx_cv_obsolete_isinf_isnan=yes
+ glibcxx_cv_obsolete_isnan=yes
else
- glibcxx_cv_obsolete_isinf_isnan=no
+ glibcxx_cv_obsolete_isnan=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_obsolete_isnan" >&5
+$as_echo "$glibcxx_cv_obsolete_isnan" >&6; }
+ if test $glibcxx_cv_obsolete_isnan = yes; then
-
- if test $glibcxx_cv_obsolete_isinf_isnan = yes; then
-
-$as_echo "#define HAVE_OBSOLETE_ISINF_ISNAN 1" >>confdefs.h
+$as_echo "#define HAVE_OBSOLETE_ISNAN 1" >>confdefs.h
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_obsolete_isinf_isnan" >&5
-$as_echo "$glibcxx_cv_obsolete_isinf_isnan" >&6; }
;;
esac
lgamma(0.0);
lgammaf(0.0f);
lgammal(0.0l);
+ #ifndef __APPLE__ /* see below */
llrint(0.0);
llrintf(0.0f);
llrintl(0.0l);
llround(0.0);
llroundf(0.0f);
llroundl(0.0l);
+ #endif
log1p(0.0);
log1pf(0.0f);
log1pl(0.0l);
$as_echo "#define _GLIBCXX_USE_C99_MATH_TR1 1" >>confdefs.h
+
+ case "${target_os}" in
+ darwin*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 rounding functions in <math.h>" >&5
+$as_echo_n "checking for ISO C99 rounding functions in <math.h>... " >&6; }
+ if test "${glibcxx_cv_c99_math_llround+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+int
+main ()
+{
+llrint(0.0);
+ llrintf(0.0f);
+ llrintl(0.0l);
+ llround(0.0);
+ llroundf(0.0f);
+ llroundl(0.0l);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ glibcxx_cv_c99_math_llround=yes
+else
+ glibcxx_cv_c99_math_llround=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_math_llround" >&5
+$as_echo "$glibcxx_cv_c99_math_llround" >&6; }
+ ;;
+ esac
+ if test x"$glibcxx_cv_c99_math_llround" = x"no"; then
+
+$as_echo "#define _GLIBCXX_NO_C99_ROUNDING_FUNCS 1" >>confdefs.h
+
+ fi
fi
# Check for the existence of <inttypes.h> functions (NB: doesn't make
ac_has_nanosleep=yes
ac_has_sched_yield=yes
;;
- freebsd*|netbsd*|dragonfly*)
+ freebsd*|netbsd*|dragonfly*|rtems*)
ac_has_clock_monotonic=yes
ac_has_clock_realtime=yes
ac_has_nanosleep=yes
locale.h machine/endian.h machine/param.h nan.h stdint.h stdlib.h string.h \
strings.h sys/ipc.h sys/isa_defs.h sys/machine.h sys/param.h \
sys/resource.h sys/sem.h sys/stat.h sys/time.h sys/types.h unistd.h \
-wchar.h wctype.h
+wchar.h wctype.h linux/random.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
fi
- for ac_func in __cxa_thread_atexit_impl
+ for ac_func in __cxa_thread_atexit_impl __cxa_thread_atexit
do :
- ac_fn_c_check_func "$LINENO" "__cxa_thread_atexit_impl" "ac_cv_func___cxa_thread_atexit_impl"
-if test "x$ac_cv_func___cxa_thread_atexit_impl" = x""yes; then :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+ if test "x$as_val" = x""yes; then :
cat >>confdefs.h <<_ACEOF
-#define HAVE___CXA_THREAD_ATEXIT_IMPL 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ for ac_func in aligned_alloc posix_memalign memalign _aligned_malloc
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
fi
$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+ $as_echo "#define HAVE_MEMALIGN 1" >>confdefs.h
+
else
# Base decisions on target environment.
# This is a freestanding configuration; there is nothing to do here.
;;
+ avr*-*-*)
+ $as_echo "#define HAVE_ACOSF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_ASINF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_ATAN2F 1" >>confdefs.h
+
+ $as_echo "#define HAVE_ATANF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_CEILF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_COSF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_COSHF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_EXPF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_FABSF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_FLOORF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_FMODF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_FREXPF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_SQRTF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_HYPOTF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_LDEXPF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_LOG10F 1" >>confdefs.h
+
+ $as_echo "#define HAVE_LOGF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_MODFF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_POWF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_SINF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_SINHF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_TANF 1" >>confdefs.h
+
+ $as_echo "#define HAVE_TANHF 1" >>confdefs.h
+
+ ;;
+
mips*-sde-elf*)
# These definitions are for the SDE C library rather than newlib.
SECTION_FLAGS='-ffunction-sections -fdata-sections'
$as_echo "#define HAVE_ISNANL 1" >>confdefs.h
fi
+ for ac_func in __cxa_thread_atexit
+do :
+ ac_fn_c_check_func "$LINENO" "__cxa_thread_atexit" "ac_cv_func___cxa_thread_atexit"
+if test "x$ac_cv_func___cxa_thread_atexit" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE___CXA_THREAD_ATEXIT 1
+_ACEOF
+
+fi
+done
+
;;
+
+ *-fuchsia*)
+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
+
+ ;;
+
*-hpux*)
SECTION_FLAGS='-ffunction-sections -fdata-sections'
;;
esac
;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*)
+ *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-cygwin* | *-solaris*)
# All these tests are for C++; save the language and the compiler flags.
# The CXXFLAGS thing is suspicious, but based on similar bits previously
fi
done
+ for ac_func in aligned_alloc posix_memalign memalign _aligned_malloc
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
CXXFLAGS="$ac_save_CXXFLAGS"
- ;;
- *-solaris*)
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- glibcxx_ld_is_gold=no
- if test x"$with_gnu_ld" = x"yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5
-$as_echo_n "checking for ld version... " >&6; }
-
- if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then
- glibcxx_ld_is_gold=yes
- fi
- ldver=`$LD --version 2>/dev/null |
- sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_gnu_ld_version" >&5
-$as_echo "$glibcxx_gnu_ld_version" >&6; }
- fi
-
- # Set --gc-sections.
- glibcxx_have_gc_sections=no
- if test "$glibcxx_ld_is_gold" = "yes"; then
- if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then
- glibcxx_have_gc_sections=yes
- fi
- else
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
- glibcxx_have_gc_sections=yes
- fi
- fi
- if test "$glibcxx_have_gc_sections" = "yes"; then
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,--gc-sections" >&5
-$as_echo_n "checking for ld that supports -Wl,--gc-sections... " >&6; }
- if test x$gcc_no_link = xyes; then
- as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
-fi
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_gcsections=yes
-else
- ac_gcsections=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_gcsections" >&5
-$as_echo "$ac_gcsections" >&6; }
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld that supports -Wl,-z,relro" >&5
-$as_echo_n "checking for ld that supports -Wl,-z,relro... " >&6; }
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ld_relro" >&5
-$as_echo "$ac_ld_relro" >&6; }
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
- $as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h
-
- $as_echo "#define HAVE_FINITE 1" >>confdefs.h
-
- $as_echo "#define HAVE_FPCLASS 1" >>confdefs.h
-
- # All of the dependencies for wide character support are here, so
- # turn it on.
- $as_echo "#define _GLIBCXX_USE_WCHAR_T 1" >>confdefs.h
-
- # These two C99 functions are present only in Solaris >= 10
- $as_echo "#define HAVE_STRTOF 1" >>confdefs.h
-
- $as_echo "#define HAVE_STRTOLD 1" >>confdefs.h
-
- $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
-
- $as_echo "#define HAVE_ISNANF 1" >>confdefs.h
-
- $as_echo "#define HAVE_MODFF 1" >>confdefs.h
-
- $as_echo "#define HAVE_HYPOT 1" >>confdefs.h
-
;;
*-tpf)
SECTION_FLAGS='-ffunction-sections -fdata-sections'
fi
# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:22:0
+libtool_VERSION=6:25:0
# Everything parsed; figure out what files and settings to use.
case $enable_symvers in
;;
gnu-versioned-namespace)
- libtool_VERSION=7:0:0
+ libtool_VERSION=8:0:0
SYMVER_FILE=config/abi/pre/gnu-versioned-namespace.ver
$as_echo "#define _GLIBCXX_SYMVER_GNU_NAMESPACE 1" >>confdefs.h
ac_ldbl_compat=no
+LONG_DOUBLE_COMPAT_FLAGS="-mlong-double-64"
case "$target" in
powerpc*-*-linux* | \
sparc*-*-linux* | \
$as_echo "#define _GLIBCXX_LONG_DOUBLE_COMPAT 1" >>confdefs.h
port_specific_symbol_files="\$(top_srcdir)/config/os/gnu-linux/ldbl-extra.ver"
+ case "$target" in
+ powerpc*-*-linux*)
+ LONG_DOUBLE_COMPAT_FLAGS="$LONG_DOUBLE_COMPAT_FLAGS -mno-gnu-attribute" ;;
+ esac
fi
esac
+
# Check if assembler supports disabling hardware capability support.
- test -z "$HWCAP_FLAGS" && HWCAP_FLAGS=''
+ test -z "$HWCAP_CFLAGS" && HWCAP_CFLAGS=''
# Restrict the test to Solaris, other assemblers (e.g. AIX as) have -nH
# with a different meaning.
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "$ac_hwcap_flags" = "yes"; then
- HWCAP_FLAGS="-Wa,-nH $HWCAP_FLAGS"
+ HWCAP_CFLAGS="-Wa,-nH $HWCAP_CFLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_hwcap_flags" >&5
$as_echo "$ac_hwcap_flags" >&6; }
# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
- if $GLIBCXX_IS_NATIVE ; then
- # Do checks for resource limit functions.
+ # Do checks for resource limit functions.
setrlimit_have_headers=yes
for ac_header in unistd.h sys/time.h sys/resource.h
$as_echo "$ac_res_limits" >&6; }
+ if $GLIBCXX_IS_NATIVE ; then
# Look for setenv, so that extended locale tests can be performed.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setenv declaration" >&5
gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
enable_libstdcxx_filesystem_ts=yes
;;
+ rtems*)
+ enable_libstdcxx_filesystem_ts=yes
+ ;;
solaris*)
enable_libstdcxx_filesystem_ts=yes
;;
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+ #include <limits.h>
#include <stdlib.h>
#include <unistd.h>
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+ #include <limits.h>
#include <stdlib.h>
#include <unistd.h>
int
main ()
{
-sendfile(1, 2, (off_t*)NULL, sizeof 1);
+sendfile(1, 2, (off_t*)0, sizeof 1);
;
return 0;
}
int
main ()
{
-sendfile(1, 2, (off_t*)NULL, sizeof 1);
+sendfile(1, 2, (off_t*)0, sizeof 1);
;
return 0;
}
if ac_fn_c_try_compile "$LINENO"; then :
glibcxx_cv_size_t_mangling=t
else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+extern __SIZE_TYPE__ x; extern __int20 unsigned x;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ glibcxx_cv_size_t_mangling=u6uint20
+else
glibcxx_cv_size_t_mangling=x
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_size_t_mangling" >&5
$as_echo "$glibcxx_cv_size_t_mangling" >&6; }
+# Check which release added std::exception_ptr for the target
+
+ if test $enable_symvers != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for first version to support std::exception_ptr" >&5
+$as_echo_n "checking for first version to support std::exception_ptr... " >&6; }
+ case ${target} in
+ aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \
+ m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* )
+ ac_exception_ptr_since_gcc46=yes
+ ;;
+ *)
+ # If the value of this macro changes then we will need to hardcode
+ # yes/no here for additional targets based on the original value.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ #if __GCC_ATOMIC_INT_LOCK_FREE <= 1
+ # error atomic int not always lock free
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_exception_ptr_since_gcc46=yes
+else
+ ac_exception_ptr_since_gcc46=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ;;
+ esac
+ if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then
+
+$as_echo "#define HAVE_EXCEPTION_PTR_SINCE_GCC46 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4.6.0" >&5
+$as_echo "4.6.0" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 7.1.0" >&5
+$as_echo "7.1.0" >&6; }
+ fi
+ fi
+
+
# Define documentation rules conditionally.
# See if makeinfo has been installed and is modern enough
+# Add CET specific flags if Intel CET is enabled.
+ # Check whether --enable-cet was given.
+if test "${enable_cet+set}" = set; then :
+ enableval=$enable_cet;
+ case "$enableval" in
+ yes|no|default) ;;
+ *) as_fn_error "Unknown argument to enable/disable cet" "$LINENO" 5 ;;
+ esac
+
+else
+ enable_cet=default
+fi
+
+
+case "$host" in
+ i[34567]86-*-linux* | x86_64-*-linux*)
+ case "$enable_cet" in
+ default)
+ # Check if assembler supports CET.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+asm ("setssbsy");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ enable_cet=yes
+else
+ enable_cet=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ;;
+ yes)
+ # Check if assembler supports CET.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+asm ("setssbsy");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ as_fn_error "assembler with CET support is required for --enable-cet" "$LINENO" 5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ;;
+ esac
+ ;;
+ *)
+ enable_cet=no
+ ;;
+esac
+if test x$enable_cet = xyes; then
+ CET_FLAGS="-fcf-protection -mcet"
+fi
+
+EXTRA_CXX_FLAGS="$EXTRA_CXX_FLAGS $CET_FLAGS"
+EXTRA_CFLAGS="$EXTRA_CFLAGS $CET_FLAGS"
+
+
+
# Determine cross-compile flags and AM_CONDITIONALs.
#AC_SUBST(GLIBCXX_IS_NATIVE)
#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
+# Determine what GCC version number to use in filesystem paths.
+
+ get_gcc_base_ver="cat"
+
+# Check whether --with-gcc-major-version-only was given.
+if test "${with_gcc_major_version_only+set}" = set; then :
+ withval=$with_gcc_major_version_only; if test x$with_gcc_major_version_only = xyes ; then
+ get_gcc_base_ver="sed -e 's/^\([0-9]*\).*\$\$/\1/'"
+ fi
+
+fi
+
+
+
+
ac_config_files="$ac_config_files Makefile"
ac_config_files="$ac_config_files scripts/testsuite_flags"
CC="$CC"
CXX="$CXX"
GFORTRAN="$GFORTRAN"
-GCJ="$GCJ"
# The HP-UX ksh and POSIX shell print the target directory to stdout