]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/ext/array_allocator/1.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / ext / array_allocator / 1.cc
CommitLineData
f1717362 1// Copyright (C) 2004-2016 Free Software Foundation, Inc.
30a54583 2//
3// This file is part of the GNU ISO C++ Library. This library is free
4// software; you can redistribute it and/or modify it under the
5// terms of the GNU General Public License as published by the
6bc9506f 6// Free Software Foundation; either version 3, or (at your option)
30a54583 7// any later version.
8
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13
14// You should have received a copy of the GNU General Public License along
6bc9506f 15// with this library; see the file COPYING3. If not see
16// <http://www.gnu.org/licenses/>.
30a54583 17
9f663e49 18// { dg-options "-Wno-deprecated" }
30a54583 19
6f62aa54 20#include <ext/vstring.h>
30a54583 21#include <ext/array_allocator.h>
be940c0f 22#include <testsuite_hooks.h>
30a54583 23
24typedef char char_type;
25typedef std::char_traits<char_type> traits_type;
26typedef std::tr1::array<char_type, 4> array_type;
27
28array_type extern_array;
29
30void test01()
31{
be940c0f 32 bool test __attribute__((unused)) = true;
6f62aa54 33
34 using __gnu_cxx::__versa_string;
30a54583 35 typedef __gnu_cxx::array_allocator<char_type, array_type> allocator_type;
6f62aa54 36 typedef __versa_string<char_type, traits_type, allocator_type> string_type;
30a54583 37
38 allocator_type a(&extern_array);
39 string_type s(a);
40
41 try
42 {
43 s.reserve(4); // Actually need 4 + 1 + sizeof(std::string::_Rep).
44 }
45 catch(std::bad_alloc& obj)
46 {
be940c0f 47 VERIFY( true );
30a54583 48 }
49 catch(...)
50 {
be940c0f 51 VERIFY( false );
30a54583 52 }
53}
54
55int main()
56{
57 test01();
58 return 0;
59}