Commit Graph

140 Commits

Author SHA1 Message Date
Benjamin Kosnik
93c66bc68a user.cfg.in (PDF_HYPERLINKS): To NO.
2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in (PDF_HYPERLINKS): To NO.

2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add scoped_allocator.

	* include/debug/safe_sequence.h: Fix doxygen markup.
	* include/debug/safe_unordered_base.h: Same.
	* include/debug/safe_local_iterator.tcc: Same.
	* include/debug/safe_unordered_container.h: Same.
	* include/std/valarray: Same.
	* include/std/iomanip: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/fstream: Same.
	* include/std/functional: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/scoped_allocator: Same.
	* include/std/sstream: Same.
	* include/parallel/multiway_merge.h: Same.
	* include/parallel/base.h: Same.
	* include/parallel/for_each_selectors.h: Same.
	* include/parallel/multiway_mergesort.h: Same.
	* include/parallel/search.h: Same.
	* include/parallel/partial_sum.h: Same.
	* include/parallel/queue.h: Same.
	* include/parallel/sort.h: Same.
	* include/parallel/random_number.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/pb_ds/assoc_container.h: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/stdio_filebuf.h: Same.
	* include/ext/memory: Same.
	* include/ext/functional: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/gslice.h: 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_heap.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/stream_iterator.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/ptr_traits.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/regex.h: Same.
	* include/bits/range_access.h: Same.
	* include/bits/random.h: Same.
	* include/bits/alloc_traits.h: Same.
	* include/bits/regex_error.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/bits/stl_relops.h: Same.
	* include/backward/auto_ptr.h: Same.
	* libsupc++/initializer_list: Same.

	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
	Same.
	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
	Same.

From-SVN: r177542
2011-08-07 07:27:06 +00:00
François Dumont
8a752dfea6 allocator.h (__shrink_to_fit): Rename to __shrink_to_fit_aux, fix.
2011-06-12  François Dumont  <francois.cppdevs@free.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/allocator.h (__shrink_to_fit): Rename to
	__shrink_to_fit_aux, fix.
	* include/bits/stl_vector.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	* include/debug/vector (shrink_to_fit): Likewise.
	* include/bits/vector.tcc (_M_shrink_to_fit): Define.
	* include/bits/stl_deque.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	* include/debug/deque (shrink_to_fit): Likewise.
	* include/bits/deque.tcc (_M_shrink_to_fit): Define.
	* include/bits/vector.tcc (vector<bool>::_M_reallocate): Add.
	* include/bits/stl_bvector.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	(reserve): Use _M_reallocate, move inline.
	(_Bvector_base<>::_S_nword): Add, use it throughout.
	* include/debug/string (shrink_to_fit): Redo.
	* include/ext/vstring.h (shrink_to_fit): Optimize.
	* include/bits/basic_string.h (shrink_to_fit): Likewise.
	* testsuite/21_strings/debug/shrink_to_fit.cc: New.
	* testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
	* testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc:
	Likewise.
	* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.



Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r174967
2011-06-12 15:51:36 +00:00
Paolo Carlini
6f59ea252b hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept.
2011-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
	Use std::move on the allocator, use noexcept.
	(_Hashtable<>::~_Hashtable): Use noexcept.
	* include/bits/stl_list.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_map.h (map<>::map(map&&)): Use noexcept. 
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
	std::move on the allocator.
	(_Rb_tree<>::~_Rb_tree): Use noexcept.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/basic_string.h (basic_string<>::~basic_string): Use
	noexcept.
	* include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
	* include/debug/set.h: Adjust.
	* include/debug/unordered_map: Likewise.
	* include/debug/multiset.h: Likewise.
	* include/debug/forward_list: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/string: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: Likewise.
	* include/profile/forward_list: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/list: Likewise.
	* include/profile/multimap.h: Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/
	noexcept_move_construct.cc: New.
	* testsuite/21_strings/basic_string/cons/char/
	noexcept_move_construct.cc: Likewise.
	* testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_map/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/multimap/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/set/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_set/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/vector/bool/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/vector/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/multiset/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/list/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/map/cons/noexcept_move_construct.cc
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

	* include/bits/move.h (swap): Use __and_ in the noexcept.
	* include/bits/algorithmfwd.h: Adjust.

From-SVN: r174525
2011-06-01 14:16:19 +00:00
Paolo Carlini
cea8c6deef basic_string.h: Use noexcept per the FDIS (minus compare(const string&)...
2011-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h: Use noexcept per the FDIS (minus
	compare(const string&), which uses char_traits::compare, which
	isn't noexcept; also no noexcept in the move assignment operator
	and move assign, see c++std-lib-30855).
	* include/bits/basic_string.tcc: Likewise.
	* include/ext/vstring.h: Likewise.
	* include/ext/vstring.tcc: Likewise.
	* include/debug/string: Likewise.

From-SVN: r174479
2011-05-31 12:50:31 +00:00
Benjamin Kosnik
12ffa22844 PR libstdc++/36104 part four
2011-01-30  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36104 part four
	* include/bits/c++config (_GLIBCXX_STD): Remove.
	(_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
	(_GLIBCXX_P): Now _GLIBCXX_STD_A.
	(_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
	 _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
	(_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
	 _GLIBCXX_INLINE_PROFILE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
	(_GLIBCXX_END_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
	(_GLIBCXX_END_NESTED_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
	(_GLIBCXX_END_NAMESPACE_ALGO): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
	(_GLIBCXX_END_NAMESPACE_VERSION): Add.
	(_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
	(_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
	(_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
	* include/*: Use new macros for namespace scope.
	* config/*: Same.
	* src/*: Same.

	* src/Makefile.am (sources): Remove debug_list.cc, add
	compatibility-debug_list-2.cc.
	(parallel_sources): Remove parallel_list.cc, add
	compatibility-parallel_list-2.cc.
	(compatibility-parallel_list-2.[o,lo]): New rule.
	* src/Makefile.in: Regenerate.
	* src/debug_list.cc: Remove.
	* src/parallel_list.cc: Remove.
	* src/compatibility-list-2.cc: New.
	* src/compatibility-debug_list-2.cc: New.
	* src/compatibility-parallel_list-2.cc: New.

	* doc/doxygen/user.cfg.in: Adjust macros.

	* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
	* testsuite/20_util/declval/requirements/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/forward/c_neg.cc: Same.
	* testsuite/20_util/forward/f_neg.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/forward_list/capacity/1.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Same.
	* testsuite/23_containers/list/capacity/29134.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/25_algorithms/sort/35588.cc: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Same.
	* testsuite/ext/profile/profiler_algos.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.

From-SVN: r169421
2011-01-30 22:39:36 +00:00
Benjamin Kosnik
7c3e9502c3 re PR libstdc++/36104 (gnu-versioned-namespace is broken)
2011-01-14  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36104
	* include/Makefile.am (bits_sup_headers, stamp-bits-sup): New.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.am (std_HEADERS, bits_HEADERS): New.
	(install-stdHEADERS, install-bitsHEADERS): New.
	* libsupc++/Makefile.in: Regenerate.

	* include/bits/c++config: Update for inline namespaces.
	* libsupc++/cxxabi-forced.h: To...
	* libsupc++/cxxabi_forced.h: ...this.
	* libsupc++/hash_bytes.h: Separate file.
	* libsupc++/typeinfo: Use it.
	* libsupc++/exception: Adjust for bits subdirectory.
	* libsupc++/eh_aux_runtime.cc: Same.
	* libsupc++/eh_ptr.cc: Same.
	* libsupc++/new_op.cc: Same.
	* libsupc++/exception_defines.h: Same.
	* libsupc++/nested_exception.h: Same.
	* libsupc++/eh_terminate.cc: Same.
	* libsupc++/vec.cc: Same.
	* libsupc++/vterminate.cc: Same.
	* libsupc++/exception_ptr.h: Same.
	* libsupc++/eh_personality.cc: Same.
	* libsupc++/eh_call.cc: Same.
	* libsupc++/new_opnt.cc: Same.
	* libsupc++/hash_bytes.cc: Same.
	* config/cpu/arm/cxxabi_tweaks.h: Same.
	* config/cpu/generic/cxxabi_tweaks.h: Same.
	* libsupc++/cxxabi.h: Same. Consolidate _GLIBCXX_NOTHROW defines.
	* include/std/bitset: Same.
	* include/ext/vstring.tcc: Same.
	* include/bits/hashtable.h: Same.
	* include/bits/functional_hash.h: Same.
	* include/bits/hashtable_policy.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/ostream_insert.h: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/functexcept.h: Same.

	* doc/doxygen/user.cfg.in: Adjust names.

	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.

From-SVN: r168831
2011-01-15 00:27:10 +00:00
Paolo Carlini
37a68925ce basic_string.h (operator+(basic_string<>&&, basic_string<>&&)): Optimize better.
2010-12-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (operator+(basic_string<>&&,
	basic_string<>&&)): Optimize better.
	* include/ext/vstring.h (operator+(__versa_string<>&&,
	__versa_string<>&)): Likewise.

From-SVN: r168061
2010-12-19 15:53:44 +00:00
Benjamin Kosnik
f910786b98 *: Use headername alias to associate private includes to public includes.
2010-11-18  Benjamin Kosnik  <bkoz@redhat.com>

	* config/*/*: Use headername alias to associate private includes
	to public includes.
	* include/*/*: Same.

	* scripts/run_doxygen: Update for doxygen 1.7.2.
	* doc/doxygen/user.cfg.in: Same.
	* doc/doxygen/TODO: Remove.

	* testsuite/*/std_c++0x_neg.cc: Adjust line number.

From-SVN: r168046
2010-12-19 09:21:16 +00:00
Paolo Carlini
ce99f498c7 basic_string.h (operator+(basic_string<>&&, const basic_string<>&), [...]): Add.
2010-12-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (operator+(basic_string<>&&,
	const basic_string<>&), operator+(const basic_string<>&,
	basic_string<>&&), operator+(basic_string<>&&, basic_string<>&&),
	operator+(const _CharT*, basic_string<>&&), operator+(_CharT,
	basic_string<>&&), operator+(basic_string<>&&, const _CharT*),
	operator+(basic_string<>&&, _CharT)): Add.
	* testsuite/21_strings/basic_string/operators/char/3.cc: New.
	* testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.

From-SVN: r167994
2010-12-17 18:32:27 +00:00
Paolo Carlini
5d64ee190c functional_hash.h (__hash_base): Add.
2010-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (__hash_base): Add.
	(hash): Derive from __hash_base instead.
	* include/debug/bitset (hash): Likewise.
	* include/debug/vector (hash): Likewise.
	* include/std/system_error (hash): Likewise.
	* include/std/thread (hash): Likewise.
	* include/std/bitset (hash): Likewise.
	* include/profile/bitset (hash): Likewise.
	* include/profile/vector (hash): Likewise.
	* include/bits/basic_string.h (hash): Likewise.
	* include/bits/stl_bvector.h (hash): Likewise.
	* include/std/typeindex (hash): Do not derive from unary_function,
	add result_type and argument_type typedefs; trim includes.

From-SVN: r164528
2010-09-22 17:50:36 +00:00
Matt Austern
e7f72940d2 hash_bytes.cc: New file...
2010-09-13  Matt Austern  <austern@google.com>

	* src/hash_bytes.cc: New file, exports _Hash_bytes (a Murmur hash),
	and _Fnv_hash_bytes (based on a FNV algorithm).
	* src/compatibility-c++0x.cc (hash<string>::operator(),
	hash<const string&>::operator(), hash<wstring>::operator(),
	hash<const wstring&>::operator(), hash<error_code>::operator()):
	Adjust, use _Hash_bytes.
	* include/std/system_error (hash<error_code>::operator()): Likewise.
	* include/std/thread (hash<thread::id>operator()): Likewise.
	* include/std/bitset (hash<bitset>operator()): Likewise.
	* include/bits/basic_string.h (hash<string>::operator(),
	hash<wstring>::operator(), hash<u16string>::operator(),
	hash<u32string>::operator()): Adjust.
	* include/bits/vector.tcc (hash<vector<bool>>::operator()): Adjust.
	* include/bits/functional_hash.h (_Hash_bytes, _Fnv_hash_bytes):
	Declare.
	(struct _Hash_impl, struct _Fnv_hash_impl): Add, use _Hash_bytes
	and _Fnv_hash_bytes, respectively.
	(hash<float>::operator(), hash<double>::operator()): Adjust.
	* config/abi/pre/gnu.ver: Add exports.
	* src/Makefile.am: Add.
	* src/Makefile.in: Regenerate.

From-SVN: r164253
2010-09-13 18:23:56 +00:00
Paolo Carlini
8c61f40011 ios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros...
2010-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/ios_init.cc (ios_base::Init::~Init): Add back semicolon
	at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros,
	removed by mistake.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/c++config: Adjust comment.

From-SVN: r163223
2010-08-13 11:48:34 +00:00
Kostya Serebryany
be335b18a9 c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE, [...]): Add.
2010-08-12  Kostya Serebryany <kcc@google.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE,
	_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add.
	* src/ios_init.cc (ios_base::Init::~Init): Decorate with the
	latter.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r163210
2010-08-12 22:56:59 +00:00
Paolo Carlini
1e2c0906ee basic_string.h (front, back): Add.
2010-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (front, back): Add.
	* include/debug/string: Adjust.
	* include/ext/vstring.h (front, back): Tweak the implementation
	to follow more closely the letter of the specs.
	* testsuite/21_strings/basic_string/element_access/char/
	front_back.cc: New.
	* testsuite/21_strings/basic_string/element_access/wchar_t/
	front_back.cc: Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/util/testsuite_abi.cc: Adjust.
	* configure.ac: Bump minor version to 6:15:0.
	* configure: Regenerate.

From-SVN: r160071
2010-05-31 14:14:42 +00:00
Jonathan Wakely
0d1141a39e basic_string.h: Escape class names in doxygen docs.
2010-05-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/basic_string.h: Escape class names in doxygen docs.

From-SVN: r159129
2010-05-06 21:18:13 +01:00
Jonathan Wakely
abe478196f re PR libstdc++/44014 (no std::string in API documentation)
2010-05-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/44014
	* include/bits/stringfwd.h: Add doxygen comments and new group.
	* include/bits/basic_string.h: Add to new doxygen group.
	* doc/doxygen/user.cfg.in (ALIASES): Link to correct group.

From-SVN: r159126
2010-05-06 20:57:58 +01:00
Paolo Carlini
9ae8aa52dd basic_string.h: Fix pasto in comment.
2010-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h: Fix pasto in comment.
	* include/ext/vstring.h: Likewise.

From-SVN: r157955
2010-04-03 20:45:49 +00:00
Paolo Carlini
055f6a476c functional_hash.h (_Fnv_hash_base<>::hash): Change to template.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>  

	* include/bits/functional_hash.h (_Fnv_hash_base<>::hash): Change
	to template.
	* include/tr1/functional_hash.h (_Fnv_hash_base<>::hash): Likewise.
	* include/bits/vector.tcc (hash): Adjust.
	* include/bits/basic_string.h (hash): Likewise.
	* include/std/bitset (hash): Likewise.
	* src/hash-string-aux.cc (hash): Likewise.

From-SVN: r157185
2010-03-03 01:23:07 +00:00
Paolo Carlini
5c8db18ac6 functional_hash.h (struct _Fnv_hash): Rename to _Fnv_hash_base.
2010-02-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (struct _Fnv_hash): Rename
	to _Fnv_hash_base.
	(struct _Fnv_hash): Add, derives from the latter.
	(__hash_combine): Add.
	(hash<float>::operator()(float), hash<double>::operator()(double)):
	Adjust.
	* include/bits/basic_string.h (hash<string>, hash<wstring>,
	hash<u16string>, hash<u32string>): Adjust.
	* src/hash-string-aux.cc: Adjust.
	* src/compatibility-c++0x.cc (hash<error_code>): Use __hash_combine.
	* include/std/system_error (hash<error_code>): Likewise.
	* include/std/thread (struct hash<thread::id>): Add.
	* include/tr1/functional_hash.h : Rename to _Fnv_hash_base.
	(struct _Fnv_hash): Add, derives from the latter.
	(hash<float>::operator()(float), hash<double>::operator()(double)):
	Adjust.
	* testsuite/30_threads/thread/id/hash.cc: New.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.

From-SVN: r157005
2010-02-23 15:23:37 +00:00
Paolo Carlini
15d81a3c31 functional_hash.h (hash<string>, [...]): Move, per DR 1182 to...
2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (hash<string>, hash<wstring>,
	hash<u16string>, hash<u32string>, hash<error_code>): Move, per
	DR 1182 to...
	* include/bits/basic_string.h: ... here.
	* include/std/system_error: ... and here, respectively.
	* src/hash-aux.cc (hash<long double>::operator()(long double)):
	Move definition...
	* src/hash_c++0x.cc: ... here, new file.
	* src/hash_tr1.cc: ... and here, tweak includes.
	* src/compatibility-c++0x.cc (hash, _Fnv_hash): Remove.
	* src/Makefile.am: Adjust.
	* src/Makefile.in: Regenerate.
	* include/std/functional: Include <bits/functexcept.h>.
	* include/std/unordered_set: Remove redundant include.
	* include/std/unordered_map: Likewise.
	* include/tr1/functional_hash.h: Remove spurious trailing semicolon.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove
	dg-excess.

From-SVN: r156971
2010-02-22 18:07:07 +00:00
Benjamin Kosnik
2a60a9f652 re PR libstdc++/42460 (man page errors for generated libstdc++ man pages)
2010-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42460
	* doc/doxygen/user.cfg.in: Update file list.
	* include/debug/safe_sequence.h: Doxygen markup fixes for '' and "".
	* include/debug/safe_base.h: Same.
	* include/debug/macros.h: Same.
	* include/tr1_impl/regex: Same.
	* include/std/iostream: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/std/limits: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.
	* include/parallel/multiway_merge.h: Same.
	* include/parallel/for_each.h: Same.
	* include/parallel/workstealing.h: Same.
	* include/parallel/omp_loop_static.h: Same.
	* include/parallel/omp_loop.h: Same.
	* include/c_std/csignal: Same.
	* include/c_std/cstdlib: Same.
	* include/c_std/cstdio: Same.
	* include/c_std/cstdarg: Same.
	* include/c_std/cctype: Same.
	* include/c_std/cerrno: Same.
	* include/c_std/cmath: Same.
	* include/c_std/ciso646: Same.
	* include/c_std/ctime: Same.
	* include/c_std/clocale: Same.
	* include/c_std/climits: Same.
	* include/c_std/cassert: Same.
	* include/c_std/csetjmp: Same.
	* include/c_std/cwchar: Same.
	* include/c_std/cfloat: Same.
	* include/c_std/cstring: Same.
	* include/c_std/cstddef: Same.
	* include/c_std/cwctype: Same.
	* include/profile/iterator_tracker.h: Same.
	* include/profile/impl/profiler_trace.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.h.pp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.h.pp: Same.
	* include/ext/pb_ds/detail/type_utils.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/functional: Same.
	* include/ext/mt_allocator.h: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: 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/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/random.tcc: Same.
	* include/bits/stl_function.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/random.h: Same.
	* include/bits/allocator.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/c_global/csignal: Same.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cmath: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/ctime: Same.
	* include/c_global/clocale: Same.
	* include/c_global/climits: Same.
	* include/c_global/cassert: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/cstring: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cwctype: Same.
	* include/tr1/hypergeometric.tcc: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/random.h: Same.
	* include/backward/auto_ptr.h: Same.
	* include/backward/binders.h: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
	Same.
	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
	Same.

From-SVN: r156502
2010-02-04 18:20:34 +00:00
Benjamin Kosnik
036c0f63e1 allocator.h: Fix for -fno-exceptions.
2010-02-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h: Fix for -fno-exceptions.
	* include/bits/basic_string.h (basic_string::shrink_to_fit): Same.

From-SVN: r156459
2010-02-03 00:20:05 +00:00
Paolo Carlini
10154e0d52 basic_string.h (basic_string<>:: basic_string(basic_string&&), [...]): Add.
2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (basic_string<>::
	basic_string(basic_string&&), operator=(basic_string&&),
	assign(basic_string&&)): Add.
	* config/abi/pre/gnu.ver: Export new symbols.
	* include/ext/vstring.h (__versa_string<>::assign(__versa_string&&)):
	Add.
	(operator=(__versa_string&&)): Don't call clear unnecessarily.
	* include/ext/rc_string_base.h (__rc_string_base<>::
	__rc_string_base(__rc_string_base&&)): Simplify a tad.
	* testsuite/21_strings/basic_string/cons/char/moveable.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
	* testsuite/ext/vstring/assign/move_assign.cc: Likewise.
	* testsuite/21_strings/basic_string/assign/char/move_assign.cc:
	Likewise.
	* testsuite/21_strings/basic_string/assign/wchar_t/move_assign.cc:
	Likewise.

From-SVN: r155788
2010-01-10 13:38:47 +00:00
Paolo Carlini
79667f82ad re PR libstdc++/42573 ([C++0x] shrink_to_fit() missing)
2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42573
	* include/bits/allocator.h (struct __shrink_to_fit): Add.
	* include/bits/stl_deque.h (deque<>::shrink_to_fit): Add.
	* include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::shrink_to_fit): Likewise.
	* include/bits/basic_string.h (basic_string<>::shrink_to_fit):
	Likewise.
	* include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise.
	* include/debug/deque: Add corresponding using declaration.
	* include/debug/vector: Likewise.
	* include/debug/string: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/vector: Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New.
	* testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
	Likewise.
	* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
	Likewise.
	* testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r155733
2010-01-08 13:01:24 +00:00
Paolo Carlini
df4d18ad80 PR libstdc++/42261 (take 2)
2009-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261 (take 2)
	* include/bits/basic_string.h (_S_construct_aux_2(size_type, _CharT,
	const _Alloc&)): Add.
	(_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)):
	Call it.
	* include/ext/sso_string_base.h (_M_construct_aux_2(size_type,
	_CharT): Add.
	(_M_construct_aux(_Integer, _Integer, std::__true_type)): Call it.
	* include/ext/rc_string_base.h (_S_construct_aux_2(size_type, _CharT,
	const _Alloc&)): Add.
	(_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)):
	Call it.
	* config/abi/pre/gnu.ver: Export basic_string::_S_construct_aux_2.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

From-SVN: r155137
2009-12-10 19:17:27 +00:00
Paolo Carlini
574f366488 revert: re PR libstdc++/42261 (infinite recursion from string(string::size_type(6), string::size_type('f')))
2009-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
        2009-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261
	* include/bits/basic_string.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, __true_type)): Cast the second argument to value_type.
	* include/ext/sso_string_base.h (_M_construct_aux(_Integer, _Integer,
	std::__true_type)): Likewise.
	* include/ext/rc_string_base.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, std::__true_type)): Likewise.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

From-SVN: r155132
2009-12-10 17:17:41 +00:00
Paolo Carlini
bcaf576b83 re PR libstdc++/42261 (infinite recursion from string(string::size_type(6), string::size_type('f')))
2009-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261
	* include/bits/basic_string.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, __true_type)): Cast the second argument to value_type.
	* include/ext/sso_string_base.h (_M_construct_aux(_Integer, _Integer,
	std::__true_type)): Likewise.
	* include/ext/rc_string_base.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, std::__true_type)): Likewise.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

From-SVN: r154948
2009-12-03 14:20:56 +00:00
Paolo Carlini
a4ecd144bb basic_string.h (to_string(int), [...]): Add, per resolution of DR 1261.
2009-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (to_string(int), to_string(unsigned),
	to_string(long), to_string(unsigned long), to_string(float),
	to_string(double), to_wstring(int), to_wstring(unsigned),
	to_wstring(long), to_wstring(unsigned long), to_wstring(float),
	to_wstring(double)): Add, per resolution of DR 1261.
	* include/ext/vstring.h: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	dr1261.cc: Add.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	dr1261.cc: Likewise.

From-SVN: r154102
2009-11-11 19:57:48 +00:00
Paolo Carlini
927dc7c69e re PR libstdc++/41773 (Many libstdc++ failures)
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41773
	Revert:
	2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (_S_construct(const _CharT*, size_type,
	const _Alloc&)): New, declare.
	(_S_construct(_CharT*, _CharT*, const _Alloc&),
	_S_construct(const _CharT*, const _CharT*, const _Alloc&),
	_S_construct(iterator, iterator, const _Alloc&),
	_S_construct(const_iterator, const_iterator, const _Alloc&)): New,
	forward to the latter.
	* include/bits/basic_string.tcc (_S_construct(const _CharT*,
	size_type, const _Alloc&)): Define.
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&), basic_string(const _CharT*, size_type,
	const _Alloc&), basic_string(const _CharT*, const _Alloc&),
	basic_string(initializer_list<>, const _Alloc&)): Call the latter.
	* config/abi/pre/gnu.ver: Remove recently added exports.
	* src/string-inst.cc: Remove instantiations.

From-SVN: r153040
2009-10-20 21:54:22 +00:00
Paolo Carlini
50e9ed7c6c basic_string.h (_S_construct(const _CharT*, size_type, const _Alloc&)): New, declare.
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (_S_construct(const _CharT*, size_type,
	const _Alloc&)): New, declare.
	(_S_construct(_CharT*, _CharT*, const _Alloc&),
	_S_construct(const _CharT*, const _CharT*, const _Alloc&),
	_S_construct(iterator, iterator, const _Alloc&),
	_S_construct(const_iterator, const_iterator, const _Alloc&)): New,
	forward to the latter.
	* include/bits/basic_string.tcc (_S_construct(const _CharT*,
	size_type, const _Alloc&)): Define.
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&), basic_string(const _CharT*, size_type,
	const _Alloc&), basic_string(const _CharT*, const _Alloc&),
	basic_string(initializer_list<>, const _Alloc&)): Call the latter.
	* config/abi/pre/gnu.ver: Remove recently added exports.
	* src/string-inst.cc: Remove instantiations.

From-SVN: r153023
2009-10-20 16:24:18 +00:00
Paolo Carlini
5cab701369 basic_string.h (operator+=(initializer_list<>), [...]): Forward to the append overload taking a const CharT* pointer and a size...
2009-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (operator+=(initializer_list<>),
	append(initializer_list<>)): Forward to the append overload taking
	a const CharT* pointer and a size, thus avoiding instantiating
	unnecessarily in the built library the overload taking a pair of
	iterators.
	(operator=(initializer_list<>), assign(initializer_list<>)): Likewise
	for assign.
	(insert(iterator, initializer_list<>): Likewise for insert.

From-SVN: r152794
2009-10-15 01:16:53 +00:00
Benjamin Kosnik
439a0f5a2a basic_string.h (basic_string): Add cbegin(), cend(), crbegin(), crend() in C++0x mode.
2009-08-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.h (basic_string): Add cbegin(),
	cend(), crbegin(), crend() in C++0x mode.
	* config/abi/pre/gnu.ver: Add exports.

	* testsuite/util/testsuite_containers.h: New.
	* testsuite/util/testsuite_container_traits.h: New.
	* testsuite/21_strings/basic_string/requirements/citerators.cc: New.
	* testsuite/21_strings/basic_string/requirements/typedefs.cc: New.
	* testsuite/ext/vstring/requirements/citerators.cc: Edit.
	* testsuite/ext/vstring/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_map/requirements/typedefs.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation.cc: Move to nested directory.
	* testsuite/23_containers/queue/requirements/typedefs.cc: New.
	* testsuite/23_containers/priority_queue/requirements/typedefs.cc: New.
	* testsuite/23_containers/multimap/requirements/citerators.cc: Edit.
	* testsuite/23_containers/multimap/requirements/typedefs.cc: New.
	* testsuite/23_containers/set/requirements/citerators.cc: Edit.
	* testsuite/23_containers/set/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/2.cc: Edit.: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	typedefs.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Move to nested.
	* testsuite/23_containers/forward_list/requirements/citerators.cc: New.
	* testsuite/23_containers/forward_list/requirements/1.cc: Remove.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor.cc: New.
	* testsuite/23_containers/forward_list/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_set/requirements/typedefs.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation.cc: Move to nested.
	* testsuite/23_containers/vector/requirements/citerators.cc: Edit.
	* testsuite/23_containers/vector/requirements/dr438/bool/
	constructor.cc: Move.
	* testsuite/23_containers/vector/requirements/typedefs.cc: New.
	* testsuite/23_containers/vector/bool/requirements/citerators.cc: Edit.
	* testsuite/23_containers/vector/bool/requirements/dr438/
	constructor.cc: New.
	* testsuite/23_containers/deque/requirements/citerators.cc: Edit.
	* testsuite/23_containers/deque/requirements/typedefs.cc
	* testsuite/23_containers/stack/requirements/typedefs.cc
	* testsuite/23_containers/multiset/requirements/citerators.cc: Edit.
	* testsuite/23_containers/multiset/requirements/typedefs.cc: New.
	* testsuite/23_containers/list/requirements/citerators.cc: Edit.
	* testsuite/23_containers/list/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_multiset/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Move.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
	* testsuite/23_containers/map/requirements/citerators.cc: Edit.
	* testsuite/23_containers/map/requirements/typedefs.cc: New.
	* testsuite/23_containers/array/requirements/citerators.cc: Edit.
	* testsuite/23_containers/array/requirements/explicit_instantiation.cc:
	Move.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/array/requirements/typedefs.cc: New.

From-SVN: r151106
2009-08-25 22:29:08 +00:00
Paolo Carlini
7309083f99 re PR libstdc++/40518 (data races when calling std::string::erase() on empty string)
2009-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40518
	* include/bits/basic_string.h (basic_string<>::_Rep::
	_M_set_length_and_sharable): Do not write the empty rep.
	(basic_string<>::erase(iterator, iterator)): Likewise,
	move out of line...
	* include/bits/basic_string.tcc: ... here.

From-SVN: r148850
2009-06-23 12:36:43 +00:00
Jakub Jelinek
748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Jonathan Wakely
5df9ac4b39 iostream: Fix doxygen link.
2009-03-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/iostream: Fix doxygen link.
	* include/bits/forward_list.h: Fix doxygen markup.
	* include/ext/vstring.h: Escape backslash in doxygen comment.
	* include/bits/basic_string.h: Likewise.

From-SVN: r144777
2009-03-11 15:16:21 +00:00
Benjamin Kosnik
5b9daa7e60 user.cfg.in: Tweaks.
2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Tweaks.
	* doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
	be elsewhere.

	* include/tr1_impl/unordered_map: Just use most specialized
	container module.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/array: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_bvector.h: Same.

	* include/backward/binders.h: Change binder module to binders.

	* include/std/complex: Add complex_numers module.
	* include/tr1_impl/complex: Same.

	* include/std/valarray: Add numeric_arrays module.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/indirect_array.h: Same.

	* include/bits/allocator.h: Add allocators module.
	* include/ext/throw_allocator.h
	* include/ext/pool_allocator.h
	* include/ext/bitmap_allocator.h
	* include/ext/new_allocator.h
	* include/ext/malloc_allocator.h
	* include/ext/array_allocator.h
	* include/ext/mt_allocator.h
	* include/ext/debug_allocator.h
	* include/ext/extptr_allocator.h

	* include/tr1_impl/functional: Move namespace markup here.
	* include/tr1_impl/regex: Same.

	* include/tr1_impl/type_traits: Add metaprogramming module.
	* include/std/type_traits: Same.

	* include/std/memory: Add memory module.

	* include/std/ratio: Add ratio module.

	* include/std/chrono: Move namespace markup here, add time module.

	* include/std/thread: Move namespace markup here, add concurrency
	module.
	* include/std/mutex: Use concurrency module.
	* include/std/condition_variable: Same.


	* include/bits/ios_base.h: Refine io module.
	* include/bits/basic_ios.h: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.

	* include/ext/vstring.h: Correct parameter markup.

	* include/bits/shared_ptr.h: Add pointer_abstractions module.
	* include/bits/unique_ptr.h: Same.

	* include/bits/algorithmfwd.h: Add mutating_algorithms,
        non_mutating_algorithms, sorting_algorithms. Adjust nesting.
	* include/bits/stl_heap.h: Add markup for new groupings.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_algo.h: Same.

	* include/c_compatibility/stdatomic.h: Add atomics module.
	* include/c_global/cstdatomic: Same.

	* libsupc++/exception: Add exceptions module.
	* libsupc++/typeinfo: Same.
	* libsupc++/new: Same.
	* libsupc++/exception_ptr.h: Same.
	* include/std/system_error: Same.
	* include/std/stdexcept: Same.

	* libsupc++/cxxabi.h: Move doxygroups.cc markup here.
	* libsupc++/cxxabi-forced.h: Same.

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/duration/cons/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow.cc: Same.

From-SVN: r144343
2009-02-21 00:45:21 +00:00
Benjamin Kosnik
aac2878e16 doxygroups.cc: Move algorithm groups into algorithmfwd.h.
2009-02-18  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
	* doc/doxygen/user.cfg.in: Update.
	* scripts/run_doxygen: Adjust for new group names.

	* include/tr1_impl/random: Update doxygen group markup.
	* include/tr1_impl/unordered_map: Same.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/array: Same.
	* include/std/numeric: Same.
	* include/std/utility: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/stl_function.h: Same.
	* include/tr1/cmath: Same.
	* include/backward/binders.h: Same.

From-SVN: r144290
2009-02-19 08:15:15 +00:00
Paolo Carlini
83b83ae97a re PR libstdc++/37522 (Incorrect vswprintf prototype breaks __to_xstring)
2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37522
	* config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
	* include/bits/basic_string.h: Guard string conversions with 
	!defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
	* testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
	New.
	* testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Use the latter.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	stoull.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	to_string.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	Likewise.

From-SVN: r141382
2008-10-27 15:01:28 +00:00
Jason Merrill
988499f434 Add initializer_list support as per N2679.
* include/debug/unordered_map: Add initializer_list support.
        * include/debug/safe_association.h: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/set.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * include/tr1_impl/unordered_map: Likewise.
        * include/tr1_impl/hashtable: Likewise.
        * include/tr1_impl/unordered_set: Likewise.
        * include/tr1_impl/regex: Likewise.
        * include/std/valarray: Likewise.
        * include/std/unordered_map: Likewise.
        * include/std/unordered_set: Likewise.
        * include/bits/stl_list.h: Likewise.
        * include/bits/stl_map.h: Likewise.
        * include/bits/stl_set.h: Likewise.
        * include/bits/basic_string.h: Likewise.
        * include/bits/basic_string.tcc: Likewise.
        * include/bits/stl_multimap.h: Likewise.
        * include/bits/stl_vector.h: Likewise.
        * include/bits/stl_deque.h: Likewise.
        * include/bits/stl_multiset.h: Likewise.
        * include/bits/stl_bvector.h: Likewise.
        * include/ext/vstring.h: Likewise.
        * include/ext/rc_string_base.h: Likewise.
        * include/ext/sso_string_base.h: Likewise.
        * src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
        * src/Makefile.in: Likewise.
        * config/abi/pre/gnu.ver: Add new w?string exports.
...

From-SVN: r138043
2008-07-21 15:40:39 -04:00
Paolo Carlini
a5a6b58639 string_conversions.cc: Remove.
2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/string_conversions.cc: Remove.
	* config/abi/pre/gnu.ver: Delete exports.
	* src/Makefile.am: Update.
	* include/ext/string_conversions.h: Add.
	* include/Makefile.am: Update.
	* include/bits/basic_string.h: Include string_conversions.h,
	define numeric conversion functions.
	* include/ext/vstring.h: Likewise.
	* src/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.

From-SVN: r137253
2008-06-29 15:46:50 +00:00
Paolo Carlini
7364f2868c basic_string.h (stod, [...]): Declare in C++0x mode.
2008-06-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
	stoul, stoull, to_string, to_wstring): Declare in C++0x mode.
	* src/string_conversions.cc: Add.
	* src/Makefile.am: Update.
	* config/abi/pre/gnu.ver: Adjust exports.
	* src/Makefile.in: Regenerate.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	New.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	to_string.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stod.cc: New.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stof.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoi.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stol.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stold.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoll.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoul.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoull.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	to_wstring.cc: Likewise.

From-SVN: r136841
2008-06-16 09:58:54 +00:00
Benjamin Kosnik
4312e020f1 [multiple changes]
2008-01-18  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/*: To...
	* doc/*: ...here.
	* testsuite/Makefile.am: Move doc-performance to...
	* Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to...
	* doc/Makefile.am: Consolidate documentation creation here.
	(doc-doxygen-html): New.
	(doc-doxygen-man): New.
	(doc-performance): New.
	* doc/Makefile.in: New.
	* acinclude.m4 (glibcxx_SUBDIRS): Add doc directory.
	* doc/doxygen/guide.html: Edit for unified html configuration.
	* doc/doxygen/mainpage.html: Same.
	* doc/doxygen/run_doxygen: Same, more namespace fixups for man
	generation.
	* doc/doxygen/user.cfg.in: Update for doxygen 1.5.4.
	
	* include/tr1_impl/random: Remove maint from doxygen markup.
	* include/tr1_impl/functional: Same.
	* include/std/tuple: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/limits: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/sstream: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/rc_string_base.h: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/postypes.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_construct.h: Same.
	* include/bits/stl_relops.h: Same.
	* include/tr1/tuple: Same.
	* include/backward/auto_ptr.h: Same.

	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Fixups for line number changes.	
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Same.

	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* scripts/make_graphs.py: Correct paths for new layout.
	
2008-01-17  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (AC_LC_MESSAGES): Remove serial.
	* linkage.m4 (AC_REPLACE_MATHFUNCS): Same.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r131625
2008-01-18 08:16:51 +00:00
Jonathan Wakely
ee5ca78921 valarray-inst.cc, [...]: Fix comment typos.
* src/valarray-inst.cc, include/ext/atomicity.h,
	include/ext/concurrence.h, include/bits/basic_string.h,
	include/bits/fstream.tcc, include/ext/vstring.h: Fix comment typos.

From-SVN: r128915
2007-10-01 21:49:39 +01:00
Paolo Carlini
bd12160ab8 re PR libstdc++/32907 (Inefficient operator== in std::string)
2007-07-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/32907
	* include/bits/basic_string.h (operator==(const basic_string<_CharT>&,
	const basic_string<_CharT>&)): Add.
	(operator!=): Forward to operator==.
	* include/ext/vstring.h(operator==(const __versa_string<_CharT,
	std::char_traits<_CharT>, std::allocator<_CharT>, _Base>&,
	const __versa_string<_CharT, std::char_traits<_CharT>,
	std::allocator<_CharT>, _Base>&)): Add.
	(operator!=): Forward to operator==.

	* include/ext/sso_string_base.h (_M_compare): Remove.

From-SVN: r126988
2007-07-27 17:25:04 +00:00
Paolo Carlini
25959e29ee DR 438, [DR].
2007-04-27  Paolo Carlini  <pcarlini@suse.de>

	DR 438, [DR].
	* include/bits/basic_string.h (_S_construct_aux(_InIterator,
	_InIterator, const _Alloc&, __true_type)): Do not cast the
	second argument.
	* include/ext/rc_string_base.h (_S_construct_aux(_Integer,
	_Integer, const _Alloc&, std::__true_type)): Likewise.
	* include/ext/sso_string_base.h (_M_construct_aux(_InIterator,
	_InIterator, std::__true_type)): Likewise.
	* include/bits/stl_deque.h (_M_initialize_dispatch(_Integer,
	_Integer, __true_type)): Cast the first argument.
	(_M_assign_dispatch(_Integer, _Integer, __true_type)): Do
	not cast the arguments.
	(_M_insert_dispatch(iterator, _Integer, _Integer, __true_type)):
	Likewise.
	* include/bits/stl_list.h (_M_initialize_dispatch(_Integer,
	_Integer, __true_type)): Likewise.
	(_M_assign_dispatch(_Integer, _Integer, __true_type)): Do
	not cast both arguments.
	* include/bits/stl_bvector.h (_M_initialize_dispatch(_Integer,
	_Integer, __true_type)): Cast the first argument.
	(_M_assign_dispatch(_Integer, _Integer, __true_type)): Do not
	cast the arguments.
	* include/bits/stl_vector.h (_M_initialize_dispatch(_Integer,
	_Integer, __true_type)): Cast the first argument.
	(_M_assign_dispatch(_Integer, _Integer, __true_type)): Do not
	cast the arguments.
	(_M_insert_dispatch(iterator, _Integer, _Integer, __true_type)):
	Likewise.
	* testsuite/21_strings/basic_string/requirements/dr438/
	constructor.cc: New.
	* testsuite/ext/vstring/requirements/dr438/constructor.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	constructor.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/deque/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	constructor.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/list/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	constructor.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/requirements/sequences/dr438/vector/
	bool/constructor.cc: Likewise.
	* docs/html/ext/howto.html: Add an entry for DR 438.

From-SVN: r124243
2007-04-27 22:59:36 +00:00
Paolo Carlini
6725add54e numeric_traits.h: Do not include <limits>.
2007-04-13  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/numeric_traits.h: Do not include <limits>.
	(__numeric_traits_integer::__is_signed, __digits): Add.
	(__numeric_traits_floating::__digits10, __max_exponent10): Add.
	* src/istream.cc (ignore<char>(streamsize, int_type), operator>>
	(basic_istream<char>&, char*), ignore<wchar_t>(streamsize,
	int_type)): Use the latter.
	* src/compatibility.cc (ignore<char>(streamsize),
	ignore<wchar_t>(streamsize)): Likewise.
	* include/ext/vstring_util.h (__vstring_utility<>::_S_compare):
	Likewise.
	* include/bits/stl_memory.h (__get_temporary_buffer): Likewise.
	* include/bits/stl_algobase.h (lexicographical_compare(const char*,
	const char*, const char*, const char*)): Likewise.
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
	_InIter, ios_base&, ios_base::iostate&, _ValueT&),
	num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT),
	num_put<>::_M_insert_float(_OutIter, ios_base&, _CharT, char,
	_ValueT), collate<>::do_hash(const _CharT*, const _CharT*)): Likewise.
	* include/bits/basic_string.h (basic_string<>::_S_compare): Likewise.
	* include/bits/istream.tcc (operator>>(short&), operator>>(int&),
	ignore(streamsize), ignore(streamsize, int_type), operator>>
	(basic_istream<>&, _CharT*)): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::max_size): Likewise.
	* include/tr1/functional_hash.h (struct hash<long double>): Likewise.
	* include/std/istream: Do not include <limits>.
	* include/tr1/cmath: Include <limits>.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
	Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.

	* include/tr1/hashtable: Do not include the whole <iterator>.

From-SVN: r123779
2007-04-13 10:54:37 +00:00
Paolo Carlini
11202768fe PR libstdc++/28277 (partial: vstring bits)
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: vstring bits)
	* include/bits/ostream_insert.h: New.
	* include/Makefile.am: Add.
	* include/ext/vstring.h (operator<<(basic_ostream<>&,
	const __versa_string<>&): Forward to __ostream_insert.
	* include/bits/basic_string.h (operator<<(basic_ostream<>&,
	const string<>&)): Likewise.
	* include/std/ostream (operator<<(basic_ostream<>&, _CharT),
	operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
	const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
	Likewise.
	* include/ext/vstring.tcc (operator<<(basic_ostream<>&,
	const __versa_string<>&)): Remove.
	(class basic_ostream): Remove friend declarations.
	(basic_ostream<>::_M_write(char_type, streamsize),
	_M_insert(const char_type*, streamsize)): Remove.
	* include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
	Remove definition.
	(operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
	* config/abi/pre/gnu.ver: Adjust.
	* src/ostream-inst.cc: Add __ostream_insert instantiations.
	* include/bits/locale_facets.h (__pad<>::_S_pad): Remove __num
	parameter.
	* include/bits/locale_facets.tcc (__pad<>::_S_pad): Adjust.
	(num_put<>::_M_pad(_CharT, streamsize, ios_base&, _CharT*,
	const _CharT*, int&)): Likewise.
	* include/Makefile.in: Rebuild.
	* testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
	* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.

	* include/ext/vstring_util.h: Do not include the whole <locale>.
	* include/ext/vstring.tcc (operator>>(basic_istream<>&,
	__versa_string<>&, getline(basic_istream<>&, __versa_string<>&,
	_CharT)): Tweak to refer to ios_base as a base of istream; do not
	refer to non-standard types of istream.
	* include/bits/istream.tcc (operator>>(basic_istream<>&, _CharT*),
	ws(basic_istream<>&)): Do not refer to non-standard types of istream.
	* include/std/bitset (operator>>(std::basic_istream<>&, bitset<>&)):
	Avoid using basic_streambuf<>*.

	* include/bits/istream.tcc (operator>>(basic_istream<>&,
	basic_string<>&), getline(basic_istream<>&, basic_string<>&, _CharT)):
	Move...
	* include/bits/basic_string.tcc: ... here; tweak to refer to ios_base
	as a base of istream; do not refer to non-standard types of istream.
	* include/std/string: Tweak includes.

	* include/ext/type_traits.h (__is_null_pointer): Add.
	* include/ext/rc_string_base.h: Use it.
	* include/ext/sso_string_base.h: Likewise.
	* include/bits/basic_string.tcc (__is_null_pointer): Remove, use
	the above.
	* include/ext/vstring_util.h (__vstring_utility<>::_S_is_null_pointer):
	Remove.

From-SVN: r123692
2007-04-10 10:38:50 +00:00
Paolo Carlini
9521dd6bd1 basic_string.h (basic_string<>::_S_compare): Add.
2007-01-18  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (basic_string<>::_S_compare): Add.
	(compare(const basic_string&)): Use it.
	* include/bits/basic_string.tcc (compare(size_type, size_type,
	const basic_string&), compare(size_type, size_type,
	const basic_string&, size_type, size_type), compare(const _CharT*),
	compare(size_type, size_type, const _CharT*), compare(size_type,
	size_type, const _CharT*, size_type)): Likewise.
	* include/ext/vstring_util.h (__vstring_utility<>::_S_compare): Add.
	* include/ext/vstring.h (compare(const __versa_string&)): Use it.
	* include/ext/vstring.tcc (compare(size_type, size_type,
	const __versa_string&), compare(size_type, size_type,
	const __versa_string&, size_type, size_type), compare(const _CharT*),
	compare(size_type, size_type, const _CharT*), compare(size_type,
	size_type, const _CharT*, size_type)): Likewise.

From-SVN: r120896
2007-01-18 12:03:35 +00:00
Benjamin Kosnik
143c27b065 localefwd.h: Consistent @file placement...
2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/localefwd.h: Consistent @file placement, use
        include/ as part of the path for files that have shadows instead of no
        name.
	* include/bits/valarray_after.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/postypes.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stringfwd.h: Same.
	* include/bits/c++config: Same.
	* include/bits/valarray_array.h: Same.
	* include/bits/valarray_before.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/c/std_cerrno.h: Same.
	* include/precompiled/extc++.h: Same.
	* include/precompiled/stdtr1c++.h: Same.
	* include/precompiled/stdc++.h: Same.
	* include/tr1/cinttypes: Same.
	* include/tr1/fenv.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/cstdio: Same.
	* include/tr1/limits.h: Same.
	* include/tr1/ctgmath: Same.
	* include/tr1/cstdarg: Same.
	* include/tr1/tuple: Same.
	* include/tr1/float.h: Same.
	* include/tr1/stdint.h: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/cfenv: Same.
	* include/tr1/wctype.h: Same.
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/bind_repeat.h: Same.
	* include/tr1/utility: Same.
	* include/tr1/climits: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/stdlib.h: Same.
	* include/tr1/cwchar: Same.
	* include/tr1/stdio.h: Same.
	* include/tr1/ref_wrap_iterate.h: Same.
	* include/tr1/cstdint: Same.
	* include/tr1/memory: Same.
	* include/tr1/cstdbool: Same.
	* include/tr1/cwctype: Same.
	* include/tr1/bind_iterate.h: Same.
	* include/tr1/math.h: Same.
	* include/tr1/random: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/cstdlib: Same.
	* include/tr1/unordered_map: Same.
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/cctype: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/wchar.h: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/cmath: Same.
	* include/tr1/stdbool.h: Same.
	* include/tr1/ctime: Same.
	* include/tr1/functional: Same.
	* include/tr1/unordered_set: Same.
	* include/tr1/inttypes.h: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/tr1/repeat.h: Same.
	* include/tr1/complex: Same.
	* include/tr1/cfloat: Same.
	* include/tr1/ctype.h: Same.
	* include/tr1/stdarg.h: Same.
	* include/tr1/tgmath.h: Same.
	* include/tr1/array: Same.
	* include/tr1/common.h: Same.
	* include/std/std_valarray.h: Same.
	* include/std/std_iostream.h: Same.
	* include/std/std_queue.h: Same.
	* include/std/std_algorithm.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_ios.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_iosfwd.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_iomanip.h: Same.
	* include/std/std_fstream.h: Same.
	* include/std/std_functional.h: Same.
	* include/std/std_numeric.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_stdexcept.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_complex.h: Same.
	* include/std/std_memory.h: Same.
	* include/std/std_ostream.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.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_cerrno.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_climits.h: Same.
	* include/c_std/std_cassert.h: Same.
	* include/c_std/cmath.tcc
	* include/c_std/std_csetjmp.h: Same.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cfloat.h: Same.
	* include/c_std/std_cstring.h: Same.
	* include/c_std/std_cstddef.h: Same.
	* include/c_std/std_cwctype.h: Same.

	* config/locale/gnu/c_locale.h: Namespace scope in all files.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/c++locale_internal.h: Same.
	* config/locale/gnu/time_members.h: Same.
	* config/locale/ieee_1003.1-2001/c_locale.h: Same.
	* config/locale/ieee_1003.1-2001/messages_members.h: Same.
	* config/locale/generic/c_locale.h: Same.
	* config/locale/generic/messages_members.h: Same.
	* config/locale/generic/time_members.h: Same.
	* config/allocator/mt_allocator_base.h: Same.
	* config/allocator/malloc_allocator_base.h: Same.
	* config/allocator/new_allocator_base.h: Same.
	* config/allocator/pool_allocator_base.h: Same.
	* config/allocator/bitmap_allocator_base.h: Same.
	* config/os/windiss/ctype_noninline.h: Same.
	* config/os/windiss/os_defines.h: Same.
	* config/os/windiss/ctype_inline.h: Same.
	* config/os/newlib/ctype_noninline.h: Same.
	* config/os/newlib/os_defines.h: Same.
	* config/os/newlib/ctype_inline.h: Same.
	* config/os/aix/ctype_noninline.h: Same.
	* config/os/aix/os_defines.h: Same.
	* config/os/aix/ctype_inline.h: Same.
	* config/os/vxworks/ctype_noninline.h: Same.
	* config/os/vxworks/os_defines.h: Same.
	* config/os/vxworks/ctype_inline.h: Same.
	* config/os/hpux/ctype_noninline.h: Same.
	* config/os/hpux/os_defines.h: Same.
	* config/os/hpux/ctype_inline.h: Same.
	* config/os/mingw32/ctype_noninline.h: Same.
	* config/os/mingw32/os_defines.h: Same.
	* config/os/mingw32/ctype_inline.h: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* config/os/gnu-linux/os_defines.h: Same.
	* config/os/gnu-linux/ctype_inline.h: Same.
	* config/os/tpf/ctype_noninline.h: Same.
	* config/os/tpf/os_defines.h: Same.
	* config/os/tpf/ctype_inline.h: Same.
	* config/os/uclibc/ctype_noninline.h: Same.
	* config/os/uclibc/os_defines.h: Same.
	* config/os/uclibc/ctype_inline.h: Same.
	* config/os/djgpp/ctype_noninline.h: Same.
	* config/os/djgpp/os_defines.h: Same.
	* config/os/djgpp/ctype_inline.h: Same.
	* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
	* config/os/qnx/qnx6.1/ctype_inline.h: Same.
	* config/os/bsd/netbsd/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/ctype_inline.h: Same.
	* config/os/bsd/darwin/ctype_noninline.h: Same.
	* config/os/bsd/darwin/ctype_inline.h: Same.
	* config/os/bsd/freebsd/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/ctype_inline.h: Same.
	* config/os/irix/irix5.2/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/ctype_inline.h: Same.
	* config/os/irix/irix6.5/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/ctype_inline.h: Same.
	* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/ctype_inline.h: Same.
	* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/ctype_inline.h: Same.
	* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/ctype_inline.h: Same.
	* config/os/generic/ctype_noninline.h: Same.
	* config/os/generic/os_defines.h: Same.
	* config/os/generic/ctype_inline.h: Same.
	* config/cpu/arm/cxxabi_tweaks.h: Same.
	* config/cpu/powerpc/cpu_defines.h: Same.
	* config/cpu/generic/cxxabi_tweaks.h: Same.
	* config/cpu/generic/cpu_defines.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* config/io/c_io_stdio.h: Same.
	* config/abi/compatibility.h: Same.

	* docs/doxygen/user.cfg.in: Adjust file list.

From-SVN: r119561
2006-12-05 23:24:07 +00:00
Paolo Carlini
70c99f6c02 istream.tcc (getline(basic_istream<>&, basic_string<>&)): Move...
2006-10-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (getline(basic_istream<>&,
	basic_string<>&)): Move...
	* include/bits/basic_string.h: ... here.
	(operator<<(basic_ostream<>&, const basic_string<>&)): Mark inline.

From-SVN: r117745
2006-10-15 14:43:50 +00:00