diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-19 11:52:49 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-19 11:52:49 +0000 |
commit | db42550661e33484f34190b74423a7a041b0c85b (patch) | |
tree | 9edaaa5972438ced6926287d2953ef5efb0c0a91 /libstdc++-v3/src | |
parent | 7688ffe557b31b3987f870fe5dfef65813bb5eff (diff) | |
download | gcc-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.cc | 52 |
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; |