PR libstdc++/61532
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 Jun 2014 18:17:03 +0000 (18:17 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 Jun 2014 18:17:03 +0000 (18:17 +0000)
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
apply the signed specifier to wchar_t.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
cv-qualifier and size.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211909 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc

index 4c67c60..9d344d1 100644 (file)
@@ -5,6 +5,15 @@
        * testsuite/20_util/duration/literals/values.cc: Test non-positive
        values and digit separators.
 
+       PR libstdc++/61532
+       * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
+       apply the signed specifier to wchar_t.
+       * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
+       cv-qualifier and size.
+       * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
+       Likewise.
+
 2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
            Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
index e3b84d6..5b094d9 100644 (file)
@@ -29,6 +29,7 @@ void test01()
   using std::make_signed;
   using std::is_same;
   using std::is_signed;
+  using std::is_volatile;
 
   // Positive tests.
   typedef make_signed<const int>::type         test2_type;
@@ -53,7 +54,9 @@ void test01()
 
 #ifdef _GLIBCXX_USE_WCHAR_T
   typedef make_signed<volatile wchar_t>::type          test23_type;
-  static_assert( is_same<test23_type, volatile signed wchar_t>::value,
+  static_assert( is_signed<test23_type>::value
+                 && is_volatile<test23_type>::value
+                 && sizeof(test23_type) == sizeof(volatile wchar_t),
                  "make_signed<volatile wchar_t>" );
 #endif
 
index 654b375..3f47dba 100644 (file)
@@ -30,6 +30,8 @@ void test01()
 {
   using std::make_signed;
   using std::is_same;
+  using std::is_signed;
+  using std::is_volatile;
 
   // Positive tests.
   typedef make_signed<const int>::type         test2_type;
@@ -50,7 +52,9 @@ void test01()
 
 #ifdef _GLIBCXX_USE_WCHAR_T
   typedef make_signed<volatile wchar_t>::type          test23_type;
-  static_assert(is_same<test23_type, volatile signed wchar_t>::value, "");
+  static_assert(is_signed<test23_type>::value
+                 && is_volatile<test23_type>::value
+                 && sizeof(test23_type) == sizeof(volatile wchar_t), "");
 #endif
 
   typedef make_signed<test_enum>::type         test24_type;
index d9f13aa..de65504 100644 (file)
@@ -29,6 +29,7 @@ void test01()
   using std::make_unsigned;
   using std::is_same;
   using std::is_unsigned;
+  using std::is_volatile;
 
   // Positive tests.
   typedef make_unsigned<const unsigned int>::type      test2_type;
@@ -49,7 +50,9 @@ void test01()
 
 #ifdef _GLIBCXX_USE_WCHAR_T
   typedef make_unsigned<volatile wchar_t>::type        test23_type;
-  static_assert(is_unsigned<test23_type>::value, "");
+  static_assert(is_unsigned<test23_type>::value
+                && is_volatile<test23_type>::value
+                && sizeof(test23_type) == sizeof(volatile wchar_t), "");
 #endif
 
   // Chapter 48, chapter 20. Smallest rank such that new unsigned type
index 807e2bf..7801dca 100644 (file)
@@ -31,6 +31,7 @@ void test01()
   using std::make_unsigned;
   using std::is_same;
   using std::is_unsigned;
+  using std::is_volatile;
 
   // Positive tests.
   typedef make_unsigned<const unsigned int>::type      test2_type;
@@ -51,7 +52,9 @@ void test01()
 
 #ifdef _GLIBCXX_USE_WCHAR_T
   typedef make_unsigned<volatile wchar_t>::type        test23_type;
-  static_assert(is_unsigned<test23_type>::value, "");
+  static_assert(is_unsigned<test23_type>::value
+                && is_volatile<test23_type>::value
+                && sizeof(test23_type) == sizeof(volatile wchar_t), "");
 #endif
 
   typedef make_unsigned<test_enum>::type         test24_type;