]>
Commit | Line | Data |
---|---|---|
aa118a03 | 1 | // Copyright (C) 2006-2014 Free Software Foundation, Inc. |
3b83e64b PC |
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 | |
748086b7 | 6 | // Free Software Foundation; either version 3, or (at your option) |
3b83e64b PC |
7 | // any later version. |
8 | ||
9 | // This library is distributed in the hope that it will be useful, | |
2328b1de | 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of |
3b83e64b PC |
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 | |
748086b7 JJ |
15 | // with this library; see the file COPYING3. If not see |
16 | // <http://www.gnu.org/licenses/>. | |
3b83e64b PC |
17 | |
18 | // 23.2.5 class vector<bool> [lib.vector.bool] | |
19 | ||
20 | #include <vector> | |
6725add5 | 21 | #include <limits> |
3b83e64b PC |
22 | #include <testsuite_hooks.h> |
23 | ||
24 | // libstdc++/29134 | |
25 | void test01() | |
26 | { | |
27 | bool test __attribute__((unused)) = true; | |
28 | ||
ece84738 BK |
29 | using std::vector; |
30 | using std::numeric_limits; | |
31 | ||
f0999267 | 32 | #ifdef _GLIBCXX_DEBUG |
12ffa228 | 33 | using std::_GLIBCXX_STD_C::_S_word_bit; |
f0999267 | 34 | #elif defined(_GLIBCXX_PROFILE) |
12ffa228 | 35 | using std::_GLIBCXX_STD_C::_S_word_bit; |
f0999267 PC |
36 | #else |
37 | using std::_S_word_bit; | |
ece84738 | 38 | #endif |
3b83e64b | 39 | |
be1088fa | 40 | // Actually, vector<bool> is special, see libstdc++/31370. |
ece84738 BK |
41 | vector<bool> vb; |
42 | typedef vector<bool>::difference_type difference_type; | |
7919bb2f | 43 | typedef vector<bool>::size_type size_type; |
be1088fa | 44 | VERIFY( vb.max_size() |
7919bb2f PC |
45 | == size_type(numeric_limits<difference_type>::max() |
46 | - int(_S_word_bit) + 1) ); | |
3b83e64b PC |
47 | } |
48 | ||
49 | int main() | |
50 | { | |
51 | test01(); | |
52 | return 0; | |
53 | } |