summaryrefslogtreecommitdiff
path: root/libstdc++-v3/src
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-19 11:52:49 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-19 11:52:49 +0000
commitdb42550661e33484f34190b74423a7a041b0c85b (patch)
tree9edaaa5972438ced6926287d2953ef5efb0c0a91 /libstdc++-v3/src
parent7688ffe557b31b3987f870fe5dfef65813bb5eff (diff)
downloadgcc-db42550661e33484f34190b74423a7a041b0c85b.tar.gz
2011-09-19 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40856 * include/std/limits (numeric_limits<__int128_t>, numeric_limits<__uint128_t>): Add. * src/limits.cc:Define. * config/abi/pre/gnu.ver: Export. * include/ext/typelist.h (_GLIBCXX_TYPELIST_CHAIN16, 20): Add. * testsuite/util/testsuite_common_types.h (integral_types_gnu): Add (limits_tl): Use it. * testsuite/18_support/numeric_limits/requirements/ constexpr_functions.cc: Likewise. * testsuite/18_support/numeric_limits/40856.cc: New. * testsuite/18_support/numeric_limits/dr559.cc: Extend. * testsuite/18_support/numeric_limits/lowest.cc: Likewise. * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line numbers. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178969 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r--libstdc++-v3/src/limits.cc52
1 files changed, 51 insertions, 1 deletions
diff --git a/libstdc++-v3/src/limits.cc b/libstdc++-v3/src/limits.cc
index 5a21239d1bc..a2fe468eca9 100644
--- a/libstdc++-v3/src/limits.cc
+++ b/libstdc++-v3/src/limits.cc
@@ -1,6 +1,6 @@
// Static data members of -*- C++ -*- numeric_limits classes
-// Copyright (C) 1999, 2001, 2002, 2005, 2006, 2009, 2010
+// Copyright (C) 1999, 2001, 2002, 2005, 2006, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -389,6 +389,56 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
const bool numeric_limits<unsigned long long>::tinyness_before;
const float_round_style numeric_limits<unsigned long long>::round_style;
+#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
+ const bool numeric_limits<__int128_t>::is_specialized;
+ const int numeric_limits<__int128_t>::digits;
+ const int numeric_limits<__int128_t>::digits10;
+ const int numeric_limits<__int128_t>::max_digits10;
+ const bool numeric_limits<__int128_t>::is_signed;
+ const bool numeric_limits<__int128_t>::is_integer;
+ const bool numeric_limits<__int128_t>::is_exact;
+ const int numeric_limits<__int128_t>::radix;
+ const int numeric_limits<__int128_t>::min_exponent;
+ const int numeric_limits<__int128_t>::min_exponent10;
+ const int numeric_limits<__int128_t>::max_exponent;
+ const int numeric_limits<__int128_t>::max_exponent10;
+ const bool numeric_limits<__int128_t>::has_infinity;
+ const bool numeric_limits<__int128_t>::has_quiet_NaN;
+ const bool numeric_limits<__int128_t>::has_signaling_NaN;
+ const float_denorm_style numeric_limits<__int128_t>::has_denorm;
+ const bool numeric_limits<__int128_t>::has_denorm_loss;
+ const bool numeric_limits<__int128_t>::is_iec559;
+ const bool numeric_limits<__int128_t>::is_bounded;
+ const bool numeric_limits<__int128_t>::is_modulo;
+ const bool numeric_limits<__int128_t>::traps;
+ const bool numeric_limits<__int128_t>::tinyness_before;
+ const float_round_style numeric_limits<__int128_t>::round_style;
+
+ const bool numeric_limits<__uint128_t>::is_specialized;
+ const int numeric_limits<__uint128_t>::digits;
+ const int numeric_limits<__uint128_t>::digits10;
+ const int numeric_limits<__uint128_t>::max_digits10;
+ const bool numeric_limits<__uint128_t>::is_signed;
+ const bool numeric_limits<__uint128_t>::is_integer;
+ const bool numeric_limits<__uint128_t>::is_exact;
+ const int numeric_limits<__uint128_t>::radix;
+ const int numeric_limits<__uint128_t>::min_exponent;
+ const int numeric_limits<__uint128_t>::min_exponent10;
+ const int numeric_limits<__uint128_t>::max_exponent;
+ const int numeric_limits<__uint128_t>::max_exponent10;
+ const bool numeric_limits<__uint128_t>::has_infinity;
+ const bool numeric_limits<__uint128_t>::has_quiet_NaN;
+ const bool numeric_limits<__uint128_t>::has_signaling_NaN;
+ const float_denorm_style numeric_limits<__uint128_t>::has_denorm;
+ const bool numeric_limits<__uint128_t>::has_denorm_loss;
+ const bool numeric_limits<__uint128_t>::is_iec559;
+ const bool numeric_limits<__uint128_t>::is_bounded;
+ const bool numeric_limits<__uint128_t>::is_modulo;
+ const bool numeric_limits<__uint128_t>::traps;
+ const bool numeric_limits<__uint128_t>::tinyness_before;
+ const float_round_style numeric_limits<__uint128_t>::round_style;
+#endif
+
// float
const bool numeric_limits<float>::is_specialized;
const int numeric_limits<float>::digits;