Fix tests that fail with old std::string
authorJonathan Wakely <jwakely@redhat.com>
Fri, 2 Oct 2015 22:13:18 +0000 (23:13 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 2 Oct 2015 22:13:18 +0000 (23:13 +0100)
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
explicit instantiation with check for new ABI.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise. Use wchar_t as char_type.

From-SVN: r228435

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/minimal.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc

index 9633f61a21e994b01cfc92dcfb4e92a86d3a76b0..64841c9868c5ac93824d7cba34e4972e84a383e3 100644 (file)
@@ -1,5 +1,10 @@
 2015-10-02  Jonathan Wakely  <jwakely@redhat.com>
 
+       * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
+       explicit instantiation with check for new ABI.
+       * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
+       Likewise. Use wchar_t as char_type.
+
        * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
        (basic_string::front() const, basic_string::back() const): Use
        noexcept instead of _GLIBCXX_NOEXCEPT macro.
index 4bfd4cabe42ed07128b69dc7c378ea2a72473e9d..d8dbb002977eb5588319c872dd3885fda5f02744 100644 (file)
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
  
+#if _GLIBCXX_USE_CXX11_ABI
 using C = char;
 const C c = 'a';
 using traits = std::char_traits<C>;
 
 using __gnu_test::SimpleAllocator;
 
-template class std::basic_string<C,traits, SimpleAllocator<C>>;
+template class std::basic_string<C, traits, SimpleAllocator<C>>;
 
 void test01()
 {
-#if _GLIBCXX_USE_CXX11_ABI
   typedef SimpleAllocator<C> alloc_type;
   typedef std::allocator_traits<alloc_type> traits_type;
   typedef std::basic_string<C, traits, alloc_type> test_type;
   test_type v(alloc_type{});
   v.assign(1, c);
   v.assign(100, c);
-#endif
 }
+#else
+void test01() { }
+#endif
 
 int main()
 {
index bfba87cc76bb289d553f8d5fc05ac1905515469f..713e0302ef6076d071422f440b3424e17d24a21d 100644 (file)
@@ -22,7 +22,8 @@
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
  
-using C = char;
+#if _GLIBCXX_USE_CXX11_ABI && defined(_GLIBCXX_USE_WCHAR_T)
+using C = wchar_t;
 const C c = 'a';
 using traits = std::char_traits<C>;
 
@@ -32,18 +33,18 @@ template class std::basic_string<C,traits, SimpleAllocator<C>>;
 
 void test01()
 {
-#if _GLIBCXX_USE_CXX11_ABI && defined(_GLIBCXX_USE_WCHAR_T)
   typedef SimpleAllocator<C> alloc_type;
   typedef std::allocator_traits<alloc_type> traits_type;
   typedef std::basic_string<C, traits, alloc_type> test_type;
   test_type v(alloc_type{});
   v.assign(1, c);
   v.assign(100, c);
-#endif
 }
+#else
+void test01() { }
+#endif
 
 int main()
 {
   test01();
-  return 0;
 }