Paolo Carlini
9f889fcf52
DR 538, [Ready]
...
2006-04-10 Paolo Carlini <pcarlini@suse.de>
DR 538, [Ready]
* include/bits/stl_algo.h (__unique_copy(,,, input_iterator_tag,
output_iterator_tag), and predicated counterpart): Revert to the
algorithm pre-DR 241, i.e., value_type of InputIterator is now
required to be Assignable too.
* testsuite/25_algorithms/unique_copy/3.cc: Remove.
* docs/html/ext/howto.html: Add an entry for DR 538.
From-SVN: r112818
2006-04-10 10:05:51 +00:00
Paolo Carlini
df10833162
vstring.h (operator[]): Allow s[s.size()] in debug mode, but not pedantic mode.
...
2006-03-28 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.h (operator[]): Allow s[s.size()] in
debug mode, but not pedantic mode.
From-SVN: r112447
2006-03-28 12:54:04 +00:00
Paolo Carlini
d4d21a0103
re PR libstdc++/26777 (sync_with_stdio(false) triggers bug with sgetc and pubseekoff)
...
2006-03-22 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26777
* include/bits/fstream.tcc (basic_filebuf<>::_M_seek): Check
the return value of _M_file.seekoff.
* testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: New.
From-SVN: r112286
2006-03-22 15:13:46 +00:00
Paolo Carlini
0002d5d2bc
re PR libstdc++/25482 (Specialize (overload) std::copy/find for streambuf iterators)
...
2006-03-21 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/25482
* include/bits/stl_algobase.h (__copy_aux(_CharT*, _CharT*,
ostreambuf_iterator<_CharT>), __copy_aux(const _CharT*, const _CharT*,
ostreambuf_iterator<_CharT>), __copy_aux(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT*), copy(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>)): Declare.
* include/bits/stl_algo.h (find(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT)): Likewise.
* include/bits/streambuf_iterator.h (copy(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>),
__copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>),
__copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>),
__copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
_CharT*), find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
_CharT)): Define.
(class istreambuf_iterator<>, class ostreambuf_iterator<>): Declare
friends.
* include/std/std_streambuf.h (class basic_streambuf<>): Likewise.
* include/bits/cpp_type_traits.h (struct __is_char<>): Add.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: New.
* testsuite/performance/25_algorithms/copy_streambuf_iterators.cc: New.
* testsuite/performance/25_algorithms/find_istreambuf_iterators.cc: New.
From-SVN: r112247
2006-03-21 12:25:11 +00:00
Paolo Carlini
c4d448b2fb
postypes.h (fpos<>::operator==, operator!=): Remove, exploit conversion to streamoff.
...
2006-03-13 Paolo Carlini <pcarlini@suse.de>
* include/bits/postypes.h (fpos<>::operator==, operator!=): Remove,
exploit conversion to streamoff.
* testsuite/27_io/fpos/mbstate_t/5.cc: New.
From-SVN: r112018
2006-03-13 18:23:26 +00:00
Paolo Carlini
9a7ab578fb
cmath: Add atan2 and pow bits; add using declarations.
...
2006-03-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cmath: Add atan2 and pow bits; add using declarations.
* include/tr1/math.h: Add using declarations.
* include/tr1/complex: Add using declarations.
* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Fully
qualify calls.
* testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Likewise;
add atan2 and pow bits.
* testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
* testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise;
adjust polar bits.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add checks for double_t
and float_t typedefs.
* include/tr1/cmath: Add double_t and float_t.
* testsuite/tr1/8_c_compatibility/cmath/types.cc: New.
* include/tr1/ctgmath: New.
* include/tr1/tgmath.h: Likewise.
* include/Makefile.am: Add.
* testsuite/tr1/headers.cc: Update.
* include/Makefile.in: Regenerate.
* configure: Likewise.
* docs/html/ext/tr1.html: Update.
From-SVN: r111931
2006-03-10 13:24:57 +00:00
Paolo Carlini
3577e3eafb
cmath: Add C99 overloads.
...
2006-03-07 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cmath: Add C99 overloads.
* include/tr1/common.h (struct __promote_3): Add.
* testsuite/tr1/8_c_compatibility/cmath/overloads.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Tweak.
* testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
From-SVN: r111813
2006-03-07 16:53:44 +00:00
Paolo Carlini
e3dfd6d555
re PR target/26532 (libmudflap failures on ia64)
...
2006-03-06 Paolo Carlini <pcarlini@suse.de>
PR target/26532
* config/io/c_io_stdio.h (struct __ios_flags): Remove.
* include/bits/ios_base.h: Adjust consistently.
(ios_base::_S_local_word_size): Change to an anonymous enum.
* src/ios.cc: Do not define static const data of __ios_flags,
likewise for ios_base::_S_local_word_size.
* include/bits/locale_classes.h (locale::_S_categories_size):
Change to an anonymous enum.
* src/locale.cc: Don't define.
From-SVN: r111789
2006-03-06 18:06:47 +00:00
Paolo Carlini
a9afbfd45b
2006-02-27 Paolo Carlini <pcarlini@suse.de>
...
* Add <tr1/cstdbool> and <tr1/stdbool.h>, missing from
the last commit.
From-SVN: r111472
2006-02-27 09:40:31 +00:00
Paolo Carlini
1e41a98ca5
cmath: Add templates (8.16.3).
...
2006-02-26 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cmath: Add templates (8.16.3).
* include/tr1/cstbool: New.
* include/tr1/stdbool.h: Likewise.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cmath/templates.cc: New.
* testsuite/tr1/headers.cc: Update.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <stdbool.h> check.
* docs/html/ext/tr1.html: Update.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
From-SVN: r111456
2006-02-26 18:42:29 +00:00
Paolo Carlini
ffe7d885e0
array (array<>::swap, assign): Implement.
...
2006-02-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/array (array<>::swap, assign): Implement.
* include/tr1/array (operator==, operator!=, operator<,
operator>, operator>=, operator<=, swap, get): Inline.
* testsuite/tr1/6_containers/array/requirements/member_swap.cc: New.
* testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
* testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
Likewise.
From-SVN: r111424
2006-02-24 19:13:49 +00:00
Paolo Carlini
f8190ffc6c
re PR libstdc++/26132 (tr1/hashtable: rehash not implemented)
...
2006-02-22 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26132
* include/tr1/hashtable (hashtable<>::rehash): Define.
* testsuite/tr1/6_containers/unordered/hashtable/26132.cc: New.
* include/tr1/hashtable: Trivial formatting and stylistic fixes.
* testsuite/tr1/headers.cc: remove <tr1/hashtable>, not a tr1 header,
only an implementation detail.
From-SVN: r111366
2006-02-22 17:05:58 +00:00
Paolo Carlini
afde1de353
list (splice): Remove splice_alloc check, redundant after implementing the splice bits of N1599.
...
2006-02-22 Paolo Carlini <pcarlini@suse.de>
* include/debug/list (splice): Remove splice_alloc check, redundant
after implementing the splice bits of N1599.
From-SVN: r111361
2006-02-22 10:20:09 +00:00
Benjamin Kosnik
0d4124d448
cmath.tcc: Use _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE.
...
2006-02-21 Benjamin Kosnik <bkoz@redhat.com>
* include/c_std/cmath.tcc: Use _GLIBCXX_BEGIN_NAMESPACE,
_GLIBCXX_END_NAMESPACE.
From-SVN: r111357
2006-02-22 02:26:47 +00:00
Benjamin Kosnik
45f388bb44
c++config: Simplify debug namespaces.
...
2006-02-21 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Simplify debug namespaces.
* include/ext/hash_set: Specialize insert_iterator after norm,
debug containers have been (optionally) declared. Use nested
namespaces.
* include/ext/hash_map: Same.
* include/debug/hash_map.h (insert): Add specialization for value
pointer types.
* include/debug/hash_set.h (insert): Same.
* include/debug/hash_multimap.h: Change __gnu_debug_def to __debug.
* include/debug/set.h: Same.
* include/debug/bitset: Same.
* include/debug/multiset.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/vector: Same.
* include/debug/map.h: Same.
* include/debug/deque: Same.
* include/debug/list: Same.
* include/debug/multimap.h. Same.
* include/debug/macros.h: Use __gnu_debug.
* include/debug/debug.h: Same.
* include/debug/formatter.h: Same.
* include/debug/safe_sequence.h: Same.
* include/debug/functions.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/safe_iterator.h: Same.
* include/debug/safe_iterator.tcc: Same.
(_M_invalidate): Adjust compare order.
* include/debug/string: Change std::__gnu_debug to __gnu_debug.
* include/ext/hashtable.h: Formatting fixes.
* include/bits/stl_map.h: Formatting fixes.
* src/compatibility.cc: Adjust compatibility symbols for old debug
mode model.
* src/debug_list.cc: Tweak.
* src/debug.cc: Adjust namespaces.
* docs/html/debug_mode.html: Adjust namespace names.
* testsuite/25_algorithms/heap/heap.cc: Restore _GLIBCXX_DEBUG
macro guards, as count values differ when in debug mode.
* testsuite/23_containers/vector/26412.cc: Move to...
* testsuite/23_containers/vector/26412-1.cc: ... here.
* testsuite/23_containers/vector/26412-2.cc: Add.
* include/ext/pb_assoc/detail/standard_policies.hpp
(PB_ASSOC_HASH_NAMESPACE): Remove, use __gnu_cxx::hash_map and
std::equal_to.
* configure.ac (libtool_VERSION): To 6:8:0.
* configure: Regenerate.
* config/abi/pre/gnu.ver: Revert to exporting __gnu_debug symbols.
(GLIBCXX_3.4.8): New.
* testsuite/testsuite_abi.cc: Add GLIBCXX_3.4.8 to known versions.
From-SVN: r111356
2006-02-22 00:57:24 +00:00
Paolo Carlini
03ba64bb82
hashtable: Trivial formatting fixes.
...
2006-02-21 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable: Trivial formatting fixes.
From-SVN: r111355
2006-02-22 00:42:04 +00:00
Paolo Carlini
c849c938da
Revert recent commit for libstdc++/26211, now suspended waiting for DR 342 (reopened) to reach a new resolution.
...
2006-02-20 Paolo Carlini <pcarlini@suse.de>
Revert recent commit for libstdc++/26211, now suspended waiting for
DR 342 (reopened) to reach a new resolution.
* include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
seekg(off_type, ios_base::seekdir)): Remove sentry.
* testsuite/27_io/basic_istream/seekg/char/26211.cc: Remove.
* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Revert changes.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
From-SVN: r111302
2006-02-20 14:20:51 +00:00
Paolo Carlini
62448787eb
std_sstream.h (basic_stringbuf<>::setbuf): Simply clear the internal _M_string, adjust _M_sync call.
...
2006-02-19 Paolo Carlini <pcarlini@suse.de>
* include/std/std_sstream.h (basic_stringbuf<>::setbuf): Simply
clear the internal _M_string, adjust _M_sync call.
* include/bits/sstream.tcc (basic_stringbuf<>::_M_sync): Adjust
consistently for calls from setbuf.
From-SVN: r111274
2006-02-19 18:27:06 +00:00
Paolo Carlini
10d9600d58
re PR libstdc++/26250 (stringbuf::overflow() fails to set egptr() same as epptr())
...
2006-02-17 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
PR libstdc++/26250
* include/bits/sstream.tcc (basic_stringbuf<>::overflow): Tweak
to leave epgtr() just past the new write position, as per the
relevant bits of 27.7.1.3/8 (not changed by DR 432).
* testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: New.
* testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Same.
* docs/html/ext/howto.html: Add entries for DR 169 and DR 432.
* include/std/std_sstream.h (basic_stringbuf<>::_M_sync): Move out
of line...
* include/bits/sstream.tcc: ... here.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r111177
2006-02-17 10:46:57 +00:00
Paolo Carlini
ef6c9873ef
re PR libstdc++/26211 ([DR 419, US 137 / US 139] basic_istream::tellg, seekg are unformatted input functions)
...
2006-02-12 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26211
* include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
27.6.1.3/1.
* testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Adjust.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
From-SVN: r110891
2006-02-12 16:09:41 +00:00
Paolo Carlini
6f4d3d8656
re PR libstdc++/26181 (istream::operator>>(streambuf*) fails to set eofbit)
...
2006-10-02 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26181
* include/bits/streambuf.tcc (__copy_streambufs_eof): New, like
the existing __copy_streambufs but reporting eof in input.
(__copy_streambufs): Just use the latter.
* src/streambuf.cc (__copy_streambufs_eof): Adjust specializations
of __copy_streambufs.
* include/bits/istream.tcc (operator>>(__streambuf_type*)): Use
__copy_streambufs_eof instead.
* include/std/std_streambuf.h: Adjust.
* src/streambuf-inst.cc: Adjust.
* config/abi/pre/gnu.ver: Export the new symbols.
* testsuite/27_io/basic_istream/extractors_other/char/26181.cc: New.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Adjust.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc:
Likewise.
From-SVN: r110841
2006-02-10 18:29:04 +00:00
Benjamin Kosnik
7ec4a5ce43
re PR libstdc++/26142 (global debug namespace clashes everywhere)
...
2006-02-08 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/26142
* include/debug/debug.h: Move debug alias inside namespace std,
same with namespace __gnu_cxx. Add top-level __gnu_debug
namespace.
* include/debug/hash_multimap.h: Nest within __gnu_cxx, not
std. Also, change nesting namespace name from __gnu_debug_def to
__gnu_debug.
* include/debug/hash_map.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/hash_set.h: Same.
* docs/html/debug.html: Same.
* testsuite/23_containers/vector/26412.cc: New.
* testsuite/23_containers/vector/invalidation/1.cc: Correct
qualifications for debug namespace change.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/modifiers/insert/16813.cc: Same.
* testsuite/21_strings/basic_string/2.cc: Same.
From-SVN: r110786
2006-02-09 04:31:38 +00:00
Paolo Carlini
3089d5a419
PR libstdc++/26133 (DR 241, [WP])
...
2006-02-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/26133 (DR 241, [WP])
* include/bits/stl_algo.h (__unique_copy(,,, forward_iterator_tag,
output_iterator_tag), __unique_copy(,,, input_iterator_tag,
output_iterator_tag), __unique_copy(,,, input_iterator_tag,
forward_iterator_tag), and predicated counterparts): Add.
(__unique_copy(,,, output_iterator_tag), __unique_copy(,,,
forward_iterator_tag), and predicated counterparts): Remove.
(unique_copy): Adjust, dispatch to the three helpers above.
* testsuite/25_algorithms/unique_copy/2.cc: New.
* testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
* testsuite/25_algorithms/unique_copy/3.cc: Likewise.
* docs/html/ext/howto.html: Add an entry for DR 241.
* testsuite/25_algorithms/unique_copy/1.cc: Minor cosmetic changes.
From-SVN: r110772
2006-02-08 21:51:55 +00:00
Jakub Jelinek
6defecc2d3
configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
...
2006-02-07 Jakub Jelinek <jakub@redhat.com>
Benjamin Kosnik <bkoz@redhat.com>
* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
If true, set also port_specific_symbol_files and create
as_symver_specs.
(GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* config/os/gnu-linux/ldbl-extra.ver: New file.
* config/abi/pre/gnu.ver: Make sure no __float128 symbols are
exported.
* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
_GLIBCXX_END_LDBL_NAMESPACE): Define.
* include/bits/localefwd.h: Use them to conditionally scope facets.
* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
* include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
(std::money_get::__do_get, std::money_put::__do_put,
std::num_get::__do_get, std::num_put::__do_put): New
specializations.
* include/Makefile.am: Conditionally define
_GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
* include/Makefile.in: Regenerate.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
_GLIBCXX_SYNC_ID): Define, use them.
* src/compatibility-ldbl.cc: New file.
* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
symbols.
* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* src/Makefile.am (libstdc++-symbol.ver): Append instead of
insert in the middle if port specific symbol file requests it.
(ldbl_compat_sources): New variable.
(sources): Use it.
(compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
* src/Makefile.in: Rebuilt.
* testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r110725
2006-02-07 22:23:58 +00:00
Paolo Carlini
774b9d213a
[multiple changes]
...
2006-02-07 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable: Trivial formatting fixes.
2006-02-07 Paolo Carlini <pcarlini@suse.de>
Zak Kipling <zak@transversal.com>
PR libstdc++/26127
* include/tr1/hashtable (hashtable<>::key_equal): Define.
(hashtable<>::bucket, rehash_base<>::max_load_factor): Fix.
* testsuite/tr1/6_containers/unordered/hashtable/26127.cc: New.
Co-Authored-By: Zak Kipling <zak@transversal.com>
From-SVN: r110697
2006-02-07 15:11:10 +00:00
Paolo Carlini
4f0de5dd33
cmath: New.
...
2006-02-07 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cmath: New.
* include/tr1/cstdlib: Likewise.
* include/tr1/ctime: Likewise.
* include/tr1/math.h: Likewise.
* include/tr1/stdlib.h: Likewise.
* include/Makefile.am: Add.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <math.h> checks.
* testsuite/tr1/8_c_compatibility/cmath/functions.cc: New.
* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Likewise.
* testsuite/tr1/headers.cc: Update.
* include/tr1/cinttypes: Do not provide abs and div, conflicting
with the above overloads for _Longlong types.
* include/tr1/inttypes.h: Adjust.
* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Adjust.
* docs/html/ext/tr1.html: Update.
* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
From-SVN: r110696
2006-02-07 13:14:03 +00:00
Paolo Carlini
93638ec794
cstdio: New.
...
2006-02-05 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cstdio: New.
* include/tr1/stdio.h: Likewise.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cstdio/functions.cc: New.
* testsuite/tr1/headers.cc: Update.
* docs/html/ext/tr1.html: Update.
* include/tr1/cwchar: Simplify, use _GLIBCXX_USE_C99, consistently
with the facilities in std::.
* include/tr1/cwctype: Likewise.
* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
* testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Remove <wchar.h> and
<wctype.h> checks.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
From-SVN: r110613
2006-02-05 11:38:57 +00:00
Paolo Carlini
af66a43e88
cwchar: New.
...
2006-02-03 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cwchar: New.
* include/tr1/cwctype: Likewise.
* include/tr1/wchar.h: Likewise.
* include/tr1/wctype.h: Likewise.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cinttypes/functions: New.
* testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
* testsuite/tr1/headers.cc: Update.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <wchar.h> and
<wctype.h> checks.
* docs/html/ext/tr1.html: Update.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
* testsuite/tr1/8_c_compatibility/cctype/functions.cc: Cosmetic tweak.
From-SVN: r110562
2006-02-03 21:40:07 +00:00
Paolo Carlini
82c79e0e68
cfloat: New.
...
2006-02-02 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cfloat: New.
* include/tr1/climits: Likewise.
* include/tr1/cstdarg: Likewise.
* include/tr1/ctype.h: Likewise.
* include/tr1/fenv.h: Likewise.
* include/tr1/float.h: Likewise.
* include/tr1/inttypes.h: Likewise.
* include/tr1/limits.h: Likewise.
* include/tr1/stdint.h: Likewise.
* include/tr1/stdarg.h: Likewise.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* docs/html/ext/tr1.html: Update.
* testsuite/tr1/headers.cc: New.
* include/tr1/cctype: Include <cctype> instead.
From-SVN: r110518
2006-02-02 19:44:39 +00:00
Paolo Carlini
8f13c4d68f
re PR libstdc++/21554 (ext/array_allocator/2.cc execution fails)
...
2006-01-31 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/21554
* include/tr1/array (array<>::_M_instance): Maximally align.
* testsuite/ext/array_allocator/2.cc: Do not xfail for powerpc.
From-SVN: r110445
2006-01-31 17:46:07 +00:00
Gabriel Dos Reis
253b7a28b2
valarray_array.h (__valarray_default_construct): Replace use __is_fundamental with __is_pod.
...
* include/bits/valarray_array.h (__valarray_default_construct):
Replace use __is_fundamental with __is_pod.
(__valarray_fill_construct): Likewise.
(__valarray_copy_construct): Likewise.
(__valarray_destroy_elements): Likewise.
(__valarray_copy): Likewise.
From-SVN: r110414
2006-01-30 23:25:16 +00:00
Paolo Carlini
52a64bd38e
cinttypes: New.
...
2006-01-30 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cinttypes: New.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cinttypes/functions: New.
* testsuite/tr1/8_c_compatibility/cinttypes/types: Likewise.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <inttypes.h> checks.
* docs/html/ext/tr1.html: Update.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
* testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Cosmetic tweak.
* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cstdint/types.cc: Fix, check in
std::tr1.
From-SVN: r110397
2006-01-30 14:17:49 +00:00
Paolo Carlini
2a1d634643
cstdint: New.
...
2006-01-29 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cstdint: New.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cstdint/types: New.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <stdint.h> checks.
* docs/html/ext/tr1.html: Update.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Cosmetic tweak.
From-SVN: r110378
2006-01-29 19:02:31 +00:00
Paolo Carlini
8fecd28c5a
std_bitset.h (bitset<>::_M_copy_to_string): Call the internal _Unchecked_set(size_t) instead of set.
...
2006-01-26 Paolo Carlini <pcarlini@suse.de>
* include/std/std_bitset.h (bitset<>::_M_copy_to_string):
Call the internal _Unchecked_set(size_t) instead of set.
From-SVN: r110285
2006-01-26 23:39:33 +00:00
Paolo Carlini
20921e5333
cfenv: New.
...
2006-01-26 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cfenv: New.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cfenv/functions.cc: New.
* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <fenv.h> checks.
* docs/html/ext/tr1.html: Update; add note.
* include/Makefile.in: Regenerate.
* config.h.in: Likewise.
* configure: Likewise.
* testsuite/tr1/8_c_compatibility/complex/functions.cc: Tweak.
* testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
* docs/html/faq/index.html: Fix link to tr1.html text; fix
formatting.
From-SVN: r110252
2006-01-26 11:29:20 +00:00
Paolo Carlini
bd2bb1ea59
cctype: New.
...
2006-01-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cctype: New.
* include/Makefile.am: Add.
* testsuite/tr1/8_c_compatibility/cctype/functions.cc: New.
* include/Makefile.in: Regenerate.
* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): New, check for C99
support to TR1, Chapter 8.
* configure.ac: Use it.
* include/tr1/complex: Adjust.
* config.h.in: Regenerate.
* configure: Likewise.
From-SVN: r110221
2006-01-25 19:29:40 +00:00
Paolo Carlini
e7968bd850
re PR libstdc++/25649 (Bogus "uninitialized" warning)
...
2006-01-24 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/25649
* include/std/std_istream.h (operator>>(short&), operator>>(int&)):
Move out of line...
* include/bits/istream.tcc: ... here.
* include/std/std_ostream.h (operator<<(short), operator<<(int)):
Move out of line...
* include/bits/ostream.tcc: ... here.
From-SVN: r110186
2006-01-24 23:12:26 +00:00
Joseph Myers
2b6dd222bb
re PR libstdc++/25524 (libstdc++ headers should go in multilib directories)
...
PR libstdc++/25524
* cppdefault.h (struct default_include): Add multilib flag.
* cppdefault.c (cpp_include_defaults): Set it.
* c.opt (-imultilib): New option.
* c-opts.c (imultilib): New.
(c_common_handle_option): Handle -imultilib.
(c_common_post_options): Likewise.
* c-incpath.c (add_standard_paths, register_include_chains):
Likewise.
* c-incpath.h (register_include_chains): Add extra parameter.
* gcc.c (do_spec_1): Generate -imultilib option.
(The Specs Language): Update %I description.
(process_command): Update copyright notice.
* doc/cppopts.texi (-imultilib): Document.
* doc/invoke.texi (-imultilib): Include in option summary.
(%I): Update specs documentation.
libstdc++-v3:
* include/Makefile.am: Install host-specific headers in multilib
subdirectory.
* include/Makefile.in: Regenerate.
From-SVN: r110037
2006-01-20 21:00:03 +00:00
Paolo Carlini
af8590d281
Implement list::splice (and merge) bits of N1599
...
2006-01-19 Paolo Carlini <pcarlini@suse.de>
Implement list::splice (and merge) bits of N1599
* include/bits/stl_list.h (list<>::_M_check_equal_allocators): New.
(list<>::splice(iterator, list&), splice(iterator, list&, iterator),
splice(iterator, list&, iterator, iterator)): Use it.
* include/bits/stl_list.h (list<>::merge(list&), merge(list&,
_StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operators/5.cc: New.
From-SVN: r110011
2006-01-20 02:38:54 +00:00
Paolo Carlini
75c752a07f
allocator.h: Include <bits/cpp_type_traits.h>.
...
2006-01-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/allocator.h: Include <bits/cpp_type_traits.h>.
From-SVN: r109886
2006-01-18 14:30:16 +00:00
Paolo Carlini
656032b8c1
[multiple changes]
...
2006-01-18 Perry Smith <pedz@easesoftware.net>
PR libstdc++/25823
PR libstdc++/25824
* libsupc++/eh_alloc.cc: Fix return type of memset declaration.
* libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.
2006-01-18 Paolo Carlini <pcarlini@suse.de>
* include/ext/pb_assoc/detail/value_type_adapter/
value_type_adapter.hpp: Include <tr1/type_traits>.
* include/ext/pb_assoc/detail/value_type_adapter/
it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
Use tr1::aligned_storage and tr1::alignment_of.
(it_value_type_traits_<>::buf_t): Remove.
(it_value_type_traits_<>::make_valid, recast): Adjust.
From-SVN: r109883
2006-01-18 11:22:10 +00:00
Paolo Carlini
6085dc49ba
re PR libstdc++/25626 (Valarray vs non-POD)
...
2006-01-15 Paolo Carlini <pcarlini@suse.de>
Gabriel Dos Reis <gdr@integrable-solutions.net>
PR libstdc++/25626
* include/std/std_valarray.h (valarray(const slice_array<>&),
valarray(const gslice_array<>&), valarray(const mask_array<>&),
valarray(const indirect_array<>&), valarray(const _Expr<>&)):
Forward to __valarray_copy_construct, not __valarray_copy.
* include/bits/valarray_array.h
(__valarray_copy_construct(_Array<>, _Array<>, _Array<>, size_t),
__valarray_copy_construct(_Array<>, size_t, size_t, _Array<>)):
New.
Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>
From-SVN: r109726
2006-01-15 18:04:31 +00:00
Paolo Carlini
90922b2d10
complex (arg, [...]): Add, implementing TR1, 8.1.9.
...
2006-01-13 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
* include/tr1/complex (arg, conj, imag, norm, polar, pow, real):
Add, implementing TR1, 8.1.9.
(__promote_2): New.
* include/tr1/common.h: New, provides __promote, __promote_2.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* testsuite/testsuite_tr1.h (check_ret_type): New.
* testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: New.
* testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: New.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r109663
2006-01-13 09:45:57 +00:00
Paolo Carlini
84a7b1fccf
complex: New file...
...
2006-01-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/complex: New file, hosts the additions to header
<complex> described in TR1, Chapter 8 [tr.c99].
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* testsuite/tr1/8_c_compatibility/complex/functions.cc: New.
From-SVN: r109550
2006-01-10 18:15:34 +00:00
Paolo Carlini
cf1e03717a
PR libstdc++/22102 (insert as close to hint as possible)
...
2006-01-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/22102 (insert as close to hint as possible)
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_lower,
_M_insert_equal_lower): New.
(_M_insert_equal(iterator, const _Val&),
_M_insert_equal(const_iterator, const _Val&)): Use the above.
* docs/html/ext/howto.html: Add an entry for DR 233.
* testsuite/23_containers/multiset/modifiers/insert/22102.cc: New.
* testsuite/23_containers/multimap/modifiers/insert/22102.cc: New.
* testsuite/23_containers/set/insert/: Move...
* testsuite/23_containers/set/modifiers/insert/: ...here.
* testsuite/23_containers/map/insert/: Move...
* testsuite/23_containers/map/modifiers/insert/: ...here.
* testsuite/23_containers/multiset/insert/: Move...
* testsuite/23_containers/multiset/modifiers/insert/: ...here.
From-SVN: r109473
2006-01-08 17:34:32 +00:00
Paolo Carlini
42a27024e9
stl_tree.h (_Rb_tree<>::insert_unique): Rename to _M_insert_unique.
...
2006-01-06 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_tree.h (_Rb_tree<>::insert_unique): Rename
to _M_insert_unique.
(_Rb_tree<>::insert_equal): Rename to _M_insert_equal.
* include/bits/stl_map.h (class map<>): Update callers.
* include/bits/stl_set.h (class set<>): Likewise.
* include/bits/stl_multimap.h (class multimap<>): Likewise.
* include/bits/stl_multiset.h (class multiset<>): Likewise.
From-SVN: r109424
2006-01-06 19:11:06 +00:00
Paolo Carlini
fd09ac0cf7
stl_bvector.h (vector<bool>::erase(iterator, iterator)): Just use _M_erase_at_end.
...
2006-01-06 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_bvector.h (vector<bool>::erase(iterator,
iterator)): Just use _M_erase_at_end.
2006-01-06 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_bvector.h (class vector<bool>): Move all the
helpers under protected access mode, consistently with the primary
vector template.
(vector<bool>::_M_erase_at_end): Add.
(erase(iterator, iterator), clear, resize, _M_fill_assign,
_M_assign_aux): Use it.
* testsuite/23_containers/vector/bool/modifiers/erase/1.cc: New.
2006-01-06 Paolo Carlini <pcarlini@suse.de>
Implement Option 3 of DR 431 for vector<bool>.
* include/bits/stl_bvector.h (class _Bvector_base): Change to
a struct, consistently with the primary vector template.
(class vector<bool>): Adjust to protected inheritance, tidy
typedefs.
(_Bvector_base<>::_M_get_Bit_allocator): Add.
(vector<bool>::vector(const vector&)): Use it.
(_Bvector_base<>::get_allocator): Tidy.
(vector<bool>::swap): Use __alloc_swap.
* testsuite/23_containers/vector/bool/modifiers/swap/1.cc: New.
* testsuite/23_containers/vector/bool/modifiers/swap/2.cc: New.
From-SVN: r109415
2006-01-06 11:23:02 +00:00
Paolo Carlini
f7ace77f1f
sso_string_base.h (__sso_string_base<>::_M_dataplus): Use _CharT_alloc_type as base class.
...
2006-01-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus):
Use _CharT_alloc_type as base class.
(_M_get_allocator, _M_swap, _M_create, _M_destroy): Adjust.
* include/ext/vstring.h (get_allocator): Tidy.
2006-01-04 Paolo Carlini <pcarlini@suse.de>
Implement Option 3 of DR 431 for all the containers.
* include/bits/allocator.h (struct __alloc_swap): Add, swaps
allocators, optimized to nothing in case they are empty.
* include/bits/stl_deque.h (deque<>::swap): Use it.
* include/bits/stl_list.h (list<>::swap): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::swap): Likewise.
* include/bits/stl_vector.h (vector<>::swap): Likewise.
* include/tr1/hashtable (hashtable<>::swap): Likewise.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_swap):
Likewise.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
Likewise.
* include/ext/vstring_util.h (__vstring_utility<>::_Alloc_hider):
Clean-up (now vstring uses the generic __alloc_swap facility).
* include/tr1/unordered_map: Adjust includes.
* include/tr1/unordered_set: Likewise.
* docs/html/ext/howto.html: Add an entry for DR 431.
* testsuite/23_containers/deque/modifiers/swap.cc: Move to...
* testsuite/23_containers/deque/modifiers/swap/1.cc: ... here.
* testsuite/23_containers/deque/modifiers/swap/2.cc: New.
* testsuite/23_containers/deque/modifiers/swap/3.cc: New.
* testsuite/23_containers/list/modifiers/swap.cc: Move to...
* testsuite/23_containers/list/modifiers/swap/1.cc: ... here.
* testsuite/23_containers/list/modifiers/swap/2.cc: New.
* testsuite/23_containers/list/modifiers/swap/3.cc: New.
* testsuite/23_containers/vector/modifiers/swap.cc: Move to...
* testsuite/23_containers/vector/modifiers/swap/1.cc: ... here.
* testsuite/23_containers/vector/modifiers/swap/2.cc: New.
* testsuite/23_containers/vector/modifiers/swap/3.cc: New.
* testsuite/23_containers/set/modifiers/swap.cc: Move to...
* testsuite/23_containers/set/modifiers/swap/1.cc: ... here.
* testsuite/23_containers/set/modifiers/swap/2.cc: New.
* testsuite/23_containers/set/modifiers/swap/3.cc: New.
* testsuite/23_containers/map/modifiers/swap.cc: Move to...
* testsuite/23_containers/map/modifiers/swap/1.cc: ... here.
* testsuite/23_containers/map/modifiers/swap/2.cc: New.
* testsuite/23_containers/map/modifiers/swap/3.cc: New.
* testsuite/23_containers/multiset/modifiers/swap.cc: Move to...
* testsuite/23_containers/multiset/modifiers/swap/1.cc: ... here.
* testsuite/23_containers/multiset/modifiers/swap/2.cc: New.
* testsuite/23_containers/multiset/modifiers/swap/3.cc: New.
* testsuite/23_containers/multimap/modifiers/swap.cc: Move to...
* testsuite/23_containers/multimap/modifiers/swap/1.cc: ... here.
* testsuite/23_containers/multimap/modifiers/swap/2.cc: New.
* testsuite/23_containers/multimap/modifiers/swap/3.cc: New.
* testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc: New.
* testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc: New.
* testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc: New.
* testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc: New.
* testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc: New.
* testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc: New.
* testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc: New.
* testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc: New.
From-SVN: r109324
2006-01-04 11:34:45 +00:00
Paolo Carlini
31905f3498
stl_list.h (_List_base<>::_M_get_Node_allocator): Add.
...
2006-01-03 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_list.h (_List_base<>::_M_get_Node_allocator): Add.
(_M_get_Tp_allocator, get_allocator): Tidy.
(list<>::list(const list&), insert(iterator, size_type, const
value_type&), insert(iterator, _InputIterator, _InputIterator)):
Use _M_get_Node_allocator.
* include/bits/stl_tree.h (_Rb_tree<>::_M_get_Node_allocator()): Add.
(_Rb_tree(const _Rb_tree<>&): Use it.
* include/bits/stl_deque.h (_Deque_base<>::_M_get_map_allocator,
get_allocator): Tidy.
* include/bits/stl_vector.h (_Vector_base<>::get_allocator): Tidy.
* testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
line numbers.
* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
* testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix.
* testsuite/testsuite_allocator.h (class uneq_allocator): A simple
non-empty testing allocator which can be endowed of a "personality"
at construction time.
From-SVN: r109280
2006-01-03 13:19:23 +00:00
Paolo Carlini
49d5c016da
re PR libstdc++/24645 (Commonize arithmetic inserters/extractors bodies)
...
2006-01-02 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24645
* include/std/std_istream.h (basic_istream<>::_M_extract): New.
(operator>>(bool&), operator>>(short&), operator>>(unsigned short&),
operator>>(int&), operator>>(unsigned int&), operator>>(long&),
operator>>(unsigned long&), operator>>(long long&), operator>>
(unsigned long long&), operator>>(float&), operator>>(double&),
operator>>(long double&), operator>>(void*&)): Use it.
* include/bits/istream.tcc (basic_istream<>::_M_extract): Define.
* include/std/std_ostream.h (basic_ostream<>::_M_insert): New.
(operator<<(long), operator<<(unsigned long), operator<<(bool),
operator<<(short), operator<<(unsigned short), operator<<(int),
operator<<(unsigned int), operator<<(long long), operator<<
(unsigned long long), operator<<(double), operator<<(float),
operator<<(long double), operator<<(const void*): Use it.
* include/bits/ostream.tcc (basic_ostream<>::_M_insert): Define.
* src/istream-inst.cc: Add _M_insert instantiations.
* src/ostream-inst.cc: Add _M_extract instantiations.
* config/abi/pre/gnu.ver: Export the new symbols @GLIBCXX_3.4.7;
detail existing @GLIBCXX_3.4 exports of basic_ostream, num_put,
money_put, etc., symbols to avoid exporting _M_insert symbols
@GLIBCXX_3.4.
From-SVN: r109236
2006-01-02 09:57:49 +00:00
Paolo Carlini
e7c59a0e02
[multiple changes]
...
2005-12-28 Paolo Carlini <pcarlini@suse.de>
* include/std/std_bitset.h (bitset<>::_M_copy_from_string,
bitset<>::_M_copy_to_string, bitset<>::operator>>): Reverse loop.
* testsuite/25_algorithms/heap/heap.cc (test01): Always enable
complexity checks.
* testsuite/18_support/numeric_limits/specialization.cc: Avoid
unused parameter warning.
* testsuite/18_support/numeric_limits/traps.cc: Acoid unused variable
warning.
* testsuite/ext/malloc_allocator/deallocate_global.cc: Fix format
string.
* testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
* testsuite/ext/array_allocator/2.cc: Remove unused variable.
* testsuite/tr1/3_function_objects/mem_fn.cc: Avoid unused variable
warnings.
* testsuite/tr1/6_containers/unordered/instantiate/set.cc: Just
instantiate.
* testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
* testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Likewise.
* testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
Likewise.
* testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
Likewise.
* testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
Avoid unused variable warnings.
* testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
Likewise.
* testsuite/thread/18185.cc: Likewise.
* testsuite/27_io/ios_base/storage/11584.cc: Likewise; avoid comparison
between signed and unsigned warning.
* testsuite/27_io/types/1.cc: Avoid unused variable warnings.
* testsuite/testsuite_allocator.h (check_new): Likewise.
(check_deallocate_null): Adjust return type.
* testsuite/testsuite_hooks.h (bitmask_operators): Avoid unused
variable warnings.
* testsuite/21_strings/c_strings/wchar_t/24559.cc: Avoid unused
variable warning.
2005-12-28 Chris Jefferson <chris@bubblescope.net>
* include/std/std_bitset.h (bitset<0>::set, bitset<0>::reset,
bitset<0>::flip, bitset<0>::test): Add inline specializations for
bitset<0>.
* testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
(test01): Add static cast.
* testsuite/tr1/6_containers/unordered/insert/set_range.cc
(test01): Likewise.
* testsuite/testsuite_hooks.h (operator==(NonDefaultConstructible,
NonDefaultConstructible), operator<(NonDefaultConstructible,
NonDefaultConstrictible)): Avoid unused parameter warning.
From-SVN: r109103
2005-12-28 09:57:57 +00:00
Chris Jefferson
8b5bc374b1
mt_allocator.h (__mt_alloc::__mt_alloc): Remove name of unused parameter.
...
2005-12-26 Chris Jefferson <chris@bubblescope.net>
* include/ext/mt_allocator.h (__mt_alloc::__mt_alloc): Remove
name of unused parameter.
* include/bits/stream_iterator.h (istream_iterator::istream_iterator):
Construct _M_value.
* include/debug/functions.h (__check_valid_range): Add
__attribute__((unused)).
* include/tr1/hashtable (hashtable::end): Remove name of unused
parameter.
* include/tr1/tuple_iterate.h (tuple::tuple): Likewise.
(tuple::operator=): Add __attribute__((unused)).
* include/tr1/functional (Fnv_hash<4>::hash): Add static_cast.
(Fnv_hash<8>::hash): Likewise.
* testsuite/25_algorithms/iter_swap/20577.cc (swap): Remove name of
unused parameter.
* testsuite/25_algorithms/unique_copy/check_type.cc (S2::S2,X2::X2):
Likewise.
* testsuite/22_locale/ctype/narrow/char/19955.cc (do_narrow): Likewise.
* testsuite/22_locale/ctype/is/char/9858.cc (Derived::do_is,
Derived::do_scan_is, Derived::do_scan_not, Derived2::do_is,
Derived2::do_scan_is, Derived2::do_scan_not): Likewise.
* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc (TP::do_put):
Likewise.
* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc (TP::do_put):
Likewise.
* testsuite/22_locale/time_put/put/char/12439_1.cc (TP::do_put):
Likewise.
* testsuite/22_locale/time_put/put/char/12439_3.cc (TP::do_put):
Likewise.
* testsuite/testsuite_io.h (fail_num_get::do_get, fail_num_put::do_put):
Likewise.
* testsuite/25_algorithms/find/17441.cc (find): Likewise.
* testsuite/23_containers/vector/cons/clear_allocator.cc
(clear_alloc::clear_alloc): Likewise.
* testsuite/23_containers/vector/bool/clear_allocator.cc
(clear_alloc::clear_alloc): Likewise.
* testsuite/23_containers/list/cons/clear_allocator.cc
(clear_alloc::clear_alloc): Likewise.
* testsuite/23_containers/set/modifiers/16728.cc (test_container):
Likewise.
* testsuite/27_io/basic_ios/cons/char/3.cc (char_traits::to_char_type,
to_int_type): Likewise.
* testsuite/27_io/basic_filebuf/imbue/12206.cc (codecvt::do_out, do_in,
do_unshift, do_length): Likewise.
* testsuite/21_strings/basic_string/capacity/1.cc
(operator==(A<T>,A<T>), operator<(A<T>,A<T>),
char_traits::to_char_type, char_traits::to_int_type): Likewise
* testsuite/testsuite_character.h (ctype::do_is, ctype::do_scan_is,
ctype::do_scan_not, do_toupper, do_tolower): Likewise.
* testsuite/25_algorithms/replace_copy/check_type.cc (Z::operator=):
Add missing return statement.
* testsuite/25_algorithms/replace_copy_if/check_type.cc (Z::operator=):
Likewise.
* testsuite/testsuite_iterators.h (output_iterator_wrapper::operator=,
random_access_iterator_wrapper::operator==): Likewise.
* testsuite/20_util/functional/binders/1.cc (s::f_int_int_const,
s::f_int_int, s::f_int_void_const, s::f_int_void): Likewise.
* testsuite/27_io/types/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/write/wchar_t/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/write/char/1.cc (test01): Likewise.
* testsuite/21_strings/c_strings/wchar_t/24559.cc (main): Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/2.cc (check): Add static
cast.
* testsuite/27_io/basic_istream/ignore/char/2.cc (check): Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/5.cc (check): Likewise.
* testsuite/27_io/basic_istream/getline/char/5.cc (check): Likewise.
* testsuite/testsuite_allocator.h (check_new): Likewise.
(check_deallocate_null): Add missing return value.
* testsuite/ext/pool_allocator/allocate_chunk.cc (test01):
Make variable unsigned.
* testsuite/23_containers/vector/modifiers/erase/1.cc (N,N1,N2,N3,N4,
N5,test01): Likewise.
* testsuite/26_numerics/valarray/valarray_subset_assignment.cc
(check_array): Likewise.
(main): Removed unused variable.
* testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc (test05):
Removed unused variable.
* testsuite/27_io/basic_ostream/flush/wchar_t/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/flush/char/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/endl/wchar_t/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/endl/char/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/ends/wchar_t/1.cc (test01): Likewise.
* testsuite/27_io/basic_ostream/ends/char/1.cc (test01): Likewise.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/
assign/shared_ptr.cc (test01): Correct return type.
* testsuite/27_io/basic_filebuf/close/char/2.cc (test_02):
Add default value to close_num.
From-SVN: r109062
2005-12-26 10:53:42 +00:00
Paolo Carlini
5f5c25d99d
stl_algobase.h (fill(const _Deque_iterator&, const _Deque_iterator&, const _Tp&)): Deal, correctly, only with iterators (leave const_iterators alone).
...
2005-12-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill(const _Deque_iterator&,
const _Deque_iterator&, const _Tp&)): Deal, correctly, only
with iterators (leave const_iterators alone).
2005-12-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
const _Deque_iterator<>&, const _Tp&)): Add.
* testsuite/23_containers/deque/cons/assign/1.cc: New.
From-SVN: r109038
2005-12-24 10:01:45 +00:00
Paolo Carlini
1b4454bfd5
stl_deque.h (deque<>::resize, [...]): Avoid troubles with ADL, user defined operators and _Deque_iterator.
...
2005-12-19 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_deque.h (deque<>::resize, _M_fill_assign):
Avoid troubles with ADL, user defined operators and _Deque_iterator.
(operator-(const _Deque_iterator<>&, const _Deque_iterator<>&):
Add overload for left and right iterators of the same type.
* include/bits/deque.tcc (erase(iterator)): Avoid troubles with ADL,
user defined operators and _Deque_iterator.
* testsuite/23_containers/deque/types/1.cc: Add.
* include/bits/deque.tcc (_M_insert_aux(iterator, size_type,
const value_type&)): Qualify with std:: fill call.
From-SVN: r108827
2005-12-20 00:29:18 +00:00
Benjamin Kosnik
3cbc7af037
c++config: Add in revised namespace associations.
...
2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Add in revised namespace associations.
_GLIBCXX_BEGIN_NAMESPACE: New macro.
_GLIBCXX_END_NAMESPACE: Same.
_GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
_GLIBCXX_END_NESTED_NAMESPACE: Same.
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
* configure: Regenerated.
* config.h.in: Same.
* config/abi/pre/gnu-versioned-namespace.ver: New.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
debug mode items.
* include/Makefile.am (${host_builddir}/c++config.h): Fill in
values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
* include/Makefile.in: Regnerate.
* src/compatibility.cc: Alias new, nested definitions to exported
symbols from non-nested __gnu_debug.
* src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE.
* src/Makefile.in: Regenerate.
* docs/html/debug_mode.html: Revise for nested design.
* docs/html/debug.html: Use debug qualifications instead of
__gnu_debug.
* docs/html/configopts.html: Revise documentation for
--enable-symvers.
* include/debug/formatter: Simplify namespace qualifications for
current, nested-only reality. Add top-level namespace alias,
namespace debug, for debug-mode containers.
* include/debug/safe_iterator.h: Same.
* include/debug/set.h: Same.
* include/debug/hash_multimap.h: Same.
* include/debug/hash_set.h: Same.
* include/debug/bitset
* include/debug/safe_sequence.h: Same.
* include/debug/multiset.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/functions.h: Same.
* include/debug/safe_iterator.tcc
* include/debug/hash_multiset.h: Same.
* include/debug/vector
* include/debug/map.h: Same.
* include/debug/deque
* include/debug/hash_map.h: Same.
* include/debug/string
* include/debug/macros.h: Same.
* include/debug/list
* include/debug/debug.h: Same.
* include/debug/multimap.h: Same.
* src/debug.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/insert/16813.cc: Same.
* include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
friends.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/localefwd.h: Same.
* include/bits/valarray_array.tcc: Same.
* include/bits/valarray_after.h: Same.
* include/bits/gslice_array.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/bits/locale_classes.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_iterator_base_types.h: Same.
* include/bits/stl_heap.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/atomicity.h: Same.
* include/bits/stream_iterator.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/basic_ios.tcc: Same.
* include/bits/stl_raw_storage_iter.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/istream.tcc: Same.
* include/bits/postypes.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/ostream.tcc: Same.
* include/bits/slice_array.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/sstream.tcc: Same.
* include/bits/stl_iterator_base_funcs.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/c++config
* include/bits/stl_iterator.h: Same.
* include/bits/valarray_array.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/vector.tcc: Same.
* include/bits/deque.tcc: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/list.tcc: Same.
* include/bits/streambuf_iterator.h: Same.
* include/bits/valarray_before.h: Same.
* include/bits/stl_construct.h: Same.
* include/bits/stl_function.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/allocator.h: Same.
* include/bits/stl_tree.h: Same.
* include/bits/fstream.tcc: Same.
* include/bits/stl_relops.h: Same.
* include/bits/functexcept.h: Same.
* include/std/std_valarray.h: Same.
* include/std/std_iostream.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_iosfwd.h: Same.
* include/std/std_iomanip.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_limits.h: Same.
* include/std/std_stdexcept.h: Same.
* include/std/std_istream.h: Same.
* include/std/std_complex.h: Same.
* include/std/std_memory.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_sstream.h: Same.
* include/c_std/std_csignal.h: Same.
* include/c_std/std_cstdlib.h: Same.
* include/c_std/std_cstdio.h: Same.
* include/c_std/std_cstdarg.h: Same.
* include/c_std/std_cctype.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/std_ctime.h: Same.
* include/c_std/std_clocale.h: Same.
* include/c_std/std_csetjmp.h: Same.
* include/c_std/std_cwchar.h: Same.
* include/c_std/std_cstring.h: Same.
* include/c_std/std_cstddef.h: Same.
* include/c_std/std_cwctype.h: Same.
* include/backward/iterator.h: Same.
* include/backward/set.h: Same.
* include/backward/hashtable.h: Same.
* include/backward/fstream.h: Same.
* include/backward/tempbuf.h: Same.
* include/backward/istream.h: Same.
* include/backward/bvector.h: Same.
* include/backward/stack.h: Same.
* include/backward/rope.h: Same.
* include/backward/complex.h: Same.
* include/backward/ostream.h: Same.
* include/backward/heap.h: Same.
* include/backward/iostream.h: Same.
* include/backward/function.h: Same.
* include/backward/multimap.h: Same.
* include/backward/pair.h: Same.
* include/backward/stream.h: Same.
* include/backward/iomanip.h: Same.
* include/backward/strstream
* include/backward/slist.h: Same.
* include/backward/tree.h: Same.
* include/backward/vector.h: Same.
* include/backward/deque.h: Same.
* include/backward/multiset.h: Same.
* include/backward/list.h: Same.
* include/backward/map.h: Same.
* include/backward/algobase.h: Same.
* include/backward/hash_map.h: Same.
* include/backward/algo.h: Same.
* include/backward/queue.h: Same.
* include/backward/streambuf.h: Same.
* src/allocator-inst.cc: Same.
* src/complex_io.cc: Same.
* src/localename.cc: Same.
* src/limits.cc: Same.
* src/ios_failure.cc: Same.
* src/locale-misc-inst.cc: Same.
* src/streambuf-inst.cc: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ios_locale.cc: Same.
* src/pool_allocator.cc: Same.
* src/fstream-inst.cc: Same.
* src/istream-inst.cc: Same.
* src/string-inst.cc: Same.
* src/locale_init.cc: Same.
* src/ctype.cc: Same.
* src/strstream.cc: Same.
* src/ostream-inst.cc: Same.
* src/functexcept.cc: Same.
* src/streambuf.cc: Same.
* src/sstream-inst.cc: Same.
* src/ios.cc: Same.
* src/valarray-inst.cc: Same.
* src/locale.cc: Same.
* src/tree.cc: Same.
* src/stdexcept.cc: Same.
* src/istream.cc: Same.
* src/compatibility.cc: Same.
* src/locale-inst.cc: Same.
* src/globals_io.cc: Same.
* src/list.cc: Same.
* src/ios_init.cc: Same.
* src/locale_facets.cc: Same.
* src/codecvt.cc: Same.
* include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/tuple
* include/tr1/hashtable
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/unordered_set
* include/tr1/functional
* include/tr1/ref_fwd.h: Same.
* include/tr1/utility
* include/tr1/type_traits
* include/tr1/array
* include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
* include/ext/typelist.h: Same.
* include/ext/hash_map: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/iterator: Same.
* include/ext/rb_tree: Same.
* include/ext/numeric: Same.
* include/ext/vstring.tcc: Same.
* include/ext/sso_string_base.h: Same.
* include/ext/stdio_filebuf.h: Same.
* include/ext/algorithm: Same.
* include/ext/codecvt_specializations.h: Same.
* include/ext/new_allocator.h: Same.
* include/ext/array_allocator.h: Same.
* include/ext/vstring_util.h: Same.
* include/ext/vstring_fwd.h: Same.
* include/ext/mt_allocator.h: Same.
* include/ext/debug_allocator.h: Same.
* include/ext/slist: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/ext/hash_fun.h: Same.
* include/ext/malloc_allocator.h: Same.
* include/ext/functional: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/pod_char_traits.h: Same.
* include/ext/vstring.h: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/hash_set: Same.
* include/ext/memory: Same.
* include/ext/rope: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/atomicity.h: Same.
* config/locale/gnu/numeric_members.cc: Same.
* config/locale/gnu/collate_members.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/c_locale.cc: Same.
* config/locale/gnu/codecvt_members.cc: Same.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/c_locale.h: Same.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.h: Same.
* config/locale/generic/numeric_members.cc: Same.
* config/locale/generic/collate_members.cc: Same.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/generic/c_locale.cc: Same.
* config/locale/generic/codecvt_members.cc: Same.
* config/locale/generic/messages_members.cc: Same.
* config/locale/generic/c_locale.h: Same.
* config/locale/generic/monetary_members.cc: Same.
* config/locale/generic/time_members.cc: Same.
* config/os/aix/atomicity.h: Same.
* config/os/irix/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/alpha/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/i486/atomicity.h: Same.
* config/cpu/sh/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/io/c_io_stdio.h: Same.
* config/io/basic_file_stdio.cc: Same.
* config/io/basic_file_stdio.h: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ext-inst.cc: Same.
* src/string-inst.cc: Same.
* src/pool_allocator.cc: Same.
* src/bitmap_allocator.cc: Same.
* src/mt_allocator.cc: Same.
* libsupc++/exception: Same.
* libsupc++/vterminate.cc: Same.
* testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
* testsuite/ext/hash_map/14648.cc: Same.
* libsupc++/eh_alloc.cc: Correct comment line spacing.
From-SVN: r108775
2005-12-19 00:56:05 +00:00
Paolo Carlini
e75ea710dd
stl_algobase.h (__copy_normal::copy_n): Uglify to __copy_n.
...
2005-12-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (__copy_normal::copy_n): Uglify
to __copy_n.
(__copy_backward::copy_b): Likewise to __copy_b.
(__copy_backward_normal::copy_b_n): Likewise to __copy_b_n.
(copy, __copy_backward_aux, copy_backward): Adjust.
2005-12-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (partial_sort_copy): Add
_BinaryPredicateConcept<_Compare, _InputValueType, _OutputValueType>
(merge, set_union, set_symmetric_difference): Add
_OutputIteratorConcept<_OutputIterator, _ValueType2>.
(binary_search): Remove redundant _BinaryPredicateConcept<_Compare,
_ValueType, _Tp>, taken care by lower_bound.
* include/bits/stl_algo.h: Cosmetic changes.
2005-12-18 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
* include/bits/stl_algo.h (merge, includes, set_union,
set_intersection, set_difference, set_symmetric_difference):
Fix concept checks.
2005-12-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (partial_sort_copy, lower_bound,
upper_bound, equal_range, binary_search): Fix concept checks.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r108758
2005-12-18 15:53:10 +00:00
Benjamin Kosnik
fb5c309d63
post: New.
...
2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
* config/abi/post: New.
* config/abi/*-linux-gnu: Move to..
* config/abi/post/*-linux-gnu: ... here.
* config/abi/pre: New.
* config/linker-map.gnu: Move to ..
* config/abi/pre/gnu.ver: ... here.
* config/linker-map.dummy: Move to..
* config/abi/pre/none.ver: ... here.
* src/Makefile.am: Use ENABLE_SYMVERS_GNU,
ENABLE_SYMVERS_DARWIN, ENABLE_SYMVERS_GNU_NAMESPACE.
Use libstdc++-symbols.ver instead of libstdc++-symbol.ver.
* src/Makefile.in: Regnerate.
* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Adjust paths for new
placement of abi baseline files.
(GLIBCXX_ENABLE_SYMVERS): Add ENABLE_SYMVERS, ENABLE_SYMVERS_GNU,
ENABLE_SYMVERS_DARWIN. SYMVER_MAP to SYMVER_FILE.
* configure: Regnerate.
* config.h.in: Regnerate.
* src/compatibility.cc: Adjust macro usage.
From-SVN: r108748
2005-12-18 09:39:23 +00:00
Benjamin Kosnik
6fbcd2e574
re PR libstdc++/25472 (--disable-hosted-libstdcxx does not work)
...
2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
* src/io-inst.cc: Separate instantiations into...
* src/ios-inst.cc: .. this.
* src/iostream-inst.cc: ... and this.
* src/Makefile.am (sources): Update.
* src/Makefile.in: Regenerate.
2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/25472
* include/c_std/std_cstdlib.h: Fix for freestanding.
2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/libstdc++-dg/normal.exp: Rename to..
* testsuite/libstdc++-dg/conformance.exp: ... this.
From-SVN: r108743
2005-12-18 08:08:07 +00:00
Paolo Carlini
d2cc7f9266
stl_vector.h (vector(const vector&)): Use _M_get_Tp_allocator.
...
2005-12-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector(const vector&)): Use
_M_get_Tp_allocator.
* include/bits/stl_deque.h (deque(const deque&)): Likewise.
(_M_destroy_data): Adjust.
2005-12-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_deque.h (deque<>::_M_erase_at_end,
_M_erase_at_begin, _M_destroy_data, _M_destroy_data_dispatch,
_M_destroy_data_aux): New, optimize erase at begin() / end() and
consistently use the "segmented iterator" optimization.
(deque<>::~deque(), resize, clear, _M_assign_aux, _M_fill_assign):
Use the above.
* include/bits/deque.tcc (deque<>::operator=, _M_assign_aux): Same.
(erase(iterator, iterator)): Likewise, clean-up.
(erase(iterator)): Tweak, don't call copy unnecessarily.
(_M_destroy_data_aux): Define.
* testsuite/23_containers/deque/modifiers/erase/1.cc: New.
* testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.
From-SVN: r108727
2005-12-17 23:42:58 +00:00
Gabriel Dos Reis
ad816b52a4
valarray_after.h (_Expr<>::operator[](slice)): Don't assume the closure implements general indexing...
...
* include/bits/valarray_after.h (_Expr<>::operator[](slice)):
Don't assume the closure implements general indexing, as a matter
of fact, most of them don't.
(_Expr<>::operator[](const gslice&)): Likewise.
(_Expr<>::operator[](const valarray<bool>&)): Likewise.
(_Expr<>::operator[](const valarray<size_t>&)): Likewise.
(_Expr<>::shift): Fix thinko.
(_Expr<>::cshift): Likewise.
(_Expr<>::apply): Likewise.
From-SVN: r108714
2005-12-17 15:36:35 +00:00
Paolo Carlini
8d46ce6095
stl_vector.h (vector<>::_M_get_Tp_allocator): Change to return by ref and add non const version.
...
2005-12-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector<>::_M_get_Tp_allocator): Change
to return by ref and add non const version.
* include/bits/stl_deque.h (deque<>::_M_get_Tp_allocator): Likewise.
From-SVN: r108570
2005-12-15 11:31:59 +00:00
Carlos O'Donell
264c41eda5
c-cppbuiltin.c (builtin_define_float_constants): Add fp_cast parameter, pass to builtin_define_with_hex_fp_value.
...
2005-12-13 Carlos O'Donell <carlos@codesourcery.com>
gcc/
* c-cppbuiltin.c (builtin_define_float_constants): Add
fp_cast parameter, pass to builtin_define_with_hex_fp_value.
Define __FLT_HAS_DENORM__, __DBL_HAS_DENORM__, __LDBL_HAS_DENORM__.
(builtin_define_with_hex_fp_value): Use fp_cast when building macro.
(c_cpp_builtins): If flag_single_precision_constant then set fp_cast
to "((double)%sL)" otherwise "%s".
gcc/testsuite/
* gcc.dg/single-precision-constant.c: New test.
libstdc++-v3/
* include/std/std_limits.h (struct numeric_limits):
Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__.
From-SVN: r108458
2005-12-13 05:12:32 +00:00
Paolo Carlini
b6105bf2c3
sso_string_base.h (__sso_string_base<>::_M_compare): Add...
...
2005-12-10 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_compare):
Add, specialized for char and wchar_t to immediately return true
when a string is compared to itself.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_compare):
Likewise, for the same _Rep.
* include/ext/vstring.h (compare(const string&)): Use it.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_destroy):
Deallocate passed size + 1.
(_M_dispose, _M_reserve): Adjust.
From-SVN: r108372
2005-12-11 00:41:29 +00:00
Paolo Carlini
0cb855b7a6
re PR libstdc++/25288 (std::list insert members should have no effects if an exception is thrown)
...
2005-12-09 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
PR libstdc++/25288
* include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
Remove.
(_M_initialize_dispatch, _M_fill_initialize): Add.
(list(size_type, const value_type&, const allocator_type&),
list(const list&), list(_InputIterator, _InputIterator,
const allocator_type&): Use the latter.
(insert(iterator, size_type, const value_type&), insert(iterator,
_InputIterator, _InputIterator)): Use construction & splice.
* testsuite/23_containers/list/modifiers/insert/25288.cc: New.
* testsuite/testsuite_allocator.h (class throw_allocator): Add.
* include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r108313
2005-12-09 18:24:53 +00:00
Paolo Carlini
bc9053abce
re PR libstdc++/24617 (vector vs __erase_at_end)
...
2005-12-08 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector<>::size, resize, capacity,
operator[]): Avoid troubles with ADL, user defined operators
and __normal_iterator.
(_M_erase_at_end): Fix to take a pointer.
(clear): Adjust call.
* include/bits/vector.tcc (vector<>::insert(iterator, const
value_type&), erase(iterator, iterator), operator=(const
vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
_M_fill_insert, _M_range_insert): Likewise.
(_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
_M_erase_at_end call.
* testsuite/23_containers/vector/types/1.cc: New.
2005-12-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24617
* include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
(vector<>::clear, resize): Use it.
* include/bits/vector.tcc (vector<>::erase(iterator, iterator),
_M_fill_assign, _M_assign_aux): Likewise.
* testsuite/23_containers/vector/modifiers/erase/1.cc: New.
From-SVN: r108227
2005-12-08 11:32:37 +00:00
Paolo Carlini
3af22b23b3
basic_string.h (insert(iterator, _CharT), [...]): Avoid troubles with ADL, user defined operators and __normal_iterator.
...
2005-12-06 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.h (insert(iterator, _CharT),
erase(iterator), erase(iterator, iterator)): Avoid troubles
with ADL, user defined operators and __normal_iterator.
* include/bits/stl_iterator.h (operator-(const __normal_iterator
<_Iterator, _Container>&, const __normal_iterator<_Iterator,
_Container>&)): Add overload for left and right iterators of
the same type.
* include/debug/safe_iterator.h (operator-(const _Safe_iterator
<_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
_Sequence>&)): Likewise.
* testsuite/21_strings/basic_string/types/1.cc: New.
From-SVN: r108123
2005-12-06 17:19:30 +00:00
Paolo Carlini
afe6d70550
sso_string_base.h (__sso_string_base<>::_M_assign): Simplify, avoid pointless reallocations.
...
2005-12-05 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
Simplify, avoid pointless reallocations.
From-SVN: r108063
2005-12-05 16:39:18 +00:00
Paolo Carlini
56540d20c2
sso_string_base.h (__sso_string_base<>::_M_reserve): Simplify.
...
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
Simplify.
From-SVN: r108036
2005-12-05 01:57:59 +00:00
Paolo Carlini
cf8829194f
vstring.h (__versa_string<>::operator+, [...]): Move out of line...
...
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.h (__versa_string<>::operator+, all
versions): Move out of line...
* include/ext/vstring.tcc (__versa_string<>::operator+): ...
here; consistently use reserve for the benefit of sso_string_base;
prefer push_back to single-char append when appropriate.
* include/ext/vstring.h (__versa_string<>::push_back): Don't
call _M_reserve, _M_mutate instead.
(reserve): Just forward to _M_reserve.
* include/ext/vstring.tcc (__versa_string<>::_M_reserve): Remove.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve): Also
do the initial checks (first on length, in case __res == capacity).
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve:
Likewise; don't call _M_set_length unnecessarily.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.h (__versa_string<>::_M_append): New.
(append(const __versa_string&), append(const __versa_string&,
size_type, size_type), append(const _CharT*, size_type),
append(const _CharT*)): Use it.
(append(size_type, _CharT)): Delegate to _M_replace_aux.
(assign(const __versa_string&, size_type, size_type),
assign(const _CharT*), replace(size_type, size_type,
const _CharT*, size_type)): Forward to _M_replace.
* include/ext/vstring.tcc (__versa_string<>::_M_append):
Define, core append functionality.
(_M_replace): Simplify, move __s == 0 case to _M_replace_aux.
(_M_replace_aux): Reorganize, don't call _M_replace.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.tcc (__versa_string<>::_M_replace):
Perform _M_check_length at the beginning and remove it from ...
(replace, _M_replace_dispatch, _M_replace_aux, assign): ... here.
(assign): Now move inline.
(resize): Don't call _M_check_length redundantly, append does.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_get_allocator):
Add non const version.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_get_allocator):
Likewise.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_erase): Add.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_erase): Likewise.
(_M_leak_hard): Use it.
* include/ext/vstring.h (__versa_string<>::clear, erase, all
versions): Use it.
* include/ext/vstring.tcc (__versa_string<>::resize): Likewise.
* include/ext/vstring.h (__versa_string<>::_M_replace_safe):
Remove.
* include/ext/vstring.h (__versa_string<>::_M_replace): New, does
the in-place work or delegates to _M_mutate in case of reallocation.
* include/ext/vstring.tcc (__versa_string<>::_M_replace_safe):
Remove.
* include/ext/vstring.tcc (__versa_string<>::_M_replace): Define.
(assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_mutate):
Change to manage only reallocations.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_mutate):
Likewise.
* include/ext/vstring.h (__versa_string<>::insert(size_type,
const __versa_string&), insert(size_type, const __versa_string&,
size_type, size_type), insert(size_type, const _CharT*, size_type),
insert(size_type, const _CharT*)): Delegate to replace.
* include/ext/vstring.h (__versa_string<>::reserve): Move out of
line.
* include/ext/vstring.tcc (__versa_string<>::reserve): Do the
checks and call _M_reserve.
* include/ext/vstring.h (__versa_string<>::append): Call _M_reserve
instead of reserve.
* include/ext/vstring.tcc (__versa_string<>::append, all versions):
Likewise.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
Adjust.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve):
Likewise.
From-SVN: r108034
2005-12-05 00:32:31 +00:00
Paolo Carlini
7fdc03073c
PR libstdc++/24975 (basic_string)
...
2005-11-23 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24975 (basic_string)
* include/bits/basic_string.h (_Rep::_S_empty_rep): Avoid
strict-aliasing warnings.
From-SVN: r107447
2005-11-24 01:29:51 +00:00
Paolo Carlini
d5e07b79f4
re PR libstdc++/24975 (Aliasing problems inside libstdc++)
...
2005-11-22 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24975
* include/bits/stl_set.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Don't break aliasing
rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
* include/bits/stl_multiset.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
_Const_Base_ptr, const value_type&), insert_unique(const_iterator,
const value_type&), insert_equal(const_iterator, const value_type&),
erase(const_iterator), erase(const_iterator, const_iterator)): New,
_Rb_tree<>::const_iterator counterparts of existing facilities.
From-SVN: r107362
2005-11-22 14:53:03 +00:00
Benjamin Kosnik
cddfb1c7ac
re PR libstdc++/23591 (exceptions in plugins in threads cause segmentation violation by leaving bad exit handler for the pthread)
...
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
Ulrich Drepper <drepper@redhat.com>
PR libstdc++/23591
* scripts/create_testsuite_files: Support for "C" test files.
* testsuite/lib/libstdc++.exp: Same.
* testsuite/libstdc++-dg/normal.exp: Same.
* testsuite/ext/mt_allocator/22309_thread.cc: Update names.
* testsuite/19_diagnostics/23591_thread-1.c: New.
* testsuite/testsuite_shared.cc: Add tests, rename existing functions.
* libsupc++/eh_globals.cc: Make global thread local if possible.
* configure.ac: Use GCC_CHECK_TLS.
* acinclude.m4: Include tls.m4.
* configure: Regenerate.
* config.h.in: Same.
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r107350
2005-11-22 06:54:08 +00:00
Paolo Carlini
b6cb8dc2d8
sso_string_base.h: Minor formatting and stylistic fixes.
...
2005-11-21 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h: Minor formatting and stylistic fixes.
(__sso_string_base<>::_M_get_allocator): Return by const ref.
* include/ext/rc_string_base.h: Likewise.
(__rc_string_base<>::_M_get_allocator): Return by const ref.
(__rc_string_base<>::_M_dispose): Take void, use _M_get_allocator.
(__rc_string_base<>::_M_grab): Take one alloc, use _M_get_allocator.
(__rc_string_base<>::~__rc_string_base,
__rc_string_base(const __rc_string_base&), _M_assign, _M_reserve,
_M_mutate): Adjust.
* include/ext/vstring_util.h: Minor stylistic fixes.
From-SVN: r107317
2005-11-21 18:38:05 +00:00
Paolo Carlini
7697e6c66a
rc_string_base.h (__rc_string_base<>::_Rep): Avoid the anonymous struct extension, adjust everywhere.
...
2005-11-18 Paolo Carlini <pcarlini@suse.de>
* include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
anonymous struct extension, adjust everywhere.
* include/ext/rc_string_base.h (__rc_string_base<>::_S_empty_rep()):
Just use a static member.
(__rc_string_base<>::__rc_string_base(), _S_construct): Adjust.
* include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Use anonymous
union together with _CharT to fix alignment issues, rebind to _Rep and
rename _Raw_alloc to _Rep_alloc_type.
(__rc_string_base<>::_Rep::_S_create, _M_destroy): Adjust consistently.
* include/ext/vstring_util.h (__is_null_p): Move inside struct
__vstring_utility as static _S_is_null_pointer.
* include/ext/sso_string.h
(__sso_string_base<>::_M_construct(std::forward_iterator_tag): Adjust.
* include/ext/rc_string_base.h
(__rc_string_base<>::_S_construct(std::forward_iterator_tag): Likewise.
Implement Option 3 of DR 431 for ext/vstring - both available bases.
* include/bits/cpp_type_traits.h (struct __is_empty): Add.
* include/ext/vstring.h (__versa_string<>::swap): Delegate to
this->_M_swap.
* include/ext/vstring.tcc (__versa_string<>::swap): Remove.
* include/ext/vstring_util.h (struct __vstring_utility<>): Add struct
_Alloc_hider<>, augmented of allocator swapping facility, specialized
to nop for empty allocators.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Use it.
(__rc_string_base<>::_M_is_leaked, _M_set_sharable): Change to private.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
Likewise.
(__sso_string_base<>::_M_is_leaked, _M_set_sharable): Remove, unused.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_data(_CharT*):
Return void.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_data(_CharT*):
Likewise.
From-SVN: r107176
2005-11-18 11:50:22 +00:00
Paolo Carlini
81daf4baea
[multiple changes]
...
2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
* include/tr1/boost_shared_ptr.h (get_deleter):
Declare before shared_ptr.
(shared_ptr<>): Declare get_deleter as friend.
(shared_ptr<>:_M_get_deleter): Private.
2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
PR libstdc++/24818
* include/tr1/ref_wrap_iterate.h
(reference_wrapper::operator()()): Don't dereferene the result of
get() before calling it; it's already a reference.
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
Test nullary calls to reference_wrappers.
From-SVN: r106863
2005-11-13 12:14:51 +00:00
Paolo Carlini
3270a66b55
[multiple changes]
...
2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
* include/tr1/boost_shared_ptr.h (get_deleter):
Declare before shared_ptr.
(shared_ptr<>): Declare get_deleter as friend.
(shared_ptr<>:_M_get_deleter): Private.
2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
PR libstdc++/24818
* include/tr1/ref_wrap_iterate.h
(reference_wrapper::operator()()): Don't dereferene the result of
get() before calling it; it's already a reference.
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
Test nullary calls to reference_wrappers.
From-SVN: r106862
2005-11-13 12:14:15 +00:00
Paolo Carlini
516ebd4486
re PR libstdc++/24808 (is_object fails to compile with incomplete types)
...
2005-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24808
* include/tr1/type_traits (__is_abstract_helper): Rename to __in_array
(with complemented logic).
(is_function): Use it, don't use __conv_helper.
(is_abstract): Adjust.
(__conv_helper): Rename to __is_convertible_simple.
(is_convertible): Adjust.
* testsuite/testsuite_tr1.h (class IncompleteClass): Add.
* testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/
24808.cc: New.
* testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/
24808.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/
24808.cc: Likewise.
From-SVN: r106818
2005-11-12 00:19:24 +00:00
Paolo Carlini
77633f4cd0
re PR libstdc++/24799 (std::tr1::hash missing inheritance)
...
2005-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24799
* include/tr1/functional (hash): Inherit from std::unary_function.
* testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
PR libstdc++/24805
* include/tr1/boost_shared_ptr.h (swap(shared_ptr<>&, shared_ptr<>&),
swap(weak_ptr<>&, weak_ptr<>&)): Move inside namespace tr1.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
24805.cc: New.
PR libstdc++/24809
* include/tr1/type_traits (__is_polymorhpic_helper): Adjust destructor.
* testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
24809.cc: New.
From-SVN: r106796
2005-11-11 20:10:20 +00:00
Paolo Carlini
a15024e630
boost_shared_ptr.h (_Sp_counted_base::release, [...]): Protect barriers with __GTHREADS.
...
2005-11-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
weak_release): Protect barriers with __GTHREADS.
From-SVN: r106733
2005-11-10 12:03:50 +00:00
Paolo Carlini
7fd6021841
boost_shared_ptr.h (_Sp_counted_base::release): Optimize by manually inlining weak_release.
...
2005-11-10 Paolo Carlini <pcarlini@suse.de>
Peter Dimov <pdimov@mmltd.net>
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::release):
Optimize by manually inlining weak_release.
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
weak_release): Use explicit memory barriers.
Co-Authored-By: Peter Dimov <pdimov@mmltd.net>
From-SVN: r106729
2005-11-10 10:46:27 +00:00
Paolo Carlini
8180951683
boost_shared_ptr.h: Trivial formatting fixes.
...
2005-11-09 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
From-SVN: r106689
2005-11-09 11:47:30 +00:00
Benjamin Kosnik
797308b2d1
libstdc++.exp (check_v3_target_debug_mode): Use exe as the executable extension.
...
2005-11-08 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): Use
exe as the executable extension.
* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Change gnu defaults to
new.
(GLIBCXX_ENABLE_PCH): Adjust message order.
* configure: Regenerate.
* scripts/testsuite_flags.in (query): Correct print_usagex typo.
* include/bits/functexcept.h: Remove argument names.
* src/mt_allocator.cc: Adjust comment.
From-SVN: r106665
2005-11-08 23:07:02 +00:00
Paolo Carlini
3a4983938c
re PR libstdc++/18174 (documentation example for std::priority_queue usage)
...
2005-11-06 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/18174
* include/bits/stl_queue.h (priority_queue): Tweak a bit the
comment describing the container.
From-SVN: r106560
2005-11-06 13:07:11 +00:00
Paolo Carlini
4b90c838d2
re PR libstdc++/22203 (std::numeric_limits<int>::traps is wrong on PPC)
...
2005-11-05 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/22203
* include/bits/c++config: Include cpu_defines.h.
* include/Makefile.am: Add cpu_defines.h to host_headers.
* configure.host: Add cpu_defines_dir.
* configure.ac: Use it.
* config/cpu/powerpc/cpu_defines.h: New.
* config/cpu/generic/cpu_defines.h: Likewise.
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libmath/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r106524
2005-11-05 09:42:01 +00:00
Paolo Carlini
f9c4ee6d10
sso_string_base.h (__sso_string_base<>::_M_swap): Change the various traits_type::copy call to always copy the entire local buffer...
...
2005-11-03 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
Change the various traits_type::copy call to always copy the
entire local buffer; return early and don't do a full swap on
the lengths for two common cases; change two _S_copy to plain
traits_type::copy.
From-SVN: r106431
2005-11-03 13:13:21 +00:00
Paolo Carlini
3d8aa000c3
[multiple changes]
...
2005-11-02 Thomas Kho <tkho@ucla.edu>
PR libstdc++/23425
* include/bits/stl_vector.h (vector<>::clear): Open code
in terms of _Destroy.
2005-11-02 Paolo Carlini <pcarlini@suse.de>
* include/bits/vector.tcc (vector<>::_M_fill_assign): Qualify fill_n.
From-SVN: r106379
2005-11-02 10:27:54 +00:00
Paolo Carlini
2747345455
re PR libstdc++/24595 (std::tr1::get_deleter not declared)
...
2005-11-01 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24595
* include/tr1/boost_shared_ptr.h (shared_ptr<>::get_deleter):
Move out of shared_ptr.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/24595.cc:
New.
From-SVN: r106321
2005-11-01 11:01:40 +00:00
Paolo Carlini
097588e4e4
re PR libstdc++/20213 (cassert header documentation wrong)
...
2005-10-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/20213
* include/c_std/std_csignal.h: Adjust comment as per 17.4.1.2/4.
* include/c_std/std_cstdlib.h: Likewise.
* include/c_std/std_cstdio.h: Likewise.
* include/c_std/std_cstdarg.h: Likewise.
* include/c_std/std_cctype.h: Likewise.
* include/c_std/std_cerrno.h: Likewise.
* include/c_std/std_cmath.h: Likewise.
* include/c_std/std_ciso646.h: Likewise.
* include/c_std/std_ctime.h: Likewise.
* include/c_std/std_clocale.h: Likewise.
* include/c_std/std_climits.h: Likewise.
* include/c_std/std_cassert.h: Likewise.
* include/c_std/std_csetjmp.h: Likewise.
* include/c_std/std_cwchar.h: Likewise.
* include/c_std/std_cfloat.h: Likewise.
* include/c_std/std_cstring.h: Likewise.
* include/c_std/std_cstddef.h: Likewise.
* include/c_std/std_cwctype.h: Likewise.
From-SVN: r106253
2005-10-30 22:21:50 +00:00
Paolo Carlini
fcc8559226
re PR libstdc++/24559 (Incorrect definition of wcspbrk in cwchar)
...
2005-10-28 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24559
* include/c_std/std_cwchar.h (wcspbrk): Adjust signature.
* testsuite/21_strings/c_strings/wchar_t/24559.cc: New.
From-SVN: r105939
2005-10-28 16:42:09 +00:00
Paolo Carlini
7058c3be1a
sso_string_base.h (_M_swap): Rewrite.
...
2005-10-19 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (_M_swap): Rewrite.
From-SVN: r105654
2005-10-20 01:07:13 +00:00
Paolo Carlini
486516b60b
rc_string_base.h (_S_terminal): Remove.
...
2005-10-19 Paolo Carlini <pcarlini@suse.de>
* include/ext/rc_string_base.h (_S_terminal): Remove.
(_M_set_length): Adjust.
(_S_max_size): Change to anonymous enum.
(_M_max_size()): Add, returns the latter.
* include/ext/sso_string_base.h: Likewise.
* include/ext/vstring.h (max_size): Adjust.
From-SVN: r105616
2005-10-19 14:25:31 +00:00
Jonathan Wakely
7010f39ea6
re PR libstdc++/24244 (Problem with tr1::shared_ptr and pthreads_mutex_lock)
...
2005-10-17 Jonathan Wakely <redi@gcc.gnu.org>
PR libstdc++/24244
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::_Sp_counted_base()):
When __GTHREAD_MUTEX_INIT is defined, initialize the mutex.
From-SVN: r105506
2005-10-17 17:23:42 +00:00
Paolo Carlini
48c410a254
functional: Add missing #pragma GCC system_header.
...
2005-10-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/functional: Add missing #pragma GCC system_header.
From-SVN: r105444
2005-10-15 19:46:58 +00:00
Paolo Carlini
76f5f4414f
hashtable (hashtable::m_erase): Rename to erase_node.
...
2005-10-14 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
(hashtable::erase(iterator), erase(const_iterator)): Adjust.
From-SVN: r105401
2005-10-14 10:43:30 +00:00
Ian Lance Taylor
18c75543a8
re PR libstdc++/13583 (__use_cache not threadsafe)
...
PR libstdc++/13583
* include/bits/locale_classes.h (locale::_Impl::_M_install_cache):
Move out of line.
* src/locale.cc: Define here, add mutex.
* configure.ac (libtool_VERSION): To 6:7:0.
* configure: Regenerate.
* testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.7.
* config/linker-map.gnu: Export locale::_Impl::_M_install_cache.
From-SVN: r105221
2005-10-11 06:19:13 +00:00
Paolo Carlini
3c9b5053e0
PR libstdc++/24061 (issue 6.19)
...
2005-10-09 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24061 (issue 6.19)
* include/tr1/hashtable (struct node_const_iterator, struct
hashtable_const_iterator): New, add const variants to enable separate
overloadings for iterator and const_iterator in unordered_set and
unordered_multiset (as required by issue 6.19).
(class hashtable): Change the mutable_iterators template parameter
to constant_iterators and adjust throughout the logic.
(hashtable::insert(iterator, const value_type&), erase(iterator)
erase(iterator, iterator)): New, as per issue 6.19.
(hashtable::m_erase(node*, node**)): New, called by erase(iterator)
and erase(const_iterator).
(hashtable::Insert_Conv_Type): New, used by insert(iterator,
const value_type&) and insert(const_iterator, const value_type&)
to delegate the work to insert(const value_type&).
* include/tr1/unordered_map (class unordered_map, unordered_multimap):
Adjust typedefs.
* include/tr1/unordered_set (class unordered_set, unordered_multiset):
Likewise.
* testsuite/tr1/6_containers/unordered/erase/24061-map.cc: New.
* testsuite/tr1/6_containers/unordered/erase/24061-multimap.cc: New.
* testsuite/tr1/6_containers/unordered/erase/24061-multiset.cc: New.
* testsuite/tr1/6_containers/unordered/erase/24061-set.cc: New.
* testsuite/tr1/6_containers/unordered/insert/24061-map.cc: New.
* testsuite/tr1/6_containers/unordered/insert/24061-multimap.cc: New.
* testsuite/tr1/6_containers/unordered/insert/24061-multiset.cc: New.
* testsuite/tr1/6_containers/unordered/insert/24061-set.cc: New.
From-SVN: r105138
2005-10-09 10:34:47 +00:00
Paolo Carlini
a5cee4808e
Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior of basic_string pre-2003-06-13...
...
2005-10-07 Paolo Carlini <pcarlini@suse.de>
Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior
of basic_string pre-2003-06-13; remove fully-dynamic-string stuff.
* include/ext/rc_string_base.h (_M_refcopy): Move inside the
_Rep class and remove code in macro.
(__rc_string_base()): Construct with _S_empty_rep()._M_refcopy().
(_M_dispose, _M_leak_hard): Remove code in macro.
(_S_construct): Return _S_empty_rep()._M_refcopy() for empty string.
(_M_grab): Adjust.
* include/ext/rc_string_base.h (_Rep::_M_refdata()): Minor tweak,
mark throw().
From-SVN: r105090
2005-10-07 15:55:17 +00:00
Paolo Carlini
c54c1b2b52
sso_string_base.h (struct __sso_string_local): Remove...
...
2005-10-05 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (struct __sso_string_local):
Remove, actually POD types cannot have user defined constructors
(being aggregates) and therefore can always be members of unions.
(class __sso_string_base): Adjust consistently.
From-SVN: r105021
2005-10-05 23:50:18 +00:00
Paolo Carlini
c6ff194494
PR libstdc++/11729 (DR 280, [Ready])
...
2005-10-05 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11729 (DR 280, [Ready])
* include/bits/stl_iterator.h: Add reverse_iterator global
functions with two template parameters (operator==, !=, <,
>, <=, >=, -).
* testsuite/24_iterators/reverse_iterator/11729.cc: New.
* docs/html/ext/howto.html: Add an entry for issue 280.
From-SVN: r105000
2005-10-05 15:49:39 +00:00
Paolo Carlini
d26e1ec86f
hashtable (node_iterator::node_iterator(const node_iterator<,true,>&)): Fix to take a "false" (i.e., is_const == false) node_iterator.
...
2005-10-03 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable
(node_iterator::node_iterator(const node_iterator<,true,>&)): Fix to
take a "false" (i.e., is_const == false) node_iterator.
(hashtable_iterator::hashtable_iterator(const hashtable_iterator<,
true,>&)): Likewise for hashtable_iterator.
(hashtable::const_local_iterator): Fix typedef (is_const == true).
(hashtable::const_iterator): Likewise.
* testsuite/tr1/6_containers/unordered/types/map_iterator.cc: New.
* testsuite/tr1/6_containers/unordered/types/multimap_iterator.cc: New.
* testsuite/tr1/6_containers/unordered/types/set_iterator.cc: New.
* testsuite/tr1/6_containers/unordered/types/multiset_iterator.cc: New.
From-SVN: r104900
2005-10-03 17:35:55 +00:00
Paolo Carlini
e7dbb3ee6b
re PR libstdc++/24054 (std::tr1::unordered_map's erase does not seem to return a value)
...
2005-10-02 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24054
* include/tr1/hashtable (erase(const key_type&)): Return the
number of elements erased.
* testsuite/tr1/6_containers/unordered/hashtable/24054.cc: New.
From-SVN: r104867
2005-10-02 10:20:16 +00:00
Kenny Simpson
cc6312c1e8
tuple_iterate.h (tuple::operator=(const std::pair<>&)): Add missing return.
...
2005-10-01 Kenny Simpson <theonetruekenny@yahoo.com>
* include/tr1/tuple_iterate.h (tuple::operator=(const std::pair<>&)):
Add missing return.
From-SVN: r104851
2005-10-01 08:35:49 +00:00
Paolo Carlini
18048e65b0
re PR libstdc++/24064 (tr1::unordered_map seems to seg-fault when caching hash values)
...
2005-09-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24064
* include/tr1/hashtable (hash_code_base<>::store_code): Add.
(hashtable<>::insert(const value_type&)): Use it.
* testsuite/tr1/6_containers/unordered/hashtable/24064.cc: New.
From-SVN: r104823
2005-09-30 16:54:54 +00:00
Paolo Carlini
eae6e95b7f
re PR libstdc++/23953 (using stringstreams causes crashes with some locales)
...
2005-09-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23953
* include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache,
__moneypunct_cache<>::_M_cache): Check that grouping()[0] > 0.
(__verify_grouping): Do the last check only if __grouping[__min] > 0.
(__add_grouping<>): End recursion if *__gbeg <= 0.
* testsuite/22_locale/num_get/get/char/23953.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
* testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
From-SVN: r104814
2005-09-30 08:39:52 +00:00
Chris Jefferson
2bd8e92c33
re PR libstdc++/23978 (tr1::tie doesn't work with std::pair)
...
2005-09-29 Chris Jefferson <chris@bubblescope.net>
PR libstdc++/23978
* include/tr1/functional (ref, cref): Make inline.
* include/tr1/tuple_iterate.h (tuple): Add operator=(std::pair).
(tie): Correct formatting.
(make_tuple): Make inline.
* testsuite/tr1/6_containers/tuple/creation_functions/23978.cc: New.
From-SVN: r104784
2005-09-29 17:42:42 +00:00
Benjamin Kosnik
4bd2f9d6a1
2005-09-25 Benjamin Kosnik <bkoz@redhat.com>
...
Eric Botcazou <ebotcazou@libertysurf.fr>
* include/ext/mt_allocator.h
(__per_type_pool<...true>::_S_initialize_once): Always call
_M_initialize_once.
(__common_pool<...true>::_S_initialize_once): Same.
Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>
From-SVN: r104678
2005-09-27 01:40:46 +00:00
Guillaume Melquiond
fa5e3f0675
re PR libstdc++/23956 (Class __mt_alloc overexerts __policy_type::_S_get_pool)
...
2005-09-21 Guillaume Melquiond <guillaume.melquiond@ens-lyon.fr>
PR libstdc++/23956
* include/ext/mt_allocator.h: Remove excess
policy_type::_S_get_pool calls in constructors.
From-SVN: r104520
2005-09-22 08:48:31 +00:00
Paolo Carlini
3d480e2f81
PR libstdc++/23417 (cont)
...
2005-09-18 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23417 (cont)
* include/bits/stl_tree.h (_Rb_tree_impl<true>): Use member
initialization list for -Weffc++.
From-SVN: r104401
2005-09-18 13:39:25 +00:00
Benjamin Kosnik
451e92db80
re PR libstdc++/21674 (basic_string vs debug_mode)
...
2005-09-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/21674
PR libstdc++/22205
PR libstdc++/22222
* include/bits/c++config: Set _GLIBCXX_STD regardless of __GXX_WEAK__.
Add in check for __NO_INLINE__ for warning.
* testsuite/lib/dg-options.exp (dg-require-debug-mode): New.
* testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): New.
* testsuite/21_strings/basic_string/element_access/char/21674.cc:
Use it.
* testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
Use it.
From-SVN: r104314
2005-09-15 18:58:02 +00:00
Paolo Carlini
f4ca8e2772
re PR libstdc++/23875 (operator<<(short) should not call operator<<(long), etc.)
...
2005-09-15 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23875
* include/std/std_ostream.h (operator<<(short), operator<<(unsigned
short), operator<<(int), operator<<(unsigned int), operator<<(float)):
Don't call operator<<(long), operator<<(unsigned long), or
operator<<(double), do the work mandated by the resolution of DR117...
* include/bits/ostream.tcc (operator<<(short), operator<<(unsigned
short), operator<<(int), operator<<(unsigned int), operator<<(float)):
... here.
* testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc: New.
From-SVN: r104313
2005-09-15 17:27:23 +00:00
David Edelsohn
00ff8e1926
re PR libstdc++/22554 (pb_assoc header build and install overflows exec)
...
2005-09-12 David Edelsohn <dje@gcc.gnu.org>
PR libstdc++/22554
PR libstdc++/23734
* include/Makefile.am (stamp-assoc): Install each subgroup
of headers separately.
* include/Makefile.in: Regenerate.
From-SVN: r104238
2005-09-13 19:22:52 +00:00
Benjamin Kosnik
c35a51a54e
re PR libstdc++/22554 (pb_assoc header build and install overflows exec)
...
2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
David Edelsohn <dje@gcc.gnu.org>
PR libstdc++/22554
PR libstdc++/23734
* include/Makefile.am (assoc_headers): Break into five sub values.
(install-headers): Use them.
(stamp-assoc): Same.
* include/Makefile.in: Regenerate.
From-SVN: r104196
2005-09-12 23:09:41 +00:00
Paolo Carlini
b35c082263
[multiple changes]
...
2005-09-12 Chris Jefferson <chris@bubblescope.net>
* include/bits/stl_algo.h (search_n): Delegate to specializations.
(search_n(,,,,binary_predicate)): Likewise.
(__search_n(forward_iterator_tag)): Original search_n, tweak to
remove an unnecessary comparison.
(__search_n(,,,,binary_predicate,forward_iterator_tag)): Likewise.
2005-09-12 Jim Xochellis <jimxoch@yahoo.gr>
* include/bits/stl_algo.h (__search_n(std::random_access_iterator_tag)):
Add specialization.
(__search_n(,,,,binary_predicate,std::random_access_iterator_tag)):
Likewise.
From-SVN: r104192
2005-09-12 21:13:04 +00:00
Benjamin Kosnik
dda6e8cd3a
re PR libstdc++/23417 (bits/stl_tree.h isn't -Weffc++ clean)
...
2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/23417
* include/bits/stl_list.h (_List_impl): Use member initialization
list for -Weffc++.
* include/bits/stl_tree.h (_Rb_tree_impl): Same.
From-SVN: r104191
2005-09-12 20:32:54 +00:00
Benjamin Kosnik
dbc564aea3
re PR libstdc++/23417 (bits/stl_tree.h isn't -Weffc++ clean)
...
2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/23417
* include/bits/stl_list.h (_List_impl): Use member initialization
list for -Weffc++.
From-SVN: r104187
2005-09-12 19:48:04 +00:00
Paolo Carlini
2bcec7298e
re PR libstdc++/23767 (std::vector iterator implementation wrong)
...
2005-09-12 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23767
* include/bits/stl_iterator.h (__normal_iterator::
__normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
Enable only when _Iter is equal to _Container::pointer.
* testsuite/21_strings/basic_string/types/23767.cc: New.
* testsuite/23_containers/vector/types/23767.cc: Likewise.
* testsuite/ext/vstring/types/23767.cc: Likewise.
From-SVN: r104167
2005-09-12 09:42:34 +00:00
Benjamin Kosnik
2f9f6cef1c
[multiple changes]
...
2005-09-11 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/19265
PR libstdc++/22309
* include/ext/mt_allocator.h
(__gnu_cxx::__create_handler): Remove.
(__pool<true>::_M_destroy_thread_key): Compatibility only.
(__pool<true>::_M_initialize(__destroy): Same.
(__pool<true>::_M_initialize): New.
(__pool<true>::_M_initialize_once): Nothing fancy.
(__pool<true>::_M_once): Remove.
(__common_pool): New.
(__common_pool_base): New.
(__per_type_pool): New.
(__per_type_pool_base): New.
* src/mt_allocator.cc: Same.
* config/linker-map.gnu (__pool<true>::_M_initialize()): Add.
2005-09-11 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/19265
PR libstdc++/22309
* src/mt_allocator.cc (__gnu_internal::freelist_mutex): Make static.
(__gnu_internal::__freelist): New type.
(__gnu_internal::freelist): New variable.
(__gnu_internal::_M_destroy_thread_key): New function.
(__gnu_cxx::__pool<true>::_M_destroy): Don't delete
_M_thread_freelist_initial.
(__gnu_cxx::__pool<true>::_M_initialize): Make argument nameless.
Don't use _M_thread_freelist and _M_thread_freelist_initial
__pool<true> fields, instead use __gnu_internal::freelist fields, call
gthread_key_create just once. Use
__gnu_internal::_M_destroy_thread_key as key destructor.
(__gnu_cxx::__pool<true>::_M_get_thread_id): Store size_t id
rather than _Thread_record* in the thread specific value. Don't
use _M_thread_freelist __pool<true> field, instead use
__gnu_internal::freelist fields.
(__gnu_cxx::__pool<true>::_M_destroy_thread_key): Do nothing.
2005-09-11 Benjamin Kosnik <bkoz@redhat.com>
Jakub Jelinek <jakub@redhat.com>
PR libstdc++/19265
PR libstdc++/22309
* testsuite/testsuite_shared.cc: New.
* testsuite/lib/dg-options.exp (dg-require-sharedlib): New.
* testsuite/lib/libstdc++.exp (libstdc++_init): Look for shared
library, and set v3-sharedlib based on this.
(check_v3_target_sharedlib): New.
(proc v3-build_support): Build shared objects.
* testsuite/ext/mt_allocator/22309_thread.cc: New, use above.
From-SVN: r104161
2005-09-12 04:49:11 +00:00
Paolo Carlini
e182017e46
re PR libstdc++/23781 (Implicit conversion from NULL to list<T>::iterator)
...
2005-09-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23781
* include/bits/stl_list.h (_List_iterator<>::
_List_iterator(_List_node_base*), _List_const_iterator<>::
_List_const_iterator(const _List_node_base*)): Make explicit.
(list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
consistently.
* include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
consistently.
* include/bits/stl_tree.h (_Rb_tree_iterator<>::
_Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
_Rb_tree_const_iterator(_Link_type)): Make explicit.
(_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
* include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
Make explicit.
(slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
Adjust consistently.
* include/tr1/hashtable (hashtable_iterator<>::
hashtable_iterator(hash_node<>**)): Make explicit.
* testsuite/23_containers/list/23781.cc: New.
* testsuite/23_containers/map/23781.cc: Likewise.
* testsuite/23_containers/multimap/23781.cc: Likewise.
* testsuite/23_containers/multiset/23781.cc: Likewise.
* testsuite/23_containers/set/23781.cc: Likewise.
* testsuite/ext/slist/23781.cc: Likewise.
* testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
* testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
line numbers.
* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
* include/tr1/array (array<>::begin(), array<>::end()): Adjust
stylistically for consistency with the other containers.
From-SVN: r104139
2005-09-11 09:48:41 +00:00
Benjamin Kosnik
4eafe88212
std_cmath.h: Declare C99 functions and helper functions as inline.
...
2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
* include/c_std/std_cmath.h: Declare C99 functions and helper
functions as inline.
From-SVN: r103747
2005-09-01 20:59:31 +00:00
Benjamin Kosnik
d42a11e122
std_cmath.h: Declare C99 functions and helper functions as inline.
...
2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
* include/c_std/std_cmath.h: Declare C99 functions and helper
functions as inline.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r103743
2005-09-01 20:46:47 +00:00
Paolo Carlini
e6494c9434
re PR libstdc++/23632 (std::vector<bool> in combination with debug mode fails to compile code)
...
2005-08-31 Paolo Carlini <pcarlini@suse.de>
Kaspar Fischer <fischerk@inf.ethz.ch>
PR libstdc++/23632
* include/bits/stl_bvector.h (_Bit_iterator::operator[],
_Bit_const_iterator::operator[]): Const-ify.
* testsuite/23_containers/vector/bool/23632.cc: New.
Co-Authored-By: Kaspar Fischer <fischerk@inf.ethz.ch>
From-SVN: r103686
2005-08-31 17:01:57 +00:00
Paolo Carlini
5038e0988e
PR libstdc++/23578 (cont)
...
2005-08-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23578 (cont)
* include/bits/stl_bvector.h (class vector<bool>): Add
a dummy data() to avoid problems in debug-mode.
From-SVN: r103641
2005-08-30 15:49:15 +00:00
Paolo Carlini
e677187ed5
stl_map.h (class map): ...
...
2005-08-29 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_map.h (class map): ... and a missing @a.
From-SVN: r103611
2005-08-29 16:50:52 +00:00
Paolo Carlini
76c6705ba8
stl_map.h (class map): Add missing % in comment.
...
2005-08-29 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_map.h (class map): Add missing % in comment.
From-SVN: r103610
2005-08-29 16:47:06 +00:00
Paolo Carlini
8b5f07a224
PR libstdc++/23578 (DR 464 [Ready])
...
2005-08-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23578 (DR 464 [Ready])
* include/bits/stl_map.h (class map): Add at(const key_type&)
member functions.
* include/bits/stl_vector.h (class vector): Add data() member
functions.
* include/debug/map.h (class map): Adjust consistently.
* include/debug/vector (class vector): Likewise.
* testsuite/23_containers/map/element_access/1.cc: New.
* testsuite/23_containers/vector/data_access/1.cc: Likewise.
* docs/html/ext/howto.html: Add an entry for DR 464.
From-SVN: r103609
2005-08-29 16:11:19 +00:00
Benjamin Kosnik
277d42e27f
PR libstdc++/20534 (contd)
...
2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/20534 (contd)
* src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
Remove cstdio and cstdlib includes.
* include/debug/debug.h: Define inline here. Remove
_GLIBCXX_DEBUG_ABORT.
* include/debug/macros.h: Remove __fancy_abort declaration,
_GLIBXX_DEBUG_ABORT definition.
* config/linker-map.gnu: Remove export.
From-SVN: r103535
2005-08-26 21:10:59 +00:00
Paolo Carlini
5a2ab2c36d
re PR libstdc++/23081 (Finish the implementation of tr1::array)
...
2005-08-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23081
* include/tr1/array: Implement members back(), front(), data(),
and the tuple interface; tidy.
* testsuite/tr1/6_containers/array/element_access/back.cc: New.
* testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
* testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
* testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
* testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
Likewise.
* testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
Likewise.
From-SVN: r103525
2005-08-26 15:52:53 +00:00
Paolo Carlini
40f1508996
hashtable: Use __throw_exception_again, not naked throw, in the catch clauses.
...
2005-08-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable: Use __throw_exception_again,
not naked throw, in the catch clauses.
From-SVN: r103483
2005-08-25 09:34:49 +00:00
Paolo Carlini
bb7d32a918
re PR libstdc++/23465 (Assignment fails on TR1 unordered containers)
...
2005-08-24 Paolo Carlini <pcarlini@suse.de>
Chris Jefferson <chris@bubblescope.net>
PR libstdc++/23465
* include/tr1/hashtable (hash_code_base::m_swap): Use
std::swap.
(hashtable<>::hashtable(const hashtable&)): Use copy_code;
fix m_allocate_node call.
* testsuite/tr1/6_containers/unordered/hashtable/23465.cc: New.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r103441
2005-08-24 15:00:19 +00:00
Thomas Kho
9191d64118
re PR libstdc++/23358 (_Destroy doesn't optimize for scalar types)
...
2005-08-23 Thomas Kho <tkho@ucla.edu>
PR libstdc++/23358
* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
_ForwardIterator, allocator<_Tp>)): Removed unused template parameter.
From-SVN: r103393
2005-08-23 10:40:14 +00:00
Kelley Cook
83f517994d
All files: Update FSF address.
...
2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
* All files: Update FSF address.
From-SVN: r103192
2005-08-17 02:28:44 +00:00
Volker Reichelt
dc5fef6a47
* include/std/std_valarray.h: Fix grammar in comments.
...
From-SVN: r102479
2005-07-28 12:23:53 +00:00
Geoffrey Keating
a9fdd4720c
Index: gcc/ChangeLog
...
2005-07-25 Geoffrey Keating <geoffk@apple.com>
* doc/install.texi (Prerequisites): Mention that perl is needed
to do export control in libstdc++ targetting Darwin.
Index: libstdc++-v3/ChangeLog
2005-07-25 Geoffrey Keating <geoffk@apple.com>
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle darwin-export,
and make it the default for Darwin.
* scripts/make-exports.pl: New.
* src/Makefile.am: Update for changes to GLIBCXX_ENABLE_SYMVERS.
Handle darwin-export.
* configure: Regenerate.
* include/Makefile.in: Regenerate.
* libmath/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
From-SVN: r102435
2005-07-27 18:28:32 +00:00
Dave Odell
7f50ddeef6
re PR libstdc++/23053 (Const-correctness issue in TR1 hashtable)
...
2005-07-25 Dave Odell <evilalias@hotmail.com>
PR libstdc++/23053
* include/tr1/hashtable (hashtable<>::find_node): Const-ify.
* testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
From-SVN: r102372
2005-07-25 22:46:48 +00:00
Paolo Carlini
ceed88b131
re PR libstdc++/22515 (operator>>(istream, string/CharT*) can be faster)
...
2005-07-24 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/22515
* include/bits/basic_string.h: Declare the specialization
operator>>(basic_istream<char>&, basic_string<char>&).
* include/std/std_istream.h: Declate the specialization
operator>>(basic_istream<char>&, char*).
* include/std/std_streambuf.h (basic_streambuf): Add friend
declarations for the above.
* src/istream.cc: Define the above.
* testsuite/27_io/basic_istream/extractors_character/char/4.cc: New.
* testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
Likewise.
* testsuite/performance/27_io/ifstream_extract_chars.cc: Likewise.
From-SVN: r102353
2005-07-25 08:47:33 +00:00
Paolo Carlini
cdcdee12da
streambuf.tcc (xsgetn, xsputn): Use streamsize instead of size_t.
...
2005-07-20 Paolo Carlini <pcarlini@suse.de>
* include/bits/streambuf.tcc (xsgetn, xsputn): Use streamsize
instead of size_t.
* src/streambuf.cc (__copy_streambufs): Likewise.
From-SVN: r102204
2005-07-20 22:07:57 +00:00
Paolo Carlini
dbd160bff8
PR libstdc++/21193 (float, double, long double)
...
2005-07-14 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/21193 (float, double, long double)
* include/tr1/functional (hash<float>, hash<double>):
Reimplement exploiting the Fnv_hash<>::hash helper.
(hash<long double>): Reimplement using frexp (in this
case, due to random padding bits, the former approach
is not generally viable).
From-SVN: r102043
2005-07-15 00:05:44 +00:00
Paolo Carlini
5a298377cf
PR libstdc++/21193 (string & wstring)
...
2005-07-13 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/21193 (string & wstring)
* include/tr1/functional (hash<string>, hash<wstring>):
Reimplement using the FNV hash.
* include/tr1/functional: Trivial formatting fixes.
From-SVN: r101964
2005-07-13 10:47:40 +00:00
Paolo Carlini
8637038aa8
ostream.tcc (basic_ostream<>::operator<<(long), [...]): Don't deal with oct and hex and casts to unsigned here...
...
2005-07-11 Paolo Carlini <pcarlini@suse.de>
* include/bits/ostream.tcc (basic_ostream<>::operator<<(long),
basic_ostream<>::operator<<(long long)): Don't deal with oct
and hex and casts to unsigned here...
* include/bits/locale_facets.tcc (__int_to_char(_CharT*, long,
const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, long
long, const _CharT*, ios_base::fmtflags)): ... do that here,
instead, as per Table 57.
(num_put<>::_M_insert_int): Tidy treatment of numeric base and
sign.
* include/std/std_ostream.h (operator<<(short), operator<<(int)):
Adjust logic, as per the letter of the resolution of DR117 [WP].
* testsuite/22_locale/num_put/put/char/10.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
Likewise.
From-SVN: r101872
2005-07-11 09:48:31 +00:00
Paolo Carlini
872d8fea40
Add class __versa_string, a versatile "basic_string-type" class...
...
2005-07-05 Paolo Carlini <pcarlini@suse.de>
Add class __versa_string, a versatile "basic_string-type" class:
an additional, non-standard, template parameter allows to specify
the preferred base class. Two are provided: __rc_string_base,
which implements a behavior very similar to our standard string,
and __sso_string_base, not reference-counted and optimized for
short strings.
* include/ext/rc_string_base.h: New.
* include/ext/sso_string_base.h: Likewise.
* include/ext/vstring.h: Likewise.
* include/ext/vstring.tcc: Likewise.
* include/ext/vstring_fwd.h: Likewise.
* include/ext/vstring_util.h: Likewise.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* testsuite/ext/vstring/explicit_instantiation/1.cc: New.
* testsuite/ext/vstring/explicit_instantiation/2.cc: Likewise.
* testsuite/ext/vstring/explicit_instantiation/char/1.cc: Likewise.
* testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc: Likewise.
* Makefile.in: Regenerate with autotools 1.9.3 (to date, the version
officially used by v3).
* aclocal.m4: Likewise.
* libmath/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r101639
2005-07-05 23:07:18 +00:00
Paolo Carlini
c1806f89e0
[multiple changes]
...
2005-07-01 Paolo Carlini <pcarlini@suse.de>
Port from libstdcxx_so_7-branch:
2004-10-28 Chris Jefferson <chris@bubblescope.net>
PR libstdc++/17441
* include/bit/stl_algo.h (find(,,,input_iterator_tag),
find(,,,random_access_interator_tag),
find_if(,,,input_iterator_tag),
find_if(,,,random_access_iterator_tag)): Uglify function name.
(find, find_if): Use new uglified specialisation names.
* testsuite/25_algorithms/find/17441.cc: New.
From-SVN: r101501
2005-07-01 08:25:11 +00:00
Ulrich Weigand
625684fa1c
* include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
...
(PB_ASSOC_CLASS_C_DEC::s_highest_bit_1): Cast constant 1 to target
type before shifting.
From-SVN: r101477
2005-06-30 21:33:31 +00:00
Paolo Carlini
a81408c939
PR libstdc++/21244 (cont^2)
...
2005-06-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/21244 (cont^2)
* include/ext/bitmap_allocator.h: Convert everywhere
bits_per_block to size_t.
From-SVN: r101438
2005-06-29 22:12:18 +00:00
Jonathan Wakely
a65da37d5b
basic_string.h, [...]: Fix Doxygen comments that use wrong parameter and function names.
...
* include/bits/basic_string.h, include/bits/locale_facets.h: Fix
Doxygen comments that use wrong parameter and function names.
From-SVN: r101419
2005-06-29 13:18:08 +01:00
Paolo Carlini
d04e9b7fef
re PR libstdc++/22131 (std::num_get fails for input with invalid groups)
...
2005-06-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/22131
* include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
num_get<>::_M_extract_float, money_get<>::_M_extract):
Adjust to assign the result also when digit grouping is
wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
(NB: consistently for money_get too).
* config/locale/generic/c_locale.cc (__convert_from_v): Do
not check ios_base::failbit at the outset.
* config/locale/gnu/c_locale.cc: Likewise.
* testsuite/22_locale/money_get/get/char/22131.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/char/12.cc: Adjust.
* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
Likewise.
From-SVN: r101416
2005-06-29 11:48:53 +00:00
Paul Brook
617a1b7144
Makefile.in: Set and use UNWIND_H.
...
2005-06-28 Paul Brook <paul@codesourcery.com>
gcc/
* Makefile.in: Set and use UNWIND_H. Install as unwind.h.
* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
* except.c (add_ehspec_entry): Generate arm eabi filter lists.
(assign_filter_values): Ditto.
(output_ttype): New function.
(output_function_exception_table): Use output_ttype. Generate arm
eabi filter lists.
(default_init_unwind_resume_libfunc): New function.
* except.h (default_init_unwind_resume_libfunc): Add prototype.
* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
* opts.c (decode_options): Use targetm.unwind_tables_default.
* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
and arm_eabi_unwinder.
* unwind-c.c: Support Arm EABI unwinder.
* unwind.h: Rename ...
* unwind-generic.h: ... To this.
* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
(TARGET_UNWID_TABLES_DEFAULT): Document.
* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
Define.
(thumb_pushpop, thumb_output_function_prologue): Output unwinding
directives.
(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
!TARGET_UNWIND_INFO.
(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
* config/arm/lib1funcs.asm: Include libunwind.S.
* config/arm/libgcc-bpabi.ver: Add unwinding routines.
* config/arm/libunwind.S: New file.
* config/arm/pr-support.c: New file.
* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
* config/arm/unwind-arm.c: New file.
* config/arm/unwind-arm.h: New file.
* config/i386/t-netware (USER_H): Remove unwind.h.
* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
gcc/cp/
* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
* except.c: Include target.h.
(init_exception_processing): Initialize unwind_resume_libfunc.
* doc/tm.texi: Document TARGET_ASM_TTYPE
gcc/ada/
* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
gcc/java/
* decl.c (java_init_decl_processing): Call
default_init_unwind_resume_libfunc.
gcc/objc/
* objc-act.c (objc_init_exceptions): Call
default_init_unwind_resume_libfunc.
libstdc++/
* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
__cxa_end_cleanup.
* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
* libsupc++/eh_arm.cc: New file.
* libsupc++/eh_call.cc: New file.
* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
__gxx_caught_object.
(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
_Unwind_Complete when using the ARM EABI.
(__cxa_end_catch): Use __is_gxx_exception_class.
* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
using the ARM EABI.
(save_caught_exception, restore_caught_exception): New functions.
(_throw_typet): New typedef.
(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
EABI implementations.
(PERSONALITY_FUNCTION): Use new functions. Addd support for ARM EABI
unwinding libary.
(__cxa_unexpected): Disable when using the ARM EABI.
* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
(__cxa_rethrow): Use __is_gxx_exception_class. Call
_Unwind_RaiseException when using the ARM EABI.
* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
EABI semantics.
(struct __cxa_eh_globals): Ditto.
(__cxa_call_terminate): Add prototype.
(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
prototypes.
(__get_exception_header_from_obj, __get_exception_header_from_ue):
Move earlier in file.
(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
__gxx_caught_object): New functions.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libmath/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* src/Makefie.in: Regenerate.
* testsuite/makefile.in: Regenerate.
From-SVN: r101385
2005-06-28 19:52:27 +00:00
Paolo Carlini
ec5537cc33
re PR libstdc++/22102 ([DR233] Implement resolution of DR 233)
...
2005-06-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/22102
* include/bits/stl_tree.h (insert_unique(iterator, const _Val&),
insert_equal((iterator, const _Val&)): Reimplement to check both
before and after, as per the algorithm "ignore hint if wrong" of
ISO paper N1780.
From-SVN: r101355
2005-06-27 16:35:49 +00:00
Benjamin Kosnik
fd1e17264b
documentation.html: Add link for policy based associative containers docs.
...
2005-06-27 Benjamin Kosnik <bkoz@redhat.com>
Ami Tavory <pbassoc@gmail.com>
* docs/html/documentation.html: Add link for policy based
associative containers docs.
* docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
* docs/html/ext/pb_assoc/acks.html: New.
* docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
* docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
* docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
* docs/html/ext/pb_assoc/basic_ds_tag.html: New.
* docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
* docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
* docs/html/ext/pb_assoc/basic_ms_tag.html: New.
* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/
basic_tree_assoc_cntnr_const_node_iterator.html: New.
* docs/html/ext/pb_assoc/
basic_tree_assoc_cntnr_node_iterator.html: New.
* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
* docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
* docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
* docs/html/ext/pb_assoc/
cc_hash_max_collision_check_resize_trigger.html: New.
* docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
* docs/html/ext/pb_assoc/cd.jpg: New.
* docs/html/ext/pb_assoc/component_requirements.html: New.
* docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
* docs/html/ext/pb_assoc/compound_data_type.html: New.
* docs/html/ext/pb_assoc/compound_ds_tag.html: New.
* docs/html/ext/pb_assoc/concepts.html: New.
* docs/html/ext/pb_assoc/contact.html: New.
* docs/html/ext/pb_assoc/counter_update_metadata.html: New.
* docs/html/ext/pb_assoc/counter_update_policy.html: New.
* docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
* docs/html/ext/pb_assoc/design.html: New.
* docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
* docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
* docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
* docs/html/ext/pb_assoc/disclaimer.html: New.
* docs/html/ext/pb_assoc/ds_gen.html: New.
* docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
* docs/html/ext/pb_assoc/ds_traits.html: New.
* docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
* docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
* docs/html/ext/pb_assoc/examples.html: New.
* docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
* docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
* docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
* docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
* docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
* docs/html/ext/pb_assoc/generics.html: New.
* docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
* docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
* docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
* docs/html/ext/pb_assoc/hash_based_containers.html: New.
* docs/html/ext/pb_assoc/hash_cd.jpg: New.
* docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
* docs/html/ext/pb_assoc/hash_fn.html: New.
* docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
* docs/html/ext/pb_assoc/hash_policies.html: New.
* docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
* docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
* docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
* docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
* docs/html/ext/pb_assoc/home.html: New.
* docs/html/ext/pb_assoc/index.html: New.
* docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
* docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
* docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
* docs/html/ext/pb_assoc/insert_type_methods.html: New.
* docs/html/ext/pb_assoc/interface.html: New.
* docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
* docs/html/ext/pb_assoc/introduction.html: New.
* docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
* docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
* docs/html/ext/pb_assoc/lib_download.html: New.
* docs/html/ext/pb_assoc/linear_probe_fn.html: New.
* docs/html/ext/pb_assoc/list_updates.html: New.
* docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/lu_based_containers.html: New.
* docs/html/ext/pb_assoc/lu_cd.jpg: New.
* docs/html/ext/pb_assoc/lu_ds_tag.html: New.
* docs/html/ext/pb_assoc/lu_ops.jpg: New.
* docs/html/ext/pb_assoc/mmap_value_utils.html: New.
* docs/html/ext/pb_assoc/motivation.html: New.
* docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
* docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
* docs/html/ext/pb_assoc/ms_cd.jpg: New.
* docs/html/ext/pb_assoc/ms_gen.html: New.
* docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
* docs/html/ext/pb_assoc/ms_traits.html: New.
* docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
* docs/html/ext/pb_assoc/node_invariants.html: New.
* docs/html/ext/pb_assoc/node_invariants.jpg: New.
* docs/html/ext/pb_assoc/non_unique_mapping.html: New.
* docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
* docs/html/ext/pb_assoc/null_data_type.html: New.
* docs/html/ext/pb_assoc/null_hash_fn.html: New.
* docs/html/ext/pb_assoc/null_probe_fn.html: New.
* docs/html/ext/pb_assoc/order_by_key.html: New.
* docs/html/ext/pb_assoc/order_statistics_key.html: New.
* docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
* docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
* docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
* docs/html/ext/pb_assoc/overview.html: New.
* docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
* docs/html/ext/pb_assoc/portability.html: New.
* docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
* docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
* docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
* docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
* docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
* docs/html/ext/pb_assoc/reference_iterator.jpg: New.
* docs/html/ext/pb_assoc/references.html: New.
* docs/html/ext/pb_assoc/regression_tests.html: New.
* docs/html/ext/pb_assoc/resize_general.html: New.
* docs/html/ext/pb_assoc/resize_policies.html: New.
* docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
* docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
* docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
* docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
* docs/html/ext/pb_assoc/sample_probe_fn.html: New.
* docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
* docs/html/ext/pb_assoc/sample_range_hashing.html: New.
* docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
* docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
* docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
* docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
* docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
* docs/html/ext/pb_assoc/sample_resize_policy.html: New.
* docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
* docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
* docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
* docs/html/ext/pb_assoc/size_policies_general.html: New.
* docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
* docs/html/ext/pb_assoc/timing_tests.html: New.
* docs/html/ext/pb_assoc/toc.html: New.
* docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
* docs/html/ext/pb_assoc/
tree_assoc_cntnr_const_node_iterator.html: New.
* docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
* docs/html/ext/pb_assoc/tree_based_containers.html: New.
* docs/html/ext/pb_assoc/tree_cd.jpg: New.
* docs/html/ext/pb_assoc/trigger_policies_general.html: New.
* docs/html/ext/pb_assoc/tutorial.html: New.
* docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
* include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
assoc_headers.
* include/Makefile.in: Regenerate.
* include/ext/typelist.h: New.
* include/ext/pb_assoc/assoc_cntnr.hpp: New.
* include/ext/pb_assoc/data_type.hpp: New.
* include/ext/pb_assoc/ds_trait.hpp: New.
* include/ext/pb_assoc/exception.hpp: New.
* include/ext/pb_assoc/hash_policy.hpp: New.
* include/ext/pb_assoc/lu_policy.hpp: New.
* include/ext/pb_assoc/ms_trait.hpp: New.
* include/ext/pb_assoc/tree_policy.hpp: New.
* include/ext/pb_assoc/trivial_iterator_def.hpp: New.
* include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
* include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
* include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
* include/ext/pb_assoc/detail/map_debug_base.hpp: New.
* include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
* include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
* include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
* include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
* include/ext/pb_assoc/detail/standard_policies.hpp: New.
* include/ext/pb_assoc/detail/standard_sizes.hpp: New.
* include/ext/pb_assoc/detail/type_utils.hpp: New.
* include/ext/pb_assoc/detail/typelist.hpp: New.
* include/ext/pb_assoc/detail/types_traits.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
d_find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
d_insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_assoc_cntnr/
iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
resize_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
node_iteration_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
r_erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
r_range_iteration_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
range_iteration_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
bin_search_tree_.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
cond_dtor_entry_dealtor.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
cond_key_dtor_entry_dealtor.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
r_erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/bin_search_tree_/
split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
cond_key_dtor_entry_dealtor.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
constructor_destructor_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
constructor_destructor_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
debug_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
debug_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
erase_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
erase_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
find_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
find_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
insert_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
insert_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
resize_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/
resize_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
* include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
* include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
* include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
constructor_destructor_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
constructor_destructor_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
debug_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
debug_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
erase_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
erase_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
find_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
find_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
insert_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
insert_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
resize_no_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/gp_ht_map_/
resize_store_hash_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/
direct_mask_range_hashing_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/
direct_mod_range_hashing_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/
mask_based_range_hashing.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
* include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
* include/ext/pb_assoc/detail/lu_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_assoc_cntnr/
policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
* include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/lu_policy/
counter_lu_metadata_imp.hpp: New.
* include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
* include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
* include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
cc_hash_max_collision_resize_trigger_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
hash_exponential_size_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
hash_prime_size_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
hash_standard_resize_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/
ht_prime_size_policy_imp.hpp: New.
* include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/
constructors_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
* include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/tree_assoc_cntnr/
constructor_destructor_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/tree_policy/
null_node_updator_imp.hpp: New.
* include/ext/pb_assoc/detail/tree_policy/
order_statistics_imp.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
* include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
* include/ext/pb_assoc/detail/typelist/
typelist_typelist_append.hpp: New.
* include/ext/pb_assoc/detail/unordered_iterator/
const_find_iterator.hpp: New.
* include/ext/pb_assoc/detail/unordered_iterator/
const_iterator.hpp: New.
* include/ext/pb_assoc/detail/unordered_iterator/
find_iterator.hpp: New.
* include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
constructor_destructor_and_related.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
erase_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
erase_if_pred.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
insert_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
invalidation_guarantee_selector.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
it_value_type_traits.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
iterator_fn_imps.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
value_type_adapter.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
value_type_traits.hpp: New.
* testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
* testsuite/Makefile.in: Regenerate.
* testsuite/testsuite_common_types.h: New.
* testsuite/testsuite_visualization.h: New.
* testsuite/ext/pb_assoc/example/basic_map.cc: New.
* testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
* testsuite/ext/pb_assoc/example/basic_set.cc: New.
* testsuite/ext/pb_assoc/example/ds_traits.cc: New.
* testsuite/ext/pb_assoc/example/erase_if.cc: New.
* testsuite/ext/pb_assoc/example/extract_key.cc: New.
* testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
* testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
* testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
* testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
* testsuite/ext/pb_assoc/example/hash_mod.cc: New.
* testsuite/ext/pb_assoc/example/hash_resize.cc: New.
* testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
* testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
* testsuite/ext/pb_assoc/example/mapping_level.cc: New.
* testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
* testsuite/ext/pb_assoc/example/ms_traits.cc: New.
* testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
* testsuite/ext/pb_assoc/example/store_hash.cc: New.
* testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
* testsuite/ext/pb_assoc/example/tree_join.cc: New.
* testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
* testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
* testsuite/ext/pb_assoc/example/tree_split.cc: New.
* testsuite/performance/20_util/allocator/(insert.cc,
insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
producer_consumer.cc): Recast to use typelists and move to...
* testsuite/performance/23_containers/find/map.cc: New.
* testsuite/performance/23_containers/index/map.cc: New.
* testsuite/performance/23_containers/insert/associative.cc: New.
* testsuite/performance/23_containers/insert/sequence.cc: New.
* testsuite/performance/23_containers/insert_erase/associative.cc: New.
* testsuite/performance/23_containers/producer_consumer/
(associative.cc, sequence.cc): New.
* testsuite/performance/23_containers/sort_search/list.cc: New.
* testsuite/performance/23_containers/container_benchmark.cc: Remove.
* testsuite/performance/23_containers/map_create_fill.cc: Move...
* testsuite/performance/23_containers/create/map.cc: ...here.
* testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
* testsuite/performance/23_containers/create_from_sorted/set.cc: here.
* testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
* testsuite/performance/23_containers/create_sort/list.cc: ...here.
* testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
* testsuite/performance/23_containers/insert_from_sorted/set.cc: here.
Co-Authored-By: Ami Tavory <pbassoc@gmail.com>
From-SVN: r101354
2005-06-27 15:33:38 +00:00
Jakub Jelinek
462ec41561
re PR libstdc++/22109 (/home/dave/opt/gnu/bin/ld: BFD 2.16.91 20050612 internal error)
...
PR libstdc++/22109
* src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
(istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
_M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
_M_set_length_and_sharable, ignore, eq): Define to XX suffixed
variants.
(ignore (streamsize)): Remove _W prefixed aliases.
(_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
_GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
(_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
Use #XXname instead of #name as the alias argument.
* config/abi/compatibility.h: Replace uses of
_GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER. Always
pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
* include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
change.
* acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
* configure: Rebuilt.
From-SVN: r101273
2005-06-23 18:49:00 +02:00
Benjamin Kosnik
84946e72dc
re PR libstdc++/22111 (libstdc++ abi_check)
...
make
2005-06-19 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/22111
* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
Don't enable abi testing unless versioned.
* configure: Regenerate.
* testsuite/Makefile.am (check-abi): Remove conditional.
* testsuite/Makefile.in: Regenerate.
* testsuite/libstdc++-abi/abi.exp: Call build_support, then check
v3-symver before proceeding.
* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
if _GLIBCXX_SYMVER.
From-SVN: r101204
2005-06-20 06:48:28 +00:00