mirror of git://gcc.gnu.org/git/gcc.git
re PR libstdc++/22200 (numeric_limits<signed>::is_modulo is inconsistent with gcc)
2012-04-29 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/22200 * include/std/limits (numeric_limits<>::is_modulo): False for signed types. From-SVN: r186944
This commit is contained in:
parent
94ee697923
commit
1c8300874e
|
@ -1,7 +1,14 @@
|
||||||
|
2012-04-29 Marc Glisse <marc.glisse@inria.fr>
|
||||||
|
|
||||||
|
PR libstdc++/22200
|
||||||
|
* include/std/limits (numeric_limits<>::is_modulo): False for
|
||||||
|
signed types.
|
||||||
|
|
||||||
2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
|
2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
* include/bits/hashtable.h: Adjust doxygen markup for base classes.
|
* include/bits/hashtable.h: Adjust doxygen markup for base
|
||||||
* include/bits/hashtable_policy.h: Same.
|
classes.
|
||||||
|
* include/bits/hashtable_policy.h: Same.
|
||||||
|
|
||||||
2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
|
2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
|
|
|
@ -270,10 +270,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
false for arbitrary precision types.</em> [18.2.1.2]/54 */
|
false for arbitrary precision types.</em> [18.2.1.2]/54 */
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = false;
|
||||||
|
|
||||||
/** True if the type is @e modulo, that is, if it is possible to add two
|
/** True if the type is @e modulo. A type is modulo if, for any
|
||||||
positive numbers and have a result that wraps around to a third number
|
operation involving +, -, or * on values of that type whose
|
||||||
that is less. Typically false for floating types, true for unsigned
|
result would fall outside the range [min(),max()], the value
|
||||||
integers, and true for signed integers. */
|
returned differs from the true value by an integer multiple of
|
||||||
|
max() - min() + 1. On most machines, this is false for floating
|
||||||
|
types, true for unsigned integers, and true for signed integers.
|
||||||
|
See PR22200 about signed integers. */
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
|
||||||
|
|
||||||
/** True if trapping is implemented for this type. */
|
/** True if trapping is implemented for this type. */
|
||||||
|
@ -494,7 +497,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = !is_signed;
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
||||||
|
@ -564,7 +567,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
||||||
|
@ -705,7 +708,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = !is_signed;
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
||||||
|
@ -768,7 +771,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static constexpr bool is_iec559 = false;
|
static constexpr bool is_iec559 = false;
|
||||||
static constexpr bool is_bounded = true;
|
static constexpr bool is_bounded = true;
|
||||||
static constexpr bool is_modulo = true;
|
static constexpr bool is_modulo = !is_signed;
|
||||||
|
|
||||||
static constexpr bool traps = __glibcxx_integral_traps;
|
static constexpr bool traps = __glibcxx_integral_traps;
|
||||||
static constexpr bool tinyness_before = false;
|
static constexpr bool tinyness_before = false;
|
||||||
|
@ -829,7 +832,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static constexpr bool is_iec559 = false;
|
static constexpr bool is_iec559 = false;
|
||||||
static constexpr bool is_bounded = true;
|
static constexpr bool is_bounded = true;
|
||||||
static constexpr bool is_modulo = true;
|
static constexpr bool is_modulo = !is_signed;
|
||||||
|
|
||||||
static constexpr bool traps = __glibcxx_integral_traps;
|
static constexpr bool traps = __glibcxx_integral_traps;
|
||||||
static constexpr bool tinyness_before = false;
|
static constexpr bool tinyness_before = false;
|
||||||
|
@ -896,7 +899,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
||||||
|
@ -1036,7 +1039,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
||||||
|
@ -1175,7 +1178,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
||||||
|
@ -1318,7 +1321,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
|
||||||
|
@ -1465,7 +1468,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;
|
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
|
||||||
|
|
||||||
static _GLIBCXX_USE_CONSTEXPR bool traps
|
static _GLIBCXX_USE_CONSTEXPR bool traps
|
||||||
= __glibcxx_integral_traps;
|
= __glibcxx_integral_traps;
|
||||||
|
|
Loading…
Reference in New Issue