From 7aad1ae2b29e612611c62b9d30113f82213f1e38 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 18 Oct 2012 21:06:21 +0000 Subject: forward_list.h: Add C++11 allocator support. * include/bits/forward_list.h: Add C++11 allocator support. * include/bits/forward_list.tcc: Likewise. * doc/xml/manual/status_cxx2011.xml: Update. * testsuite/23_containers/forward_list/allocator/copy.cc: New. * testsuite/23_containers/forward_list/allocator/copy_assign.cc: New. * testsuite/23_containers/forward_list/allocator/minimal.cc: New. * testsuite/23_containers/forward_list/allocator/move_assign.cc: New. * testsuite/23_containers/forward_list/allocator/noexcept.cc: New. * testsuite/23_containers/forward_list/allocator/swap.cc: New. From-SVN: r192588 --- .../23_containers/forward_list/allocator/copy.cc | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc (limited to 'libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc') diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc new file mode 100644 index 00000000000..c388ef3d453 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc @@ -0,0 +1,55 @@ +// Copyright (C) 2012 Free Software Foundation +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// . + +// { dg-options "-std=gnu++0x" } + +#include +#include +#include + +struct T { int i; }; + +using __gnu_test::propagating_allocator; + +void test01() +{ + bool test __attribute__((unused)) = true; + typedef propagating_allocator alloc_type; + typedef std::forward_list test_type; + test_type v1(alloc_type(1)); + test_type v2(v1); + VERIFY(1 == v1.get_allocator().get_personality()); + VERIFY(0 == v2.get_allocator().get_personality()); +} + +void test02() +{ + bool test __attribute__((unused)) = true; + typedef propagating_allocator alloc_type; + typedef std::forward_list test_type; + test_type v1(alloc_type(1)); + test_type v2(v1); + VERIFY(1 == v1.get_allocator().get_personality()); + VERIFY(1 == v2.get_allocator().get_personality()); +} + +int main() +{ + test01(); + test02(); + return 0; +} -- cgit v1.2.1