diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2013-04-22 15:27:54 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2013-04-22 15:27:54 +0000 |
commit | 6a4b1a00fa29aa4f153071a8a663be4379cc75b9 (patch) | |
tree | e64e69f48c03c33c1604e70fbba10dc93c057c8d | |
parent | ea679d553f0c8791b2df470c138c6505a3be1cfc (diff) | |
download | gcc-6a4b1a00fa29aa4f153071a8a663be4379cc75b9.zip gcc-6a4b1a00fa29aa4f153071a8a663be4379cc75b9.tar.gz gcc-6a4b1a00fa29aa4f153071a8a663be4379cc75b9.tar.bz2 |
type_traits (is_signed): Simplify.
2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (is_signed): Simplify.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r198144
5 files changed, 17 insertions, 13 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ff95635..1031363 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,14 @@ 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com> + * include/std/type_traits (is_signed): Simplify. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Adjust dg-error line numbers. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. + +2013-04-22 Paolo Carlini <paolo.carlini@oracle.com> + N3669 * include/std/complex (complex<float>::real, complex<float>::imag, complex<double>::real, complex<double>::imag, diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 5bff0ab..79a9b6a 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3/include/std/type_traits @@ -538,18 +538,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { }; template<typename _Tp, - bool = is_integral<_Tp>::value, - bool = is_floating_point<_Tp>::value> + bool = is_arithmetic<_Tp>::value> struct __is_signed_helper : public false_type { }; template<typename _Tp> - struct __is_signed_helper<_Tp, false, true> - : public true_type { }; - - template<typename _Tp> - struct __is_signed_helper<_Tp, true, false> - : public integral_constant<bool, static_cast<bool>(_Tp(-1) < _Tp(0))> + struct __is_signed_helper<_Tp, true> + : public integral_constant<bool, _Tp(-1) < _Tp(0)> { }; /// is_signed diff --git a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc index 348964a..02347d1 100644 --- a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc +++ b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc @@ -19,7 +19,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// { dg-error "static assertion failed" "" { target *-*-* } 1857 } +// { dg-error "static assertion failed" "" { target *-*-* } 1852 } #include <utility> diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc index 7da7d1d..b2d5d77 100644 --- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc @@ -48,5 +48,5 @@ void test01() // { dg-error "required from here" "" { target *-*-* } 40 } // { dg-error "required from here" "" { target *-*-* } 42 } -// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1599 } -// { dg-error "declaration of" "" { target *-*-* } 1563 } +// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1594 } +// { dg-error "declaration of" "" { target *-*-* } 1558 } diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc index c769aa9..8980fe1 100644 --- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc @@ -48,5 +48,5 @@ void test01() // { dg-error "required from here" "" { target *-*-* } 40 } // { dg-error "required from here" "" { target *-*-* } 42 } -// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1517 } -// { dg-error "declaration of" "" { target *-*-* } 1481 } +// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1512 } +// { dg-error "declaration of" "" { target *-*-* } 1476 } |