From: Paolo Carlini Date: Sun, 15 May 2011 18:21:03 +0000 (+0000) Subject: c++config (_GLIBCXX_NOEXCEPT, [...]): Add. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4d4cf1444deb9c06757a00edc6ad55897ded64f2;p=gcc.git c++config (_GLIBCXX_NOEXCEPT, [...]): Add. 2011-05-15 Paolo Carlini * include/bits/c++config (_GLIBCXX_NOEXCEPT, _GLIBCXX_USE_NOEXCEPT): Add. * include/std/limits: Use the latter everywhere. (numeric_limits, numeric_limits): Simplify macro usages, the specializations exist only in C++0x mode. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line number. From-SVN: r173774 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9136fa6bddc..7012d56523b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2011-05-15 Paolo Carlini + + * include/bits/c++config (_GLIBCXX_NOEXCEPT, _GLIBCXX_USE_NOEXCEPT): + Add. + * include/std/limits: Use the latter everywhere. + (numeric_limits, numeric_limits): Simplify + macro usages, the specializations exist only in C++0x mode. + * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error + line number. + 2011-05-11 Paolo Carlini * testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: Use diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index 8ac3c159d8c..5cb654b45b7 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -99,6 +99,17 @@ # endif #endif +// Macro for noexcept, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_NOEXCEPT +# ifdef __GXX_EXPERIMENTAL_CXX0X__ +# define _GLIBCXX_NOEXCEPT noexcept +# define _GLIBCXX_USE_NOEXCEPT noexcept +# else +# define _GLIBCXX_NOEXCEPT +# define _GLIBCXX_USE_NOEXCEPT throw() +# endif +#endif + // Macro for extern template, ie controling template linkage via use // of extern keyword on template declaration. As documented in the g++ // manual, it inhibits all implicit instantiations and is used diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits index 9a311973c4a..907df6b8d53 100644 --- a/libstdc++-v3/include/std/limits +++ b/libstdc++-v3/include/std/limits @@ -1,7 +1,7 @@ // The template and inlines for the numeric_limits classes. -*- C++ -*- // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, -// 2008, 2009, 2010 Free Software Foundation, Inc. +// 2008, 2009, 2010, 2011 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -306,47 +306,47 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /** The minimum finite value, or for floating types with denormalization, the minimum positive normalized value. */ static _GLIBCXX_CONSTEXPR _Tp - min() throw() { return static_cast<_Tp>(0); } + min() _GLIBCXX_USE_NOEXCEPT { return static_cast<_Tp>(0); } /** The maximum finite value. */ static _GLIBCXX_CONSTEXPR _Tp - max() throw() { return static_cast<_Tp>(0); } + max() _GLIBCXX_USE_NOEXCEPT { return static_cast<_Tp>(0); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ /** A finite value x such that there is no other finite value y * where y < x. */ static constexpr _Tp - lowest() throw() { return static_cast<_Tp>(0); } + lowest() noexcept { return static_cast<_Tp>(0); } #endif /** The @e machine @e epsilon: the difference between 1 and the least value greater than 1 that is representable. */ static _GLIBCXX_CONSTEXPR _Tp - epsilon() throw() { return static_cast<_Tp>(0); } + epsilon() _GLIBCXX_USE_NOEXCEPT { return static_cast<_Tp>(0); } /** The maximum rounding error measurement (see LIA-1). */ static _GLIBCXX_CONSTEXPR _Tp - round_error() throw() { return static_cast<_Tp>(0); } + round_error() _GLIBCXX_USE_NOEXCEPT { return static_cast<_Tp>(0); } /** The representation of positive infinity, if @c has_infinity. */ static _GLIBCXX_CONSTEXPR _Tp - infinity() throw() { return static_cast<_Tp>(0); } + infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<_Tp>(0); } /** The representation of a quiet Not a Number, if @c has_quiet_NaN. */ static _GLIBCXX_CONSTEXPR _Tp - quiet_NaN() throw() { return static_cast<_Tp>(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<_Tp>(0); } /** The representation of a signaling Not a Number, if @c has_signaling_NaN. */ static _GLIBCXX_CONSTEXPR _Tp - signaling_NaN() throw() { return static_cast<_Tp>(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<_Tp>(0); } /** The minimum positive denormalized value. For types where @c has_denorm is false, this is the minimum positive normalized value. */ static _GLIBCXX_CONSTEXPR _Tp - denorm_min() throw() { return static_cast<_Tp>(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<_Tp>(0); } }; #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -373,14 +373,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR bool - min() throw() { return false; } + min() _GLIBCXX_USE_NOEXCEPT { return false; } static _GLIBCXX_CONSTEXPR bool - max() throw() { return true; } + max() _GLIBCXX_USE_NOEXCEPT { return true; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr bool - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits = 1; static _GLIBCXX_USE_CONSTEXPR int digits10 = 0; @@ -393,10 +393,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR bool - epsilon() throw() { return false; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return false; } static _GLIBCXX_CONSTEXPR bool - round_error() throw() { return false; } + round_error() _GLIBCXX_USE_NOEXCEPT { return false; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -411,16 +411,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR bool - infinity() throw() { return false; } + infinity() _GLIBCXX_USE_NOEXCEPT { return false; } static _GLIBCXX_CONSTEXPR bool - quiet_NaN() throw() { return false; } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return false; } static _GLIBCXX_CONSTEXPR bool - signaling_NaN() throw() { return false; } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return false; } static _GLIBCXX_CONSTEXPR bool - denorm_min() throw() { return false; } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return false; } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -442,14 +442,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR char - min() throw() { return __glibcxx_min(char); } + min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min(char); } static _GLIBCXX_CONSTEXPR char - max() throw() { return __glibcxx_max(char); } + max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max(char); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr char - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (char); @@ -463,10 +463,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR char - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR char - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -481,16 +481,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR - char infinity() throw() { return char(); } + char infinity() _GLIBCXX_USE_NOEXCEPT { return char(); } static _GLIBCXX_CONSTEXPR char - quiet_NaN() throw() { return char(); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return char(); } static _GLIBCXX_CONSTEXPR char - signaling_NaN() throw() { return char(); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return char(); } static _GLIBCXX_CONSTEXPR char - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -509,14 +509,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR signed char - min() throw() { return -__SCHAR_MAX__ - 1; } + min() _GLIBCXX_USE_NOEXCEPT { return -__SCHAR_MAX__ - 1; } static _GLIBCXX_CONSTEXPR signed char - max() throw() { return __SCHAR_MAX__; } + max() _GLIBCXX_USE_NOEXCEPT { return __SCHAR_MAX__; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr signed char - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (signed char); @@ -531,10 +531,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR signed char - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR signed char - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -549,16 +549,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR signed char - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR signed char - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR signed char - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR signed char - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -577,14 +579,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR unsigned char - min() throw() { return 0; } + min() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned char - max() throw() { return __SCHAR_MAX__ * 2U + 1; } + max() _GLIBCXX_USE_NOEXCEPT { return __SCHAR_MAX__ * 2U + 1; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr unsigned char - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits @@ -600,10 +602,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR unsigned char - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned char - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -618,16 +620,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR unsigned char - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned char - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned char - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned char - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -646,14 +652,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR wchar_t - min() throw() { return __glibcxx_min (wchar_t); } + min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min (wchar_t); } static _GLIBCXX_CONSTEXPR wchar_t - max() throw() { return __glibcxx_max (wchar_t); } + max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max (wchar_t); } #ifdef __GXX_EXPERIMENTAL_CXX0X__ - static constexpr wchar_t - lowest() throw() { return min(); } + static constexpr wchar_t + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (wchar_t); @@ -668,10 +674,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR wchar_t - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR wchar_t - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -686,16 +692,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR wchar_t - infinity() throw() { return wchar_t(); } + infinity() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); } static _GLIBCXX_CONSTEXPR wchar_t - quiet_NaN() throw() { return wchar_t(); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); } static _GLIBCXX_CONSTEXPR wchar_t - signaling_NaN() throw() { return wchar_t(); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); } static _GLIBCXX_CONSTEXPR wchar_t - denorm_min() throw() { return wchar_t(); } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -712,139 +718,122 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<> struct numeric_limits { - static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; + static constexpr bool is_specialized = true; - static _GLIBCXX_CONSTEXPR char16_t - min() throw() { return __glibcxx_min (char16_t); } + static constexpr char16_t + min() noexcept { return __glibcxx_min (char16_t); } - static _GLIBCXX_CONSTEXPR char16_t - max() throw() { return __glibcxx_max (char16_t); } + static constexpr char16_t + max() noexcept { return __glibcxx_max (char16_t); } -#ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr char16_t - lowest() throw() { return min(); } -#endif + lowest() noexcept { return min(); } - static _GLIBCXX_USE_CONSTEXPR int digits - = __glibcxx_digits (char16_t); - static _GLIBCXX_USE_CONSTEXPR int digits10 - = __glibcxx_digits10 (char16_t); -#ifdef __GXX_EXPERIMENTAL_CXX0X__ + static constexpr int digits = __glibcxx_digits (char16_t); + static constexpr int digits10 = __glibcxx_digits10 (char16_t); static constexpr int max_digits10 = 0; -#endif - static _GLIBCXX_USE_CONSTEXPR bool is_signed - = __glibcxx_signed (char16_t); - static _GLIBCXX_USE_CONSTEXPR bool is_integer = true; - static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; - static _GLIBCXX_USE_CONSTEXPR int radix = 2; + static constexpr bool is_signed = __glibcxx_signed (char16_t); + static constexpr bool is_integer = true; + static constexpr bool is_exact = true; + static constexpr int radix = 2; - static _GLIBCXX_CONSTEXPR char16_t - epsilon() throw() { return 0; } + static constexpr char16_t + epsilon() noexcept { return 0; } - static _GLIBCXX_CONSTEXPR char16_t - round_error() throw() { return 0; } + static constexpr char16_t + round_error() noexcept { return 0; } - static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; - static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; - static _GLIBCXX_USE_CONSTEXPR int max_exponent = 0; - static _GLIBCXX_USE_CONSTEXPR int max_exponent10 = 0; + static constexpr int min_exponent = 0; + static constexpr int min_exponent10 = 0; + static constexpr int max_exponent = 0; + static constexpr int max_exponent10 = 0; - static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; - static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; - static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; - static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm - = denorm_absent; - static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; + static constexpr bool has_infinity = false; + static constexpr bool has_quiet_NaN = false; + static constexpr bool has_signaling_NaN = false; + static constexpr float_denorm_style has_denorm = denorm_absent; + static constexpr bool has_denorm_loss = false; - static _GLIBCXX_CONSTEXPR char16_t - infinity() throw() { return char16_t(); } + static constexpr char16_t + infinity() noexcept { return char16_t(); } - static _GLIBCXX_CONSTEXPR char16_t - quiet_NaN() throw() { return char16_t(); } + static constexpr char16_t + quiet_NaN() noexcept { return char16_t(); } - static _GLIBCXX_CONSTEXPR char16_t - signaling_NaN() throw() { return char16_t(); } + static constexpr char16_t + signaling_NaN() noexcept { return char16_t(); } - static _GLIBCXX_CONSTEXPR char16_t - denorm_min() throw() { return char16_t(); } + static constexpr char16_t + denorm_min() noexcept { return char16_t(); } - static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; - static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; - static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true; + static constexpr bool is_iec559 = false; + static constexpr bool is_bounded = true; + static constexpr bool is_modulo = true; - static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; - static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; - static _GLIBCXX_USE_CONSTEXPR float_round_style round_style - = round_toward_zero; + static constexpr bool traps = __glibcxx_integral_traps; + static constexpr bool tinyness_before = false; + static constexpr float_round_style round_style = round_toward_zero; }; /// numeric_limits specialization. template<> struct numeric_limits { - static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; + static constexpr bool is_specialized = true; - static _GLIBCXX_CONSTEXPR char32_t - min() throw() { return __glibcxx_min (char32_t); } + static constexpr char32_t + min() noexcept { return __glibcxx_min (char32_t); } - static _GLIBCXX_CONSTEXPR char32_t - max() throw() { return __glibcxx_max (char32_t); } + static constexpr char32_t + max() noexcept { return __glibcxx_max (char32_t); } -#ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr char32_t - lowest() throw() { return min(); } -#endif + lowest() noexcept { return min(); } - static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (char32_t); - static _GLIBCXX_USE_CONSTEXPR int digits10 - = __glibcxx_digits10 (char32_t); -#ifdef __GXX_EXPERIMENTAL_CXX0X__ + static constexpr int digits = __glibcxx_digits (char32_t); + static constexpr int digits10 = __glibcxx_digits10 (char32_t); static constexpr int max_digits10 = 0; -#endif - static _GLIBCXX_USE_CONSTEXPR bool is_signed - = __glibcxx_signed (char32_t); - static _GLIBCXX_USE_CONSTEXPR bool is_integer = true; - static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; - static _GLIBCXX_USE_CONSTEXPR int radix = 2; + static constexpr bool is_signed = __glibcxx_signed (char32_t); + static constexpr bool is_integer = true; + static constexpr bool is_exact = true; + static constexpr int radix = 2; - static _GLIBCXX_CONSTEXPR char32_t - epsilon() throw() { return 0; } + static constexpr char32_t + epsilon() noexcept { return 0; } - static _GLIBCXX_CONSTEXPR char32_t - round_error() throw() { return 0; } + static constexpr char32_t + round_error() noexcept { return 0; } - static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; - static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; - static _GLIBCXX_USE_CONSTEXPR int max_exponent = 0; - static _GLIBCXX_USE_CONSTEXPR int max_exponent10 = 0; + static constexpr int min_exponent = 0; + static constexpr int min_exponent10 = 0; + static constexpr int max_exponent = 0; + static constexpr int max_exponent10 = 0; - static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; - static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; - static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; - static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm - = denorm_absent; - static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; + static constexpr bool has_infinity = false; + static constexpr bool has_quiet_NaN = false; + static constexpr bool has_signaling_NaN = false; + static constexpr float_denorm_style has_denorm = denorm_absent; + static constexpr bool has_denorm_loss = false; - static _GLIBCXX_CONSTEXPR char32_t - infinity() throw() { return char32_t(); } + static constexpr char32_t + infinity() noexcept { return char32_t(); } - static _GLIBCXX_CONSTEXPR char32_t - quiet_NaN() throw() { return char32_t(); } + static constexpr char32_t + quiet_NaN() noexcept { return char32_t(); } - static _GLIBCXX_CONSTEXPR char32_t - signaling_NaN() throw() { return char32_t(); } + static constexpr char32_t + signaling_NaN() noexcept { return char32_t(); } - static _GLIBCXX_CONSTEXPR char32_t - denorm_min() throw() { return char32_t(); } + static constexpr char32_t + denorm_min() noexcept { return char32_t(); } - static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; - static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; - static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true; + static constexpr bool is_iec559 = false; + static constexpr bool is_bounded = true; + static constexpr bool is_modulo = true; - static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; - static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; - static _GLIBCXX_USE_CONSTEXPR float_round_style round_style - = round_toward_zero; + static constexpr bool traps = __glibcxx_integral_traps; + static constexpr bool tinyness_before = false; + static constexpr float_round_style round_style = round_toward_zero; }; #endif @@ -855,14 +844,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR short - min() throw() { return -__SHRT_MAX__ - 1; } + min() _GLIBCXX_USE_NOEXCEPT { return -__SHRT_MAX__ - 1; } static _GLIBCXX_CONSTEXPR short - max() throw() { return __SHRT_MAX__; } + max() _GLIBCXX_USE_NOEXCEPT { return __SHRT_MAX__; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr short - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (short); @@ -876,10 +865,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR short - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR short - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -894,16 +883,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR short - infinity() throw() { return short(); } + infinity() _GLIBCXX_USE_NOEXCEPT { return short(); } static _GLIBCXX_CONSTEXPR short - quiet_NaN() throw() { return short(); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return short(); } static _GLIBCXX_CONSTEXPR short - signaling_NaN() throw() { return short(); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return short(); } static _GLIBCXX_CONSTEXPR short - denorm_min() throw() { return short(); } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return short(); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -922,14 +911,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR unsigned short - min() throw() { return 0; } + min() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned short - max() throw() { return __SHRT_MAX__ * 2U + 1; } + max() _GLIBCXX_USE_NOEXCEPT { return __SHRT_MAX__ * 2U + 1; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr unsigned short - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits @@ -945,10 +934,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR unsigned short - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned short - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -963,16 +952,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR unsigned short - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned short - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned short - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned short - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -991,14 +984,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR int - min() throw() { return -__INT_MAX__ - 1; } + min() _GLIBCXX_USE_NOEXCEPT { return -__INT_MAX__ - 1; } static _GLIBCXX_CONSTEXPR int - max() throw() { return __INT_MAX__; } + max() _GLIBCXX_USE_NOEXCEPT { return __INT_MAX__; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr int - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (int); @@ -1012,10 +1005,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR int - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR int - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -1030,16 +1023,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR int - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR int - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR int - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR int - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -1058,14 +1051,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR unsigned int - min() throw() { return 0; } + min() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned int - max() throw() { return __INT_MAX__ * 2U + 1; } + max() _GLIBCXX_USE_NOEXCEPT { return __INT_MAX__ * 2U + 1; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr unsigned int - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits @@ -1081,10 +1074,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR unsigned int - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned int - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -1099,16 +1092,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR unsigned int - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned int - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned int - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned int - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -1127,14 +1123,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR long - min() throw() { return -__LONG_MAX__ - 1; } + min() _GLIBCXX_USE_NOEXCEPT { return -__LONG_MAX__ - 1; } static _GLIBCXX_CONSTEXPR long - max() throw() { return __LONG_MAX__; } + max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr long - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (long); @@ -1148,10 +1144,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR long - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR long - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -1166,16 +1162,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR long - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR long - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR long - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR long - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -1194,14 +1190,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR unsigned long - min() throw() { return 0; } + min() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned long - max() throw() { return __LONG_MAX__ * 2UL + 1; } + max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__ * 2UL + 1; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr unsigned long - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits @@ -1217,10 +1213,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR unsigned long - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned long - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -1235,16 +1231,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR unsigned long - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned long - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned long - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned long - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -1263,14 +1263,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR long long - min() throw() { return -__LONG_LONG_MAX__ - 1; } + min() _GLIBCXX_USE_NOEXCEPT { return -__LONG_LONG_MAX__ - 1; } static _GLIBCXX_CONSTEXPR long long - max() throw() { return __LONG_LONG_MAX__; } + max() _GLIBCXX_USE_NOEXCEPT { return __LONG_LONG_MAX__; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr long long - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits @@ -1286,10 +1286,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR long long - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR long long - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -1304,16 +1304,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR long long - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR long long - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_CONSTEXPR long long - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR long long - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -1332,14 +1333,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR unsigned long long - min() throw() { return 0; } + min() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned long long - max() throw() { return __LONG_LONG_MAX__ * 2ULL + 1; } + max() _GLIBCXX_USE_NOEXCEPT { return __LONG_LONG_MAX__ * 2ULL + 1; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr unsigned long long - lowest() throw() { return min(); } + lowest() noexcept { return min(); } #endif static _GLIBCXX_USE_CONSTEXPR int digits @@ -1355,10 +1356,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_CONSTEXPR unsigned long long - epsilon() throw() { return 0; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_CONSTEXPR unsigned long long - round_error() throw() { return 0; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = 0; @@ -1373,16 +1374,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_CONSTEXPR unsigned long long - infinity() throw() { return static_cast(0); } + infinity() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned long long - quiet_NaN() throw() { return static_cast(0); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned long long - signaling_NaN() throw() { return static_cast(0); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_CONSTEXPR unsigned long long - denorm_min() throw() { return static_cast(0); } + denorm_min() _GLIBCXX_USE_NOEXCEPT + { return static_cast(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; @@ -1401,14 +1406,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR float - min() throw() { return __FLT_MIN__; } + min() _GLIBCXX_USE_NOEXCEPT { return __FLT_MIN__; } static _GLIBCXX_CONSTEXPR float - max() throw() { return __FLT_MAX__; } + max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr float - lowest() throw() { return -__FLT_MAX__; } + lowest() noexcept { return -__FLT_MAX__; } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __FLT_MANT_DIG__; @@ -1423,10 +1428,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__; static _GLIBCXX_CONSTEXPR float - epsilon() throw() { return __FLT_EPSILON__; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return __FLT_EPSILON__; } static _GLIBCXX_CONSTEXPR float - round_error() throw() { return 0.5F; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5F; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = __FLT_MIN_EXP__; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = __FLT_MIN_10_EXP__; @@ -1442,16 +1447,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION = __glibcxx_float_has_denorm_loss; static _GLIBCXX_CONSTEXPR float - infinity() throw() { return __builtin_huge_valf (); } + infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_valf(); } static _GLIBCXX_CONSTEXPR float - quiet_NaN() throw() { return __builtin_nanf (""); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nanf(""); } static _GLIBCXX_CONSTEXPR float - signaling_NaN() throw() { return __builtin_nansf (""); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nansf(""); } static _GLIBCXX_CONSTEXPR float - denorm_min() throw() { return __FLT_DENORM_MIN__; } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return __FLT_DENORM_MIN__; } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; @@ -1476,14 +1481,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR double - min() throw() { return __DBL_MIN__; } + min() _GLIBCXX_USE_NOEXCEPT { return __DBL_MIN__; } static _GLIBCXX_CONSTEXPR double - max() throw() { return __DBL_MAX__; } + max() _GLIBCXX_USE_NOEXCEPT { return __DBL_MAX__; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr double - lowest() throw() { return -__DBL_MAX__; } + lowest() noexcept { return -__DBL_MAX__; } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __DBL_MANT_DIG__; @@ -1498,10 +1503,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__; static _GLIBCXX_CONSTEXPR double - epsilon() throw() { return __DBL_EPSILON__; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return __DBL_EPSILON__; } static _GLIBCXX_CONSTEXPR double - round_error() throw() { return 0.5; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = __DBL_MIN_EXP__; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = __DBL_MIN_10_EXP__; @@ -1517,16 +1522,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION = __glibcxx_double_has_denorm_loss; static _GLIBCXX_CONSTEXPR double - infinity() throw() { return __builtin_huge_val(); } + infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_val(); } static _GLIBCXX_CONSTEXPR double - quiet_NaN() throw() { return __builtin_nan (""); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nan(""); } static _GLIBCXX_CONSTEXPR double - signaling_NaN() throw() { return __builtin_nans (""); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nans(""); } static _GLIBCXX_CONSTEXPR double - denorm_min() throw() { return __DBL_DENORM_MIN__; } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return __DBL_DENORM_MIN__; } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; @@ -1551,14 +1556,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_CONSTEXPR long double - min() throw() { return __LDBL_MIN__; } + min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MIN__; } static _GLIBCXX_CONSTEXPR long double - max() throw() { return __LDBL_MAX__; } + max() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MAX__; } #ifdef __GXX_EXPERIMENTAL_CXX0X__ static constexpr long double - lowest() throw() { return -__LDBL_MAX__; } + lowest() noexcept { return -__LDBL_MAX__; } #endif static _GLIBCXX_USE_CONSTEXPR int digits = __LDBL_MANT_DIG__; @@ -1573,10 +1578,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__; static _GLIBCXX_CONSTEXPR long double - epsilon() throw() { return __LDBL_EPSILON__; } + epsilon() _GLIBCXX_USE_NOEXCEPT { return __LDBL_EPSILON__; } static _GLIBCXX_CONSTEXPR long double - round_error() throw() { return 0.5L; } + round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5L; } static _GLIBCXX_USE_CONSTEXPR int min_exponent = __LDBL_MIN_EXP__; static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = __LDBL_MIN_10_EXP__; @@ -1592,16 +1597,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION = __glibcxx_long_double_has_denorm_loss; static _GLIBCXX_CONSTEXPR long double - infinity() throw() { return __builtin_huge_vall (); } + infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_vall(); } static _GLIBCXX_CONSTEXPR long double - quiet_NaN() throw() { return __builtin_nanl (""); } + quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nanl(""); } static _GLIBCXX_CONSTEXPR long double - signaling_NaN() throw() { return __builtin_nansl (""); } + signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nansl(""); } static _GLIBCXX_CONSTEXPR long double - denorm_min() throw() { return __LDBL_DENORM_MIN__; } + denorm_min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_DENORM_MIN__; } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc index c0b1f688ab6..632dc190adc 100644 --- a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc +++ b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc @@ -25,4 +25,4 @@ #include -// { dg-error "multiple inlined namespaces" "" { target *-*-* } 241 } +// { dg-error "multiple inlined namespaces" "" { target *-*-* } 252 }