summaryrefslogtreecommitdiff
path: root/include/string
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-12-28 05:53:01 +0000
committerEric Fiselier <eric@efcs.ca>2016-12-28 05:53:01 +0000
commit47257c4a7d983f0b727e2fabb00761a41d631f11 (patch)
tree155294ffe6a4bc867b0db38ac8d509a7083a3f88 /include/string
parent2c8aa056f45b0d71acc84f9530a6234ce74d9d6c (diff)
Add tests for unordered container tests and std::string
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290655 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/string')
-rw-r--r--include/string12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/string b/include/string
index 2e5ffc1b6..98f538c38 100644
--- a/include/string
+++ b/include/string
@@ -1105,9 +1105,9 @@ public:
_LIBCPP_INLINE_VISIBILITY
void swap(basic_string& __str)
#if _LIBCPP_STD_VER >= 14
- _NOEXCEPT;
+ _NOEXCEPT_DEBUG;
#else
- _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
+ _NOEXCEPT_DEBUG_(!__alloc_traits::propagate_on_container_swap::value ||
__is_nothrow_swappable<allocator_type>::value);
#endif
@@ -2996,9 +2996,9 @@ inline _LIBCPP_INLINE_VISIBILITY
void
basic_string<_CharT, _Traits, _Allocator>::swap(basic_string& __str)
#if _LIBCPP_STD_VER >= 14
- _NOEXCEPT
+ _NOEXCEPT_DEBUG
#else
- _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
+ _NOEXCEPT_DEBUG_(!__alloc_traits::propagate_on_container_swap::value ||
__is_nothrow_swappable<allocator_type>::value)
#endif
{
@@ -3009,6 +3009,10 @@ basic_string<_CharT, _Traits, _Allocator>::swap(basic_string& __str)
__get_db()->__invalidate_all(&__str);
__get_db()->swap(this, &__str);
#endif
+ _LIBCPP_ASSERT(
+ __alloc_traits::propagate_on_container_swap::value ||
+ __alloc_traits::is_always_equal::value ||
+ __alloc() == __str.__alloc(), "swapping non-equal allocators");
_VSTD::swap(__r_.first(), __str.__r_.first());
__swap_allocator(__alloc(), __str.__alloc());
}