]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/20_util/allocator/8230.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 20_util / allocator / 8230.cc
CommitLineData
ba9d552e
BK
1// 2001-06-14 Benjamin Kosnik <bkoz@redhat.com>
2
8d9254fc 3// Copyright (C) 2001-2020 Free Software Foundation, Inc.
ba9d552e
BK
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
748086b7 8// Free Software Foundation; either version 3, or (at your option)
ba9d552e
BK
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License along
748086b7
JJ
17// with this library; see the file COPYING3. If not see
18// <http://www.gnu.org/licenses/>.
ba9d552e
BK
19
20// 20.4.1.1 allocator members
21
22#include <memory>
23#include <stdexcept>
24#include <testsuite_hooks.h>
2cae56bd 25#include <testsuite_allocator.h>
ba9d552e
BK
26
27// libstdc++/8230
28void test02()
29{
118c8424 30 bool test = true;
ba9d552e
BK
31 try
32 {
33 std::allocator<int> alloc;
2cae56bd 34 const std::allocator<int>::size_type n = __gnu_test::max_size(alloc);
ba9d552e
BK
35 int* p = alloc.allocate(n + 1);
36 p[n] = 2002;
37 }
2cae56bd 38 catch(const std::bad_alloc& e)
ba9d552e
BK
39 {
40 // Allowed.
41 test = true;
42 }
43 catch(...)
44 {
45 test = false;
46 }
47 VERIFY( test );
48}
49
50int main()
51{
52 test02();
53 return 0;
54}