Commit Graph

266 Commits

Author SHA1 Message Date
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 8fc810787b c++config (std::size_t, [...]): Provide typedefs.
2010-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (std::size_t, std::ptrdiff_t,
        std::nullptr_t): Provide typedefs.
	* include/c_std/cstddef: Don't provide std::size_t and
	std::ptrdiff_t here.
	* include/c_global/cstddef: Likewise.
	* src/condition_variable.cc: Don't include <cstddef>,
	don't use NULL, use std::size_t and std::ptrdiff_t.
	* src/mt_allocator.cc: Likewise.
	* src/localename.cc: Likewise.
	* src/chrono.cc: Likewise.
	* src/thread.cc: Likewise.
	* include/debug/formatter.h: Likewise.
	* include/debug/functions.h: Likewise.
	* include/std/valarray: Likewise.
	* include/std/thread: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/atomic: Likewise.
	* include/std/iterator: Likewise.
	* include/std/bitset: Likewise.
	* include/std/fstream: Likewise.
	* include/std/mutex: Likewise.
	* include/c_std/cstdlib: Likewise.
	* include/c_std/cstdio: Likewise.
	* include/c_std/ctime: Likewise.
	* include/c_std/cwchar: Likewise.
	* include/c_std/cstring: Likewise.
	* include/parallel/multiway_merge.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/base.h: Likewise.
	* include/parallel/basic_iterator.h: Likewise.
	* include/parallel/multiway_mergesort.h
	* include/parallel/partition.h: Likewise.
	* include/ext/string_conversions.h: Likewise.
	* include/ext/pb_ds/assoc_container.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp:
	Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_prime_size_policy_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_policy.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_trigger.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/d: Likewise.etail/cc_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cmp_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	entry_list_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cc_ht_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	insert_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	const_child_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	r_erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	rotate_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	point_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	gp_ht_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	standard_policies.hpp: Likewise.
	* include/ext/pb_ds/detail/tree_policy/
	sample_tree_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/basic_tree_policy/
	null_node_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_e_access_traits.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	null_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/
	sample_ranged_probe_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/
	sample_ranged_hash_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/list_update_policy.hpp: Likewise.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/pb_ds/tree_policy.hpp: Likewise.
	* include/ext/pb_ds/tag_and_trait.hpp: Likewise.
	* include/ext/pb_ds/hash_policy.hpp: Likewise.
	* include/ext/pb_ds/trie_policy.hpp: Likewise.
	* include/ext/pb_ds/priority_queue.hpp: Likewise.
	* include/ext/throw_allocator.h: Likewis: Likewise.e.
	* include/ext/bitmap_allocator.h
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h: Likewise.
	* include/ext/functional: Likewise.: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/sso_string_base.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/functional_hash.h: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/stl_iterator_base_types.h: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/boost_concept_check.h: Likewise.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/locale_facets_nonio.h: Likewise.
	* include/c_global/cstdlib: Likewise.
	* include/c_global/cstdio: Likewise.
	* include/c_global/ctime: Likewise.
	* include/c_global/cwchar: Likewise.
	* include/c_global/cstring
	* include/tr1/type_traits: Likewise.
	* include/backward/hash_fun.h: Likewise.
	* libsupc++/new: Likewise.
	* libsupc++/initializer_list: Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/5268.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/char/5268.cc: Likewise.
	* testsuite/27_io/objects/char/10.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputn/char/1057.cc: Likewise.
	* testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	exceptions_null.cc
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/cons/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	wchar_t/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	char/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/9826.cc: Likewise.
	* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/8.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	char/8.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1057.cc: Likewise.
	* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
	* testsuite/18_support/bad_exception/23591_thread-1.c
	* testsuite/18_support/new_delete_placement.cc: Likewise.
	* testsuite/18_support/pthread_guard.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/
	assign_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/
	copy_neg.cc: Likewise.
	* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
	* testsuite/ext/slist/23781.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
	* testsuite/22_locale/locale/cons/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/29217.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/
	requirements/iterator_null_neg.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/
	requirements/iterator_null_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/single_value.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise.
	* testsuite/23_containers/multimap/23781.cc: Likewise.
	* testsuite/23_containers/set/23781.cc: Likewise.
	* testsuite/23_containers/multiset/23781.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/23781.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/map/23781.cc: Likewise.
	* testsuite/util/regression/rand/priority_queue/
	rand_regression_test.hpp: Likewise.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: Likewise.
	* testsuite/util/regression/rand/assoc/
	rand_regression_test.hpp: Likewise.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_io.h: Likewise.
	* testsuite/util/testsuite_iterators.h: Likewise.
	* testsuite/util/replacement_memory_operators.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.
	* testsuite/util/testsuite_performance.h: Likewise.

From-SVN: r160231
2010-06-03 19:15:56 +00:00
Paolo Carlini af90c8c9ae re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale)
2009-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40712
	* config/locale/gnu/numeric_members.cc (numpunct<>::
	_M_initialize_numpunct): Dynamically allocate _M_data->_M_grouping
	and copy the langinfo data into it.
	(numpunct<>::~numpunct): Free the allocated memory.
	* config/locale/gnu/monetary_members.cc (moneypunct<>::
	_M_initialize_moneypunct): Dynamically allocate _M_data->_M_grouping,
	_M_data->_M_positive_sign, _M_data->_M_negative_sign,
	_M_data->_M_curr_symbol.
	(moneypunct<>::~moneypunct): Free the allocated memory.
	* testsuite/22_locale/moneypunct/40712.cc: New.

	* include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache):
	Do not leak memory if new throws.
	* include/bits/locale_facets_nonio.tcc
	(__moneypunct_cache<>::_M_cache): Likewise.

From-SVN: r149782
2009-07-18 22:58:10 +00:00
Jan Hubicka 50a681c4ee condition_variable.cc (condition_variable, [...]): Mark throw()
* src/condition_variable.cc (condition_variable,
	condition_variable_any constructors): Mark throw()
	* src/hash.cc (operator() for long double, string, and wstring): Mark
	throw ().
	* src/strstream.cc (strstreambuf constructors, freeze, str, pcount,
	_M_setup, rdbuf, str): Mark throw ().
	* src/chrono.cc (new): Mark throw ().
	* include/std/system_error (system_category, generic_category): Mark
	throw () and const.
	* include/std/chrono (now): Mark throw ().
	* include/std/condition_variable (condition_variable,
	~condition_variable, condition_variable_any,
	~condition_variable_any): Mark throw ().
	* include/std/mutex (mutex): Mark throw ().
	* include/bits/stl_list.h (swap, transfer, reverse, hook, unhook): Mark
	throw.
	* include/bits/functional_hash.h (operator()  on size_t): Mark pure and throw ().
	* include/bits/locale_facets.tcc (__verify_grouping): Mark pure.
	* include/bits/locale_classes.h (_S_initialize_once,
	_S_clone_c_locale): Mark throw ().
	(_S_get_c_name): Mark const and throw ().
	(_M_id, _M_compare, _M_transform, _M_compare, _M_transform): Mark throw ().
	* include/bits/locale_facets.h (__convert_to_v explicit instances):
	Mark throw ().
	(_M_convert_to_wmask, _M_initialize_ctype, _S_format_float): Mark throw ().
	* include/bits/ios_base.h (_M_dispose_callbacks, _M_init, imbue,
	ios_base): Mark throw ()
	* include/bits/locale_facets_nonio.h (_M_put): Mark throw.
	* include/backward/strstream (strstreambuf constructors): Mark throw ().
	(str, freeze, _M_setupf): Mark throw ().
	(pcount): Mark pure and throw ().
	(rdbuf): Mark const and throw ().

From-SVN: r146328
2009-04-18 21:19:18 +00:00
Paolo Carlini 2daad65eaf re PR libstdc++/39802 (std::num_get fails to parse negative zero input correctly)
2009-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39802
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int
	(_InIter, _InIter, ios_base&, ios_base::iostate&, _ValueT&)):
	Always accept negative values, for unsigned types too.
	* testsuite/22_locale/num_get/get/char/39802.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.

From-SVN: r146323
2009-04-18 19:28:40 +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
Paolo Carlini bbcac3becb re PR libstdc++/39168 (Incorrect interpretation of CHAR_MAX inside grouping string in monetary and numeric facets.)
2009-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39168
	* src/locale_facets.cc (__verify_grouping(const char*, size_t,
	const string&)): Also check that the value != CHAR_MAX.
	* include/bits/locale_facets.tcc (__numpunct_cache<>::
	_M_cache(const locale&), __add_grouping(_CharT*, _CharT,
	const char*, size_t, const _CharT*, const _CharT*)): Likewise.
	* include/bits/locale_facets_nonio.tcc (__moneypunct_cache<>::
	_M_cache(const locale&)): Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/39168.cc: New.
	* testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/39168.cc: Likewise.

From-SVN: r144190
2009-02-15 16:47:57 +00:00
Paolo Carlini bc2631e0c6 re PR libstdc++/25191 (exception_defines.h #defines try/catch)
2009-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/25191	
	* libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
	deal consistently with __try and __catch too.
	* src/localename.cc: Replace try -> __try, catch -> __catch.
	* src/ios.cc: Likewise.
	* src/locale.cc: Likewise.
	* src/istream.cc: Likewise.
	* src/thread.cc: Likewise.
	* src/compatibility.cc: Likewise.
	* src/bitmap_allocator.cc: Likewise.
	* src/ios_init.cc: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/tr1_impl/hashtable: Likewise.
	* include/std/bitset: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	split_join_branch_bag.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/slist: Likewise.
	* include/ext/memory: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/vstring.tcc: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/sso_string_base.h: Likewise.
	* include/bits/shared_ptr.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/locale_classes.tcc: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/bits/stl_tempbuf.h: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/ostream_insert.h: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/backward/hashtable.h: Likewise.
	* libsupc++/exception_ptr.h: Likewise.
	* libsupc++/eh_personality.cc: Likewise.
	* libsupc++/eh_call.cc: Likewise.
	* config/locale/gnu/monetary_members.cc: Likewise.
	* config/locale/gnu/time_members.h: Likewise.
	* config/locale/generic/time_members.h: Likewise.

From-SVN: r143913
2009-02-03 23:44:53 +00:00
Paolo Carlini d2f6b13b3b re PR libstdc++/38210 (num_put<>::do_put(void*) performs padding incorrectly when adjustfield==internal)
2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38210
	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, const void*)): Fix.
	* testsuite/22_locale/num_put/put/char/38210.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.

From-SVN: r142085
2008-11-21 09:59:17 +00:00
Paolo Carlini 7391b59739 re PR libstdc++/38196 (num_put<>::do_put(bool) performs 'internal' padding incorrectly when boolalpha==true)
2008-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38196
	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, bool)): Fix.
	* testsuite/22_locale/num_put/put/char/38196.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.

From-SVN: r142048
2008-11-20 16:00:17 +00:00
Paolo Carlini 2a81fe20dd locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
2008-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
	* testsuite/22_locale/num_get/get/char/37958.cc: Extend.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.

From-SVN: r141546
2008-11-03 10:23:38 +00:00
Paolo Carlini 7ea6fdf55e PR libstdc++/37958 (cont again)
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958 (cont again)
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
	* testsuite/22_locale/num_get/get/char/37958.cc: Extend.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.

From-SVN: r141523
2008-11-01 22:09:43 +00:00
Paolo Carlini f18e0ca6dc locale_facets.tcc (num_get<>::do_get(, long&), [...]): Move inline...
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
	num_get<>::do_get(, unsigned short&),
	num_get<>::do_get(, unsigned int&),
	num_get<>::do_get(, unsigned long&),
	num_get<>::do_get(, long long&),
	num_get<>::do_get(, unsigned long long&),
	num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
	num_put<>::do_put(, long long),
	num_put<>::do_put(, unsigned long long)): Move inline...
	* include/bits/locale_facets.h: ... here.

From-SVN: r141520
2008-11-01 17:38:39 +00:00
Paolo Carlini fa4262a47a PR libstdc++/37958 (cont)
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958 (cont)
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.

From-SVN: r141517
2008-11-01 16:17:42 +00:00
Paolo Carlini 894e47e76e re PR libstdc++/37958 (num_get<>::do_get(bool) sets eofbit flag incorrectly when boolalpha == true)
2008-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
	* testsuite/22_locale/num_get/get/char/37958.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.

From-SVN: r141498
2008-10-31 16:47:48 +00:00
Paolo Carlini 4a2095e271 locale_facets.tcc (__pad<>::_S_pad): Don't use const by value parameters.
2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

 	* include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't use const
	by value parameters.
	* include/bits/locale_facets.h (__pad<>::_S_pad): Likewise.

From-SVN: r140584
2008-09-23 10:09:38 +00:00
Paolo Carlini 5ef46f9559 PR libstdc++/32422, DR 23 [Ready in R60]
2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/32422, DR 23 [Ready in R60]
	* config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
	ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
	double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
	char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
	DR 23 and deal correctly with broken exponents.
	* config/locale/generic/c_locale.cc (__convert_to_v(const char*,
	float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
	char*, double&, ios_base::iostate&, const __c_locale&),
	__convert_to_v(const char*, long double&, ios_base::iostate&, const
	__c_locale&)): Likewise.
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
	_InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
	(num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
	ios_base::iostate&, string&): Change grouping check to set instead of
	OR failbit; do not check for eofbit here...
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
	ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, long double&),
	num_get<>::__do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, double&)): ... do it here instead.
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, bool&)): Implement DR 23.
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, void*&)): Adjust.
	* doc/xml/manual/intro.xml: Add and entry for DR 23.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
	Adjust.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/10.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/12.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/15.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/16.cc: Likewise.

From-SVN: r140574
2008-09-23 00:47:02 +00:00
Paolo Carlini 08376e28d4 ctype.cc (use_facet<ctype<char> >, [...]): Remove specializations.
2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/ctype.cc (use_facet<ctype<char> >, use_facet<ctype<wchar_t>):
	Remove specializations.
	* src/locale-inst.cc (use_facet<ctype<C> >): Instantiate.
	* include/bits/locale_facets.tcc (use_facet<ctype<char> >,
	use_facet<ctype<wchar_t>): Declare as extern template.
	* include/bits/locale_facets.h (use_facet<ctype<char> >,
	use_facet<ctype<wchar_t>): Do not declare as specializations.

From-SVN: r140251
2008-09-10 21:34:38 +00:00
Paolo Carlini cded5e6bd5 locale_facets.tcc (num_put<>::_M_insert_int): When ios_base::showpos and the type is signed and the value is zero, prepend +.
2007-11-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_put<>::_M_insert_int): When
	ios_base::showpos and the type is signed and the value is zero,
	prepend +.
	* testsuite/22_locale/num_put/put/char/12.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.

From-SVN: r130460
2007-11-27 01:59:41 +00:00
Paolo Carlini c68e412864 locale_facets.tcc (__verify_grouping): Move...
2007-11-16  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (__verify_grouping): Move...
	* src/locale_facets.cc: ... here.
	* config/abi/pre/gnu.ver: Update exports.

From-SVN: r130233
2007-11-16 17:45:35 +00:00
Paolo Carlini 7f786096da istream.tcc (basic_istream<>::sentry:: sentry(basic_istream<>&, bool)): Explicitely convert to bool.
2007-11-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (basic_istream<>::sentry::
	sentry(basic_istream<>&, bool)): Explicitely convert to bool.
	* include/bits/locale_facets.tcc (num_put<>::_M_insert_int(_OutIter,
	ios_base&, _CharT, _ValueT)): Likewise.
	* include/std/ostream (basic_ostream<>::sentry::~sentry): Likewise.

From-SVN: r130211
2007-11-15 22:59:12 +00:00
Paolo Carlini a576fe880e locale_facets.tcc (__pad<>::_S_pad): Minor tweaks, avoid unnecessary casts, do widenings just in time.
2007-05-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (__pad<>::_S_pad): Minor tweaks, avoid
	unnecessary casts, do widenings just in time.

From-SVN: r124790
2007-05-17 09:01:27 +00:00
Paolo Carlini 84b31797f3 locale_facets.h (class collate, [...]): Move...
2007-04-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class collate, class collate_byname):
	Move...
	* include/bits/locale_classes.h: ... here.
	* include/bits/locale_facets.tcc (locale::combine, locale::operator(),
	has_facet, use_facet, collate::_M_compare, collate::_M_transform,
	collate::do_compare, collate::do_transform, collate::do_hash): Move...
	* include/bits/locale_classes.tcc: ... here, new.
	* include/Makefile.am: Add.
	* testsuite/util/testsuite_abi.h: Include <locale>.
	* include/std/locale: Tweak.
	* include/std/istream: Likewise.
	* include/std/ostream: Likewise.
	* include/bits/codecvt.h: Likewise.
	* include/Makefile.in: Regenerate.

	* include/bits/codecvt.h: Adjust extern template declarations.
	* include/bits/ostream_insert.h: Likewise.
	* include/bits/ostream.tcc: Likewise.

	* include/bits/locale_facets.h: Do not include <bits/codecvt.h>.
	* include/std/fstream: Do it here.
	* include/bits/locale_facets_nonio.h: Likewise.

From-SVN: r124114
2007-04-24 18:57:12 +00:00
Paolo Carlini f749a55bb4 locale_facets.h (class time_base, [...]): Move...
2007-04-23  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class time_base,
	struct __timepunct_cache, class __timepunct, class time_get,
	class time_get_byname, class time_put, class time_put_byname,
	class money_base, struct __moneypunct_cache, class moneypunct,
	class moneypunct_byname, class money_get, class money_put,
	struct messages_base, class messages, class messages_byname): Move...
	* include/bits/locale_facets_nonio.h: ... here.
	* include/bits/locale_facets.tcc
	(struct __use_cache<__moneypunct_cache<> >,
	__moneypunct_cache<>::_M_cache, money_get<>::_M_extract,
	money_get<>::__do_get, money_get<>::do_get, money_put<>::_M_insert,
	money_put<>::__do_put, money_put<>::do_put, time_get<>::do_date_order,
	time_get<>::_M_extract_via_format, time_get<>::_M_extract_num,
	time_get<>::_M_extract_name, time_get<>::do_get_time,
	time_get<>::do_get_date, time_get<>::do_get_weekday,
	time_get<>::do_get_monthname, time_get<>::do_get_year, time_put<>::put,
	time_put<>::do_put): Move...
	* include/bits/locale_facets_nonio.tcc: ... here.
	* include/Makefile.am: Add.
	* include/std/locale: Adjust includes.
	* include/std/fstream: Likewise.
	* include/std/istream: Likewise.
	* include/std/ostream: Likewise.
	* include/Makefile.in: Regenerate.

From-SVN: r124080
2007-04-23 20:26:30 +00:00
Paolo Carlini 3b476281b6 locale_facets.tcc: Do not include <typeinfo>.
2007-04-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc: Do not include <typeinfo>.
	* testsuite/27_io/basic_ios/imbue/14072.cc: Do it here.
	* testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	pod/10081-in.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/
	pod/10081-out.cc: Likewise.
	* testsuite/22_locale/locale/cons/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/unicode.cc: Likewise.
	* testsuite/22_locale/numpunct/members/pod/2.cc: Likewise.
	* testsuite/22_locale/global_templates/1.cc: Likewise.

From-SVN: r124039
2007-04-22 10:09:11 +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 90737ab777 locale_facets.tcc (num_get<>::do_get(iter_type, ios_base&, ios_base::iostate&, void*&)): Fix for sizeof(void*) > sizeof(unsigned long).
2007-04-11  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	ios_base&, ios_base::iostate&, void*&)): Fix for sizeof(void*)
	> sizeof(unsigned long).

	* testsuite/22_locale/num_get/get/char/1.cc: Fix void* test.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.

	* testsuite/22_locale/num_put/put/char/1.cc: Tweak comment.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.

From-SVN: r123716
2007-04-11 15:19:15 +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 5b3f6d1a46 locale_facets.tcc (num_put<>::do_put(iter_type, ios_base&, char_type, const void*)): Fix for sizeof(const void*) > sizeof(unsigned long).
2007-04-02  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, const void*)): Fix for sizeof(const void*)
	> sizeof(unsigned long).

From-SVN: r123421
2007-04-02 09:49:31 +00:00
Dirk Mueller 9e0b7527be locale_facets.tcc (num_get<>::do_get): Avoid warning about ambiguous else.
2007-02-13  Dirk Mueller  <dmueller@suse.de>

       * include/bits/locale_facets.tcc (num_get<>::do_get): Avoid
       warning about ambiguous else.

From-SVN: r121881
2007-02-13 10:13:04 +00:00
Paolo Carlini 226a2e08e5 locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&), [...]): -Wconversion and -Woverflow fixes.
2007-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&),
	num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
	-Wconversion and -Woverflow fixes.
	* include/bits/istream.tcc (operator>>(int&), operator>>(short&)):
	Likewise.
	* include/std/valarray (valarray<>::shift, cshift): Likewise.

From-SVN: r121264
2007-01-28 18:40:42 +00:00
Ian Lance Taylor 2a67bec24f re PR c++/19564 (-Wparentheses does not work with the C++ front-end)
PR c++/19564
	PR c++/19756
gcc/:
	* c-typeck.c (parser_build_binary_op): Move parentheses warnings
	to warn_about_parentheses in c-common.c.
	* c-common.c (warn_about_parentheses): New function.
	* c-common.h (warn_about_parentheses): Declare.
	* doc/invoke.texi (Warning Options): Update -Wparentheses
	description.
gcc/cp/:
	* parser.c (cp_parser_expression_stack_entry): Add field
	lhs_type.
	(cp_parser_binary_expression): Track tree code of left hand side
	of expression.  Use it when calling build_x_binary_op.
	(cp_parser_selection_statement): Add if_p parameter.  Change all
	callers.  Warn about ambiguous else.
	(cp_parser_statement): Add if_p parameter.  Change all callers.
	(cp_parser_implicitly_scoped_statement): Likewise.
	* typeck.c (build_x_binary_op): Add parameters arg1_code and
	arg2_code.  Change all callers.  Call warn_about_parentheses.
	* cp-tree.h (build_x_binary_op): Update declaration.
gcc/testsuite/:
	* g++.dg/warn/Wparentheses-5.C: New test.
	* g++.dg/warn/Wparentheses-6.C: New test.
	* g++.dg/warn/Wparentheses-7.C: New test.
	* g++.dg/warn/Wparentheses-8.C: New test.
	* g++.dg/warn/Wparentheses-9.C: New test.
	* g++.dg/warn/Wparentheses-10.C: New test.
	* g++.dg/warn/Wparentheses-11.C: New test.
	* g++.dg/warn/Wparentheses-12.C: New test.
	* g++.dg/warn/Wparentheses-13.C: New test.
	* g++.dg/warn/Wparentheses-14.C: New test.
	* g++.dg/warn/Wparentheses-15.C: New test.
	* g++.dg/warn/Wparentheses-16.C: New test.
	* g++.dg/warn/Wparentheses-17.C: New test.
	* g++.dg/warn/Wparentheses-18.C: New test.
	* g++.dg/warn/Wparentheses-19.C: New test.
	* g++.dg/warn/Wparentheses-20.C: New test.
	* g++.dg/warn/Wparentheses-21.C: New test.
libstdc++-v3/:
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
	Add parentheses around && within || to avoid warning.
	(num_get<>::_M_extract_int): Likewise.
	(money_get<>::_M_extract): Likewise.
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, void*&)): Add parentheses around & within | to
	avoid warning.
	(num_put<>::do_put(iter_type, ios_base&, char_type, const void*)):
	Likewise.
	* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
	Add parentheses around && within || to avoid warning.
	* libsupc++/tinfo.cc (__do_dyncast): Likewise.
	* src/locale.cc (locale::_S_normalize_category): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_unique): Add
	braces to avoid ambiguous else warning.
	* src/strstream.cc (strstreambuf::_M_free): Likewise.
	* src/tree.cc (_Rb_tree_rebalance_for_erase): Likewise.

From-SVN: r119855
2006-12-14 05:49:06 +00:00
Paolo Carlini b3b3633323 locale_facets.tcc (money_get<>::__do_get(iter_type, iter_type, bool, ios_base&, ios_base::iostate&, double&), [...]): Tidy.
2006-10-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::__do_get(iter_type,
	iter_type, bool, ios_base&, ios_base::iostate&, double&),
	money_get<>::do_get(iter_type, iter_type, bool, ios_base&,
	ios_base::iostate&, long double&), money_get<>::do_get(iter_type,
	iter_type, bool, ios_base&, ios_base::iostate&, string_type&)): Tidy.

From-SVN: r117828
2006-10-17 16:43:47 +00:00
Paolo Carlini a484326f89 PR libstdc++/28277 (partial: __add_grouping)
2006-10-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: __add_grouping)
	* include/bits/locale_facets.tcc (__add_grouping<>(_CharT*, _CharT,
	const char*, size_t, const _CharT*, const _CharT*)): Rewrite in
	non-recursive form.

From-SVN: r117581
2006-10-09 18:04:18 +00:00
Paolo Carlini c9a5bd5421 PR libstdc++/28277 (partial: money_put bits)
2006-10-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: money_put bits)
	* include/bits/locale_facets.tcc (money_put<>::_M_insert(iter_type,
	ios_base&, char_type, const string_type&)): Avoid __builtin_alloca
	with no limit, do the work in place.

	* include/bits/locale_facets.tcc (money_put<>::do_put(iter_type,
	bool, ios_base&, char_type, long double)): Avoid unnecessary
	__builtin_alloca, do the work in place.

From-SVN: r117571
2006-10-09 10:49:50 +00:00
Paolo Carlini dc2a079607 PR libstdc++/28277 (partial: money_get bits)
2006-10-07  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: money_get bits)
	* include/bits/locale_facets.tcc (money_get<>::do_get(iter_type,
	iter_type, bool, ios_base&, ios_base::iostate&, string_type&)):
	Avoid __builtin_alloca with no limit, do the work in place.

From-SVN: r117549
2006-10-08 01:13:03 +00:00
Paolo Carlini 17cdf08234 locale_facets.tcc (_M_group_int): Remove redundant using-declaration.
2006-09-18  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (_M_group_int): Remove
	redundant using-declaration.

From-SVN: r117028
2006-09-18 16:05:25 +00:00
Benjamin Kosnik 105c6331b2 type_traits.h: New.
2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>
	    Peter Doerfler  <gcc@pdoerfler.com>
	    Paolo Carlini  <pcarlini@suse.de>
	
	* include/ext/type_traits.h: New. 
	(__conditional_type): New.
	(__numeric_traits): New.
	(__add_unsigned): New.
	(__remove_unsigned): New.
	(__enable_if): New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* include/ext/pb_ds/detail/type_utils.hpp: Use ext include,
	remove duplicates.
	* include/tr1/hashtable_policy.h (IF): Use __conditional_type.
	(_Max_digits10): Same.
	(identity): Use _Identity.
	(extract1st): Use _Select1st.
	* include/tr1/random (_Select): Use __conditional_type.
	(_To_Unsigned_Type): Use __add_unsigned. Linebreak fixups.
	* include/bits/locale_facets.tcc (__to_unsigned_type): Remove, use
	__add_unsigned.
	* include/tr1/random.tcc: Fixups as above.
	* include/tr1/unordered_map: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/unordered_set: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
	* include/ext/pb_ds/detail/type_utils.hpp: Same.
	* include/ext/pb_ds/trie_policy.hpp: Same.
	* docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
	
	* include/bits/cpp_type_traits.h (__enable_if): Move to ext, make
	boolean argument first.	
	* include/bits/locale_facets.h: Fixups for __enable_if argument
	and namespace switch.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/debug/safe_iterator.h: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/cmath: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/c_std/std_cmath.h: Same.
	* testsuite/util/testsuite_tr1.h: Same.
	* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.


Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
Co-Authored-By: Peter Doerfler <gcc@pdoerfler.com>

From-SVN: r117024
2006-09-18 13:30:56 +00:00
Paolo Carlini caade1927f locale_facets.tcc (num_put<>::_M_insert_float): Find the decimal point in cs, instead of ws; tidy.
2006-07-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
	Find the decimal point in cs, instead of ws; tidy.

From-SVN: r115840
2006-07-31 19:26:58 +00:00
Paolo Carlini 420644ea23 locale_facets.tcc (collate<>::do_transform( const _CharT*, const _CharT*)): Simplify previous fix for libstdc++/28277, always allocate memory dynamically.
2006-07-11  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (collate<>::do_transform(
	const _CharT*, const _CharT*)): Simplify previous fix for
	libstdc++/28277, always allocate memory dynamically.

From-SVN: r115356
2006-07-12 00:05:50 +00:00
Paolo Carlini 36bb088b04 PR libstdc++/28277 (partial: collate bits)
2006-07-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: collate bits)
	* include/bits/locale_facets.tcc (collate<>::do_transform(
	const _CharT*, const _CharT*)): Avoid __builtin_alloca with no
	limit; also avoid multiple calls (in a loop).
	* testsuite/22_locale/collate/transform/char/28277.cc: New.
	* testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.

From-SVN: r115332
2006-07-11 11:21:38 +00:00
Paolo Carlini 5c171a745d locale_facets.tcc (__int_to_char<>(_CharT*, long, const _CharT*, ios_base::fmtflags), [...]): Remove.
2006-07-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (__int_to_char<>(_CharT*,
	long, const _CharT*, ios_base::fmtflags), __int_to_char<>(_CharT*,
	unsigned long, const _CharT*, ios_base::fmtflags),
	__int_to_char<>(_CharT*, long long, const _CharT*, ios_base::fmtflags),
	__int_to_char<>(_CharT*, unsigned long long, const _CharT*,
	ios_base::fmtflags)): Remove.
	(__int_to_char<>(_CharT*, _ValueT, const _CharT*, ios_base::fmtflags,
	bool)): Adjust.
	(num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
	Likewise.

From-SVN: r115298
2006-07-09 21:26:19 +00:00
Paolo Carlini e11b210a9c locale_facets.tcc (time_get<>::_M_extract_via_format): Ignore the value of the __err argument.
2006-06-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format):
	Ignore the value of the __err argument.
	(time_get<>::do_get_weekday): Likewise.
	(time_get<>::do_get_monthname): Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/5.cc: New.
	* testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.

From-SVN: r114728
2006-06-16 22:13:13 +00:00
Paolo Carlini 964c53299c re PR libstdc++/26970 (-O3 -Wformat=2 complains about floats written to ostream)
2006-06-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/26970
	* config/locale/gnu/c_locale.h (__convert_from_v<>): Change to
	variadic function, instead of template function.
	* config/locale/generic/c_locale.h (__convert_from_v<>): Likewise.
	* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
	Adjust.
	(money_put<>::do_put(long double)): Likewise.
	* src/locale-misc-inst.cc: Remove.
	* src/Makefile.am: Adjust.
	* src/Makefile.in: Regenerate.

From-SVN: r114591
2006-06-12 23:24:22 +00:00
Paolo Carlini bfdb907ca2 locale_facets.tcc (num_get<>::_M_extract_float): Special case main parsing loop for !_M_allocated (i.e., "C" locale).
2006-04-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
	Special case main parsing loop for !_M_allocated (i.e., "C" locale).
	(num_get<>::_M_extract_int): Likewise.
	* include/bits/locale_facets.h (num_get<>::_M_find): New.

From-SVN: r113377
2006-04-29 18:16:47 +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
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 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
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
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