]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / tr1 / 6_containers / array / element_access / at_out_of_range.cc
CommitLineData
aed305a9
BK
1// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
2//
748086b7
JJ
3// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
4// Free Software Foundation, Inc.
aed305a9
BK
5//
6// This file is part of the GNU ISO C++ Library. This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
748086b7 9// Free Software Foundation; either version 3, or (at your option)
aed305a9
BK
10// any later version.
11//
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16//
17// You should have received a copy of the GNU General Public License along
748086b7
JJ
18// with this library; see the file COPYING3. If not see
19// <http://www.gnu.org/licenses/>.
aed305a9
BK
20
21// 6.2.2 Class template array
22
23#include <tr1/array>
24#include <stdexcept>
e7457c3e 25#include <testsuite_hooks.h>
aed305a9
BK
26
27void
28test01()
29{
30 const size_t len = 5;
31 typedef std::tr1::array<int, len> array_type;
32 bool test __attribute__((unused)) = true;
395c9e79 33 array_type a = { { 0, 1, 2, 3, 4 } };
aed305a9
BK
34
35 try
36 {
37 a.at(len);
e7457c3e 38 VERIFY( false );
aed305a9
BK
39 }
40 catch(std::out_of_range& obj)
41 {
42 // Expected.
e7457c3e 43 VERIFY( true );
aed305a9
BK
44 }
45 catch(...)
46 {
47 // Failed.
e7457c3e 48 VERIFY( false );
aed305a9
BK
49 }
50}
51
52int main()
53{
54 test01();
55 return 0;
56}