--- a/components/gcc49/patches/027-cmath_c99.patch Tue Jul 05 09:31:58 2016 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1448 +0,0 @@
-# Imported from GCC upstream. Originally applied to GCC > 5.3, backported
-# to 4.9.3 and 5.3.
-#
-# S12 build 86 introduces changes to <math.h> and <iso/math_c99.h>.
-# <iso/math_c99.h> now contains the inline template declarations and
-# definitions of many C99 Math C++ functions.
-# This wreaks havoc for consumers of cmath. We have no choice but to do
-# an adjustment to cmath. Corresponding changes to ./configure to make it
-# recognize when it cmatch changes are needed are included in
-# this patch. The bulk of the changes are based on a recent upstream
-# changeset:
-# https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=230807
-#
-# The correct solution here is to fix <iso/math_c99.h>. The changes
-# introduced in build 86 are unnecessary and ill-formed.
-diff -r -u libstdc++-v3/include/c_global/cmath libstdc++-v3/include/c_global/cmath
---- libstdc++-v3/include/c_global/cmath Thu Jan 2 14:30:10 2014
-+++ libstdc++-v3/include/c_global/cmath Thu Dec 10 07:37:50 2015
-@@ -557,6 +557,8 @@
- _GLIBCXX_BEGIN_NAMESPACE_VERSION
-
- #if __cplusplus >= 201103L
-+
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr int
- fpclassify(float __x)
- { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
-@@ -571,6 +573,7 @@
- fpclassify(long double __x)
- { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
- FP_SUBNORMAL, FP_ZERO, __x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -578,6 +581,7 @@
- fpclassify(_Tp __x)
- { return __x != 0 ? FP_NORMAL : FP_ZERO; }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- isfinite(float __x)
- { return __builtin_isfinite(__x); }
-@@ -589,6 +593,7 @@
- constexpr bool
- isfinite(long double __x)
- { return __builtin_isfinite(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -596,6 +601,7 @@
- isfinite(_Tp __x)
- { return true; }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- isinf(float __x)
- { return __builtin_isinf(__x); }
-@@ -607,6 +613,7 @@
- constexpr bool
- isinf(long double __x)
- { return __builtin_isinf(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -614,6 +621,7 @@
- isinf(_Tp __x)
- { return false; }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- isnan(float __x)
- { return __builtin_isnan(__x); }
-@@ -625,6 +633,7 @@
- constexpr bool
- isnan(long double __x)
- { return __builtin_isnan(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -632,6 +641,7 @@
- isnan(_Tp __x)
- { return false; }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- isnormal(float __x)
- { return __builtin_isnormal(__x); }
-@@ -643,6 +653,7 @@
- constexpr bool
- isnormal(long double __x)
- { return __builtin_isnormal(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -650,6 +661,7 @@
- isnormal(_Tp __x)
- { return __x != 0 ? true : false; }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- // The front-end doesn't provide a type generic builtin (libstdc++/58625).
- constexpr bool
- signbit(float __x)
-@@ -662,6 +674,7 @@
- constexpr bool
- signbit(long double __x)
- { return __builtin_signbitl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -669,6 +682,7 @@
- signbit(_Tp __x)
- { return __x < 0 ? true : false; }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- isgreater(float __x, float __y)
- { return __builtin_isgreater(__x, __y); }
-@@ -680,6 +694,7 @@
- constexpr bool
- isgreater(long double __x, long double __y)
- { return __builtin_isgreater(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename
-@@ -691,6 +706,7 @@
- return __builtin_isgreater(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- isgreaterequal(float __x, float __y)
- { return __builtin_isgreaterequal(__x, __y); }
-@@ -702,6 +718,7 @@
- constexpr bool
- isgreaterequal(long double __x, long double __y)
- { return __builtin_isgreaterequal(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename
-@@ -713,6 +730,7 @@
- return __builtin_isgreaterequal(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- isless(float __x, float __y)
- { return __builtin_isless(__x, __y); }
-@@ -724,6 +742,7 @@
- constexpr bool
- isless(long double __x, long double __y)
- { return __builtin_isless(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename
-@@ -735,6 +754,7 @@
- return __builtin_isless(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- islessequal(float __x, float __y)
- { return __builtin_islessequal(__x, __y); }
-@@ -746,6 +766,7 @@
- constexpr bool
- islessequal(long double __x, long double __y)
- { return __builtin_islessequal(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename
-@@ -757,6 +778,7 @@
- return __builtin_islessequal(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- islessgreater(float __x, float __y)
- { return __builtin_islessgreater(__x, __y); }
-@@ -768,6 +790,7 @@
- constexpr bool
- islessgreater(long double __x, long double __y)
- { return __builtin_islessgreater(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename
-@@ -779,6 +802,7 @@
- return __builtin_islessgreater(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr bool
- isunordered(float __x, float __y)
- { return __builtin_isunordered(__x, __y); }
-@@ -790,6 +814,7 @@
- constexpr bool
- isunordered(long double __x, long double __y)
- { return __builtin_isunordered(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename
-@@ -1180,6 +1205,7 @@
- using ::truncl;
-
- /// Additional overloads.
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- acosh(float __x)
- { return __builtin_acoshf(__x); }
-@@ -1187,6 +1213,7 @@
- constexpr long double
- acosh(long double __x)
- { return __builtin_acoshl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1194,6 +1221,7 @@
- acosh(_Tp __x)
- { return __builtin_acosh(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- asinh(float __x)
- { return __builtin_asinhf(__x); }
-@@ -1201,6 +1229,7 @@
- constexpr long double
- asinh(long double __x)
- { return __builtin_asinhl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1208,6 +1237,7 @@
- asinh(_Tp __x)
- { return __builtin_asinh(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- atanh(float __x)
- { return __builtin_atanhf(__x); }
-@@ -1215,6 +1245,7 @@
- constexpr long double
- atanh(long double __x)
- { return __builtin_atanhl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1222,6 +1253,7 @@
- atanh(_Tp __x)
- { return __builtin_atanh(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- cbrt(float __x)
- { return __builtin_cbrtf(__x); }
-@@ -1229,6 +1261,7 @@
- constexpr long double
- cbrt(long double __x)
- { return __builtin_cbrtl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1236,6 +1269,7 @@
- cbrt(_Tp __x)
- { return __builtin_cbrt(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- copysign(float __x, float __y)
- { return __builtin_copysignf(__x, __y); }
-@@ -1243,6 +1277,7 @@
- constexpr long double
- copysign(long double __x, long double __y)
- { return __builtin_copysignl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -1252,6 +1287,7 @@
- return copysign(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- erf(float __x)
- { return __builtin_erff(__x); }
-@@ -1259,6 +1295,7 @@
- constexpr long double
- erf(long double __x)
- { return __builtin_erfl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1266,6 +1303,7 @@
- erf(_Tp __x)
- { return __builtin_erf(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- erfc(float __x)
- { return __builtin_erfcf(__x); }
-@@ -1273,6 +1311,7 @@
- constexpr long double
- erfc(long double __x)
- { return __builtin_erfcl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1280,6 +1319,7 @@
- erfc(_Tp __x)
- { return __builtin_erfc(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- exp2(float __x)
- { return __builtin_exp2f(__x); }
-@@ -1287,6 +1327,7 @@
- constexpr long double
- exp2(long double __x)
- { return __builtin_exp2l(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1294,6 +1335,7 @@
- exp2(_Tp __x)
- { return __builtin_exp2(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- expm1(float __x)
- { return __builtin_expm1f(__x); }
-@@ -1301,6 +1343,7 @@
- constexpr long double
- expm1(long double __x)
- { return __builtin_expm1l(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1308,6 +1351,7 @@
- expm1(_Tp __x)
- { return __builtin_expm1(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- fdim(float __x, float __y)
- { return __builtin_fdimf(__x, __y); }
-@@ -1315,6 +1359,7 @@
- constexpr long double
- fdim(long double __x, long double __y)
- { return __builtin_fdiml(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -1324,6 +1369,7 @@
- return fdim(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- fma(float __x, float __y, float __z)
- { return __builtin_fmaf(__x, __y, __z); }
-@@ -1331,6 +1377,7 @@
- constexpr long double
- fma(long double __x, long double __y, long double __z)
- { return __builtin_fmal(__x, __y, __z); }
-+#endif
-
- template<typename _Tp, typename _Up, typename _Vp>
- constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
-@@ -1340,6 +1387,7 @@
- return fma(__type(__x), __type(__y), __type(__z));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- fmax(float __x, float __y)
- { return __builtin_fmaxf(__x, __y); }
-@@ -1347,6 +1395,7 @@
- constexpr long double
- fmax(long double __x, long double __y)
- { return __builtin_fmaxl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -1356,6 +1405,7 @@
- return fmax(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- fmin(float __x, float __y)
- { return __builtin_fminf(__x, __y); }
-@@ -1363,6 +1413,7 @@
- constexpr long double
- fmin(long double __x, long double __y)
- { return __builtin_fminl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -1372,6 +1423,7 @@
- return fmin(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- hypot(float __x, float __y)
- { return __builtin_hypotf(__x, __y); }
-@@ -1379,6 +1431,7 @@
- constexpr long double
- hypot(long double __x, long double __y)
- { return __builtin_hypotl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -1388,6 +1441,7 @@
- return hypot(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr int
- ilogb(float __x)
- { return __builtin_ilogbf(__x); }
-@@ -1395,6 +1449,7 @@
- constexpr int
- ilogb(long double __x)
- { return __builtin_ilogbl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr
-@@ -1403,6 +1458,7 @@
- ilogb(_Tp __x)
- { return __builtin_ilogb(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- lgamma(float __x)
- { return __builtin_lgammaf(__x); }
-@@ -1410,6 +1466,7 @@
- constexpr long double
- lgamma(long double __x)
- { return __builtin_lgammal(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1417,6 +1474,7 @@
- lgamma(_Tp __x)
- { return __builtin_lgamma(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr long long
- llrint(float __x)
- { return __builtin_llrintf(__x); }
-@@ -1424,6 +1482,7 @@
- constexpr long long
- llrint(long double __x)
- { return __builtin_llrintl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1431,6 +1490,7 @@
- llrint(_Tp __x)
- { return __builtin_llrint(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr long long
- llround(float __x)
- { return __builtin_llroundf(__x); }
-@@ -1438,6 +1498,7 @@
- constexpr long long
- llround(long double __x)
- { return __builtin_llroundl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1445,6 +1506,7 @@
- llround(_Tp __x)
- { return __builtin_llround(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- log1p(float __x)
- { return __builtin_log1pf(__x); }
-@@ -1452,6 +1514,7 @@
- constexpr long double
- log1p(long double __x)
- { return __builtin_log1pl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1459,6 +1522,7 @@
- log1p(_Tp __x)
- { return __builtin_log1p(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- // DR 568.
- constexpr float
- log2(float __x)
-@@ -1467,6 +1531,7 @@
- constexpr long double
- log2(long double __x)
- { return __builtin_log2l(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1474,6 +1539,7 @@
- log2(_Tp __x)
- { return __builtin_log2(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- logb(float __x)
- { return __builtin_logbf(__x); }
-@@ -1481,6 +1547,7 @@
- constexpr long double
- logb(long double __x)
- { return __builtin_logbl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1488,6 +1555,7 @@
- logb(_Tp __x)
- { return __builtin_logb(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr long
- lrint(float __x)
- { return __builtin_lrintf(__x); }
-@@ -1495,6 +1563,7 @@
- constexpr long
- lrint(long double __x)
- { return __builtin_lrintl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1502,6 +1571,7 @@
- lrint(_Tp __x)
- { return __builtin_lrint(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr long
- lround(float __x)
- { return __builtin_lroundf(__x); }
-@@ -1509,6 +1579,7 @@
- constexpr long
- lround(long double __x)
- { return __builtin_lroundl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1516,6 +1587,7 @@
- lround(_Tp __x)
- { return __builtin_lround(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- nearbyint(float __x)
- { return __builtin_nearbyintf(__x); }
-@@ -1523,6 +1595,7 @@
- constexpr long double
- nearbyint(long double __x)
- { return __builtin_nearbyintl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1530,6 +1603,7 @@
- nearbyint(_Tp __x)
- { return __builtin_nearbyint(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- nextafter(float __x, float __y)
- { return __builtin_nextafterf(__x, __y); }
-@@ -1537,6 +1611,7 @@
- constexpr long double
- nextafter(long double __x, long double __y)
- { return __builtin_nextafterl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -1546,6 +1621,7 @@
- return nextafter(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- nexttoward(float __x, long double __y)
- { return __builtin_nexttowardf(__x, __y); }
-@@ -1553,6 +1629,7 @@
- constexpr long double
- nexttoward(long double __x, long double __y)
- { return __builtin_nexttowardl(__x, __y); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1560,6 +1637,7 @@
- nexttoward(_Tp __x, long double __y)
- { return __builtin_nexttoward(__x, __y); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- remainder(float __x, float __y)
- { return __builtin_remainderf(__x, __y); }
-@@ -1567,6 +1645,7 @@
- constexpr long double
- remainder(long double __x, long double __y)
- { return __builtin_remainderl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -1576,6 +1655,7 @@
- return remainder(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- remquo(float __x, float __y, int* __pquo)
- { return __builtin_remquof(__x, __y, __pquo); }
-@@ -1583,6 +1663,7 @@
- inline long double
- remquo(long double __x, long double __y, int* __pquo)
- { return __builtin_remquol(__x, __y, __pquo); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -1592,6 +1673,7 @@
- return remquo(__type(__x), __type(__y), __pquo);
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- rint(float __x)
- { return __builtin_rintf(__x); }
-@@ -1599,6 +1681,7 @@
- constexpr long double
- rint(long double __x)
- { return __builtin_rintl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1606,6 +1689,7 @@
- rint(_Tp __x)
- { return __builtin_rint(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- round(float __x)
- { return __builtin_roundf(__x); }
-@@ -1613,6 +1697,7 @@
- constexpr long double
- round(long double __x)
- { return __builtin_roundl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1620,6 +1705,7 @@
- round(_Tp __x)
- { return __builtin_round(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- scalbln(float __x, long __ex)
- { return __builtin_scalblnf(__x, __ex); }
-@@ -1627,6 +1713,7 @@
- constexpr long double
- scalbln(long double __x, long __ex)
- { return __builtin_scalblnl(__x, __ex); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1634,6 +1721,7 @@
- scalbln(_Tp __x, long __ex)
- { return __builtin_scalbln(__x, __ex); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- scalbn(float __x, int __ex)
- { return __builtin_scalbnf(__x, __ex); }
-@@ -1641,6 +1729,7 @@
- constexpr long double
- scalbn(long double __x, int __ex)
- { return __builtin_scalbnl(__x, __ex); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1648,6 +1737,7 @@
- scalbn(_Tp __x, int __ex)
- { return __builtin_scalbn(__x, __ex); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- tgamma(float __x)
- { return __builtin_tgammaf(__x); }
-@@ -1655,6 +1745,7 @@
- constexpr long double
- tgamma(long double __x)
- { return __builtin_tgammal(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -1662,6 +1753,7 @@
- tgamma(_Tp __x)
- { return __builtin_tgamma(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- constexpr float
- trunc(float __x)
- { return __builtin_truncf(__x); }
-@@ -1669,6 +1761,7 @@
- constexpr long double
- trunc(long double __x)
- { return __builtin_truncl(__x); }
-+#endif
-
- template<typename _Tp>
- constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-
-diff -r -u libstdc++-v3/include/tr1/cmath libstdc++-v3/include/tr1/cmath
---- libstdc++-v3/include/tr1/cmath Thu Jan 2 14:30:10 2014
-+++ libstdc++-v3/include/tr1/cmath Thu Dec 10 07:34:33 2015
-@@ -419,6 +419,7 @@
- /// Additional overloads [8.16.4].
- using std::acos;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- acosh(float __x)
- { return __builtin_acoshf(__x); }
-@@ -426,6 +427,7 @@
- inline long double
- acosh(long double __x)
- { return __builtin_acoshl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -435,6 +437,7 @@
-
- using std::asin;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- asinh(float __x)
- { return __builtin_asinhf(__x); }
-@@ -442,6 +445,7 @@
- inline long double
- asinh(long double __x)
- { return __builtin_asinhl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -452,6 +456,7 @@
- using std::atan;
- using std::atan2;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- atanh(float __x)
- { return __builtin_atanhf(__x); }
-@@ -459,6 +464,7 @@
- inline long double
- atanh(long double __x)
- { return __builtin_atanhl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -466,6 +472,7 @@
- atanh(_Tp __x)
- { return __builtin_atanh(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- cbrt(float __x)
- { return __builtin_cbrtf(__x); }
-@@ -473,6 +480,7 @@
- inline long double
- cbrt(long double __x)
- { return __builtin_cbrtl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -482,6 +490,7 @@
-
- using std::ceil;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- copysign(float __x, float __y)
- { return __builtin_copysignf(__x, __y); }
-@@ -489,6 +498,7 @@
- inline long double
- copysign(long double __x, long double __y)
- { return __builtin_copysignl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -501,6 +511,7 @@
- using std::cos;
- using std::cosh;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- erf(float __x)
- { return __builtin_erff(__x); }
-@@ -508,6 +519,7 @@
- inline long double
- erf(long double __x)
- { return __builtin_erfl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -515,6 +527,7 @@
- erf(_Tp __x)
- { return __builtin_erf(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- erfc(float __x)
- { return __builtin_erfcf(__x); }
-@@ -522,6 +535,7 @@
- inline long double
- erfc(long double __x)
- { return __builtin_erfcl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -531,6 +545,7 @@
-
- using std::exp;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- exp2(float __x)
- { return __builtin_exp2f(__x); }
-@@ -538,6 +553,7 @@
- inline long double
- exp2(long double __x)
- { return __builtin_exp2l(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -545,6 +561,7 @@
- exp2(_Tp __x)
- { return __builtin_exp2(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- expm1(float __x)
- { return __builtin_expm1f(__x); }
-@@ -552,6 +569,7 @@
- inline long double
- expm1(long double __x)
- { return __builtin_expm1l(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -568,6 +586,7 @@
- using ::fabs;
-
- #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- fabs(float __x)
- { return __builtin_fabsf(__x); }
-@@ -575,6 +594,7 @@
- inline long double
- fabs(long double __x)
- { return __builtin_fabsl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -583,6 +603,7 @@
- { return __builtin_fabs(__x); }
- #endif
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- fdim(float __x, float __y)
- { return __builtin_fdimf(__x, __y); }
-@@ -590,6 +611,7 @@
- inline long double
- fdim(long double __x, long double __y)
- { return __builtin_fdiml(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -601,6 +623,7 @@
-
- using std::floor;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- fma(float __x, float __y, float __z)
- { return __builtin_fmaf(__x, __y, __z); }
-@@ -608,6 +631,7 @@
- inline long double
- fma(long double __x, long double __y, long double __z)
- { return __builtin_fmal(__x, __y, __z); }
-+#endif
-
- template<typename _Tp, typename _Up, typename _Vp>
- inline typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
-@@ -617,6 +641,7 @@
- return fma(__type(__x), __type(__y), __type(__z));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- fmax(float __x, float __y)
- { return __builtin_fmaxf(__x, __y); }
-@@ -624,6 +649,7 @@
- inline long double
- fmax(long double __x, long double __y)
- { return __builtin_fmaxl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -633,6 +659,7 @@
- return fmax(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- fmin(float __x, float __y)
- { return __builtin_fminf(__x, __y); }
-@@ -640,6 +667,7 @@
- inline long double
- fmin(long double __x, long double __y)
- { return __builtin_fminl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -652,6 +680,7 @@
- using std::fmod;
- using std::frexp;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- hypot(float __x, float __y)
- { return __builtin_hypotf(__x, __y); }
-@@ -659,6 +688,7 @@
- inline long double
- hypot(long double __x, long double __y)
- { return __builtin_hypotl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -668,6 +698,7 @@
- return hypot(__type(__y), __type(__x));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline int
- ilogb(float __x)
- { return __builtin_ilogbf(__x); }
-@@ -675,6 +706,7 @@
- inline int
- ilogb(long double __x)
- { return __builtin_ilogbl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -684,6 +716,7 @@
-
- using std::ldexp;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- lgamma(float __x)
- { return __builtin_lgammaf(__x); }
-@@ -691,6 +724,7 @@
- inline long double
- lgamma(long double __x)
- { return __builtin_lgammal(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -698,6 +732,7 @@
- lgamma(_Tp __x)
- { return __builtin_lgamma(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline long long
- llrint(float __x)
- { return __builtin_llrintf(__x); }
-@@ -705,6 +740,7 @@
- inline long long
- llrint(long double __x)
- { return __builtin_llrintl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -712,6 +748,7 @@
- llrint(_Tp __x)
- { return __builtin_llrint(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline long long
- llround(float __x)
- { return __builtin_llroundf(__x); }
-@@ -719,6 +756,7 @@
- inline long long
- llround(long double __x)
- { return __builtin_llroundl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -729,6 +767,7 @@
- using std::log;
- using std::log10;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- log1p(float __x)
- { return __builtin_log1pf(__x); }
-@@ -736,6 +775,7 @@
- inline long double
- log1p(long double __x)
- { return __builtin_log1pl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -744,6 +784,7 @@
- { return __builtin_log1p(__x); }
-
- // DR 568.
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- log2(float __x)
- { return __builtin_log2f(__x); }
-@@ -751,6 +792,7 @@
- inline long double
- log2(long double __x)
- { return __builtin_log2l(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -758,6 +800,7 @@
- log2(_Tp __x)
- { return __builtin_log2(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- logb(float __x)
- { return __builtin_logbf(__x); }
-@@ -765,6 +808,7 @@
- inline long double
- logb(long double __x)
- { return __builtin_logbl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -774,6 +818,7 @@
- return __builtin_logb(__x);
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline long
- lrint(float __x)
- { return __builtin_lrintf(__x); }
-@@ -781,6 +826,7 @@
- inline long
- lrint(long double __x)
- { return __builtin_lrintl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -788,6 +834,7 @@
- lrint(_Tp __x)
- { return __builtin_lrint(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline long
- lround(float __x)
- { return __builtin_lroundf(__x); }
-@@ -795,6 +842,7 @@
- inline long
- lround(long double __x)
- { return __builtin_lroundl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -802,6 +850,7 @@
- lround(_Tp __x)
- { return __builtin_lround(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- nearbyint(float __x)
- { return __builtin_nearbyintf(__x); }
-@@ -809,6 +858,7 @@
- inline long double
- nearbyint(long double __x)
- { return __builtin_nearbyintl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -816,6 +866,7 @@
- nearbyint(_Tp __x)
- { return __builtin_nearbyint(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- nextafter(float __x, float __y)
- { return __builtin_nextafterf(__x, __y); }
-@@ -823,6 +874,7 @@
- inline long double
- nextafter(long double __x, long double __y)
- { return __builtin_nextafterl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -832,6 +884,7 @@
- return nextafter(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- nexttoward(float __x, long double __y)
- { return __builtin_nexttowardf(__x, __y); }
-@@ -839,6 +892,7 @@
- inline long double
- nexttoward(long double __x, long double __y)
- { return __builtin_nexttowardl(__x, __y); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -846,6 +900,7 @@
- nexttoward(_Tp __x, long double __y)
- { return __builtin_nexttoward(__x, __y); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- remainder(float __x, float __y)
- { return __builtin_remainderf(__x, __y); }
-@@ -853,6 +908,7 @@
- inline long double
- remainder(long double __x, long double __y)
- { return __builtin_remainderl(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -862,6 +918,7 @@
- return remainder(__type(__x), __type(__y));
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- remquo(float __x, float __y, int* __pquo)
- { return __builtin_remquof(__x, __y, __pquo); }
-@@ -869,6 +926,7 @@
- inline long double
- remquo(long double __x, long double __y, int* __pquo)
- { return __builtin_remquol(__x, __y, __pquo); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-@@ -878,6 +936,7 @@
- return remquo(__type(__x), __type(__y), __pquo);
- }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- rint(float __x)
- { return __builtin_rintf(__x); }
-@@ -885,6 +944,7 @@
- inline long double
- rint(long double __x)
- { return __builtin_rintl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -892,6 +952,7 @@
- rint(_Tp __x)
- { return __builtin_rint(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- round(float __x)
- { return __builtin_roundf(__x); }
-@@ -899,6 +960,7 @@
- inline long double
- round(long double __x)
- { return __builtin_roundl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -906,6 +968,7 @@
- round(_Tp __x)
- { return __builtin_round(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- scalbln(float __x, long __ex)
- { return __builtin_scalblnf(__x, __ex); }
-@@ -913,6 +976,7 @@
- inline long double
- scalbln(long double __x, long __ex)
- { return __builtin_scalblnl(__x, __ex); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -920,6 +984,7 @@
- scalbln(_Tp __x, long __ex)
- { return __builtin_scalbln(__x, __ex); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- scalbn(float __x, int __ex)
- { return __builtin_scalbnf(__x, __ex); }
-@@ -927,6 +992,7 @@
- inline long double
- scalbn(long double __x, int __ex)
- { return __builtin_scalbnl(__x, __ex); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -940,6 +1006,7 @@
- using std::tan;
- using std::tanh;
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- tgamma(float __x)
- { return __builtin_tgammaf(__x); }
-@@ -947,6 +1014,7 @@
- inline long double
- tgamma(long double __x)
- { return __builtin_tgammal(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -954,6 +1022,7 @@
- tgamma(_Tp __x)
- { return __builtin_tgamma(__x); }
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- trunc(float __x)
- { return __builtin_truncf(__x); }
-@@ -961,6 +1030,7 @@
- inline long double
- trunc(long double __x)
- { return __builtin_truncl(__x); }
-+#endif
-
- template<typename _Tp>
- inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
-@@ -994,6 +1064,7 @@
- // the discussion about this issue here:
- // http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01278.html
-
-+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO
- inline float
- pow(float __x, float __y)
- { return std::pow(__x, __y); }
-@@ -1001,6 +1072,7 @@
- inline long double
- pow(long double __x, long double __y)
- { return std::pow(__x, __y); }
-+#endif
-
- template<typename _Tp, typename _Up>
- inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
-
-diff -r -u libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
---- libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc Thu Jan 2 14:30:10 2014
-+++ libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc Thu Dec 10 07:40:27 2015
-@@ -20,9 +20,10 @@
- // { dg-do compile }
- // { dg-add-options no_pch }
-
--// { dg-xfail-if "" { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[0-9]* hppa*-*-hpux* *-*-mingw* } || { uclibc || newlib } } { "*" } { "" } }
--// { dg-excess-errors "" { target { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[0-9]* hppa*-*-hpux* *-*-mingw* } || { uclibc || newlib } } } }
-+// { dg-xfail-if "" { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[01]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } { "*" } { "" } }
-+// { dg-excess-errors "" { target { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[01]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } } }
-
-+
- #include <math.h>
-
- void fpclassify() { }
-
---- libstdc++-v3/include/bits/c++config Thu Jan 2 14:30:10 2014
-+++ libstdc++-v3/include/bits/c++config Thu Dec 10 08:35:47 2015
-@@ -456,6 +456,12 @@
- # define _GLIBCXX_FAST_MATH 0
- #endif
-
-+/* Define if all C++11 overloads are available in <math.h>. */
-+#if __cplusplus >= 201103L
-+#define __CORRECT_ISO_CPP11_MATH_H_PROTO 1
-+#endif
-+
-+
- // This marks string literals in header files to be extracted for eventual
- // translation. It is primarily used for messages in thrown exceptions; see
- // src/functexcept.cc. We use __N because the more traditional _N is used
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOWNERDEAD" >&5
- $as_echo_n "checking for EOWNERDEAD... " >&6; }
-
-
-#
-# Since GCC is sensitive to which version of autoconf is used, we are
-# also including a patch to configure here to avoid running autoconf.
-# Perhaps we will make this work with the version of autoconf we are
-# shipping in the future.
-#
-diff -r -u libstdc++-v3/configure libstdc++-v3/configure
---- libstdc++-v3/configure Thu Jan 23 13:17:15 2014
-+++ libstdc++-v3/configure Thu Dec 10 08:19:59 2015
-@@ -17486,8 +17486,65 @@
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-+ ac_ext=cpp
-+ac_cpp='$CXXCPP $CPPFLAGS'
-+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-+ ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS -std=c++11"
-
-+ 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 ${glibcxx_cv_math11_overload+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <math.h>
-+ #undef isfinite
-+ namespace std {
-+ inline bool isfinite(float __x)
-+ { return __builtin_isfinite(__x); }
-+ }
-+
-+_ACEOF
-+if ac_fn_cxx_try_compile "$LINENO"; then :
-+ glibcxx_cv_math11_overload=no
-+else
-+ glibcxx_cv_math11_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_overload = yes; then
-+ $as_echo "#define __CORRECT_ISO_CPP11_MATH_H_PROTO 1" >>confdefs.h
-+
-+ fi
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_math11_overload" >&5
-+$as_echo "$glibcxx_cv_math11_overload" >&6; }
-+ ;;
-+ esac
-+
-+ CXXFLAGS="$ac_save_CXXFLAGS"
-+ ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
-
-