]>
Commit | Line | Data |
---|---|---|
f1717362 | 1 | // Copyright (C) 2006-2016 Free Software Foundation, Inc. |
8cba3b27 | 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) |
8cba3b27 | 7 | // any later version. |
8 | ||
9 | // This library is distributed in the hope that it will be useful, | |
c68c6d54 | 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of |
8cba3b27 | 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/>. | |
8cba3b27 | 17 | |
18 | // 23.2.5 class vector<bool> [lib.vector.bool] | |
19 | ||
20 | #include <vector> | |
ee620c0d | 21 | #include <limits> |
8cba3b27 | 22 | #include <testsuite_hooks.h> |
23 | ||
24 | // libstdc++/29134 | |
25 | void test01() | |
26 | { | |
27 | bool test __attribute__((unused)) = true; | |
28 | ||
aadc3189 | 29 | using std::vector; |
30 | using std::numeric_limits; | |
31 | ||
00800310 | 32 | #ifdef _GLIBCXX_DEBUG |
2948dd21 | 33 | using std::_GLIBCXX_STD_C::_S_word_bit; |
00800310 | 34 | #elif defined(_GLIBCXX_PROFILE) |
2948dd21 | 35 | using std::_GLIBCXX_STD_C::_S_word_bit; |
00800310 | 36 | #else |
37 | using std::_S_word_bit; | |
aadc3189 | 38 | #endif |
8cba3b27 | 39 | |
413b47e3 | 40 | // Actually, vector<bool> is special, see libstdc++/31370. |
aadc3189 | 41 | vector<bool> vb; |
42 | typedef vector<bool>::difference_type difference_type; | |
810d0cce | 43 | typedef vector<bool>::size_type size_type; |
413b47e3 | 44 | VERIFY( vb.max_size() |
810d0cce | 45 | == size_type(numeric_limits<difference_type>::max() |
46 | - int(_S_word_bit) + 1) ); | |
8cba3b27 | 47 | } |
48 | ||
49 | int main() | |
50 | { | |
51 | test01(); | |
52 | return 0; | |
53 | } |