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.
#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()
{
#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>;
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;
}