diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-02 10:15:50 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-02 10:15:50 +0000 |
commit | 413b47e30d0338c8f6795e8f787b5af90d2fda77 (patch) | |
tree | bb8c89b2bc03e0359096edb497c5ff4d676ca371 /libstdc++-v3/testsuite/23_containers/vector/bool/capacity | |
parent | 1b0138604a7c4fef645b6cba0a6468525c843c06 (diff) | |
download | gcc-413b47e30d0338c8f6795e8f787b5af90d2fda77.tar.gz |
2007-04-02 Matthew Levine <gcc@severeweblint.org>
Paolo Carlini <pcarlini@suse.de>
PR libstdc++/31370
* include/bits/stl_bvector.h (vector<bool>::max_size): Fix.
(vector<bool>::_M_check_len): Add.
* include/bits/vector.tcc (_M_fill_insert(iterator, size_type, bool),
_M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: New.
* testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust.
* include/bits/stl_vector.h (vector<>::_M_check_len): Add.
* include/bits/vector.tcc (_M_insert_aux(iterator, const _Tp&),
_M_fill_insert(iterator, size_type, const value_type&),
_M_range_insert(iterator, _ForwardIterator, _ForwardIterator,
std::forward_iterator_tag)): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123424 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite/23_containers/vector/bool/capacity')
-rw-r--r-- | libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc index 4290c86fef9..69e5a535c9c 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2006 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -28,7 +28,11 @@ void test01() std::vector<bool> vb; - VERIFY( vb.max_size() == std::vector<bool>::size_type(-1) ); + // Actually, vector<bool> is special, see libstdc++/31370. + typedef std::vector<bool>::difference_type difference_type; + VERIFY( vb.max_size() + == (std::numeric_limits<difference_type>::max() + - int(std::_S_word_bit) + 1) ); } int main() |