From 45e206963a226dc93046a671951f8cc5bcce52cf Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 27 Apr 2016 12:57:58 +0100 Subject: [PATCH] libstdc++/70767 Define std::numeric_limits in C++98 mode PR libstdc++/70767 * include/std/limits: Update comments about DRs. (numeric_limits, numeric_limits, numeric_limits): Define unconditionally. From-SVN: r235486 --- libstdc++-v3/ChangeLog | 7 +++++++ libstdc++-v3/include/std/limits | 13 +++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e50b9ad26fc..080fd59afa0 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2016-04-27 Jonathan Wakely + + PR libstdc++/70767 + * include/std/limits: Update comments about DRs. + (numeric_limits, numeric_limits, + numeric_limits): Define unconditionally. + 2016-04-24 Jonathan Wakely PR libstdc++/70762 diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits index b25f8258baa..53a183f712e 100644 --- a/libstdc++-v3/include/std/limits +++ b/libstdc++-v3/include/std/limits @@ -307,9 +307,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * representation of a fundamental type on a given platform. For * non-fundamental types, the functions will return 0 and the data * members will all be @c false. - * - * _GLIBCXX_RESOLVE_LIB_DEFECTS: DRs 201 and 184 (hi Gaby!) are - * noted, but not incorporated in this documented (yet). */ template struct numeric_limits : public __numeric_limits_base @@ -360,7 +357,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION denorm_min() _GLIBCXX_USE_NOEXCEPT { return _Tp(); } }; -#if __cplusplus >= 201103L + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 559. numeric_limits + template struct numeric_limits : public numeric_limits<_Tp> { }; @@ -372,10 +371,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template struct numeric_limits : public numeric_limits<_Tp> { }; -#endif // Now there follow 16 explicit specializations. Yes, 16. Make sure - // you get the count right. (18 in c++0x mode) + // you get the count right. (18 in C++11 mode, with char16_t and char32_t.) + + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 184. numeric_limits wording problems /// numeric_limits specialization. template<>