diff options
Diffstat (limited to 'libcxx/test/containers/sequences/vector.bool/swap_noexcept.pass.cpp')
-rw-r--r-- | libcxx/test/containers/sequences/vector.bool/swap_noexcept.pass.cpp | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/libcxx/test/containers/sequences/vector.bool/swap_noexcept.pass.cpp b/libcxx/test/containers/sequences/vector.bool/swap_noexcept.pass.cpp deleted file mode 100644 index bcaf161119f..00000000000 --- a/libcxx/test/containers/sequences/vector.bool/swap_noexcept.pass.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <vector> - -// void swap(vector& c) -// noexcept(!allocator_type::propagate_on_container_swap::value || -// __is_nothrow_swappable<allocator_type>::value); - -// This tests a conforming extension - -#include <vector> -#include <cassert> - -#include "test_allocator.h" - -template <class T> -struct some_alloc -{ - typedef T value_type; - - some_alloc() {} - some_alloc(const some_alloc&); - void deallocate(void*, unsigned) {} - - typedef std::true_type propagate_on_container_swap; -}; - -int main() -{ -#if __has_feature(cxx_noexcept) - { - typedef std::vector<bool> C; - C c1, c2; - static_assert(noexcept(swap(c1, c2)), ""); - } - { - typedef std::vector<bool, test_allocator<bool>> C; - C c1, c2; - static_assert(noexcept(swap(c1, c2)), ""); - } - { - typedef std::vector<bool, other_allocator<bool>> C; - C c1, c2; - static_assert(noexcept(swap(c1, c2)), ""); - } - { - typedef std::vector<bool, some_alloc<bool>> C; - C c1, c2; - static_assert(!noexcept(swap(c1, c2)), ""); - } -#endif -} |