Commit Graph

229 Commits

Author SHA1 Message Date
Ed Smith-Rowland 6165bbddcd poly_laguerre.tcc: Doxygen fixes.
2008-02-17  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/tr1/poly_laguerre.tcc: Doxygen fixes.
	* include/tr1/exp_integral.tcc: Same.
	* include/tr1/gamma.tcc: Same.
	* include/tr1/hypergeometric.tcc: Same.

From-SVN: r132384
2008-02-18 00:05:26 +00:00
Ralf Wildenhues 28dac70a08 auto_ptr.h: Fix comment typos.
2008-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
    
	* include/backward/auto_ptr.h: Fix comment typos.
	* include/bits/algorithmfwd.h: Likewise.
	* include/bits/basic_ios.h: Likewise.
	* include/bits/c++config: Likewise.
	* include/bits/char_traits.h: Likewise.
	* include/bits/codecvt.h: Likewise.
	* include/bits/gslice.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/postypes.h: Likewise.
	* include/bits/sstream.tcc: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* include/bits/stl_iterator_base_types.h Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/valarray_array.h: Likewise.
	* include/debug/safe_base.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/rope: Likewise.
	* include/parallel/checkers.h: Likewise.
	* include/parallel/find.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/partition.h: Likewise.
	* include/parallel/settings.h: Likewise.
	* include/std/bitset: Likewise.
	* include/std/complex: Likewise.
	* include/std/fstream: Likewise.
	* include/std/istream: Likewise.
	* include/std/limits: Likewise.
	* include/std/ostream: Likewise.
	* include/std/stdexcept: Likewise.
	* include/std/streambuf: Likewise.
	* include/tr1/bessel_function.tcc: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/ell_integral.tcc: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/tr1/legendre_function.tcc: Likewise.
	* include/tr1_impl/random: Likewise.
	* include/tr1_impl/regex: Likewise.

From-SVN: r131982
2008-01-31 18:44:55 +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
Chris Fairles 894d0b1502 tuple: New.
2007-12-26  Chris Fairles  <chris.fairles@gmail.com>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/std/tuple: New.
	* include/tr1/tuple: New, adjust from tr1_impl/tuple code.	
	* include/tr1_impl/tuple: Remove.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r131183
2007-12-26 15:23:49 +00:00
Paolo Carlini 6b81511f67 hashtable_policy.h (__lower_bound): Add.
2007-12-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/hashtable_policy.h (__lower_bound): Add.
	(_Prime_rehash_policy::_M_next_bkt, _M_bkt_for_elements,
	_M_need_rehash): Use __lower_bound.
	* include/std/unordered_map: Do not include the whole <algorithm>,
	include <bits/stl_algobase.h>.
	* include/std/unordered_set: Likewise.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/unordered_set: Likewise.

From-SVN: r131170
2007-12-25 13:49:54 +00:00
Paolo Carlini 861d6c431f hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt, [...]): Use __builtin_ceil.
2007-12-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/hashtable_policy.h (_Prime_rehash_policy::
	_M_next_bkt, _M_bkt_for_elements, _M_need_rehash): Use __builtin_ceil.
	* include/std/unordered_map: Do not include <cmath>; prefer
	<bits/stringfwd.h> to <string>.
	* include/std/unordered_set: Likewise.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/unordered_set: Likewise.

From-SVN: r131157
2007-12-24 14:32:21 +00:00
Jonathan Wakely aaf0ca6f27 boost_shared_ptr.h: Add support for allocators, aliasing, make_shared and rvalue-references.
2007-12-15  Jonathan Wakely  <jwakely-gcc@gmail.com>

	* include/tr1_impl/boost_shared_ptr.h: Add support for allocators,
	aliasing, make_shared and rvalue-references. Move __shared_count
	and _Sp_counted_* classes to new headers.
	* include/tr1_impl/boost_sp_counted_base.h: New.
	* include/bits/boost_sp_shared_count.h: New.
	* include/tr1/boost_sp_shared_count.h: New.
	* include/std/memory, include/tr1/memory: Include new headers.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.
	* docs/html/documentation.html: Link to shared_ptr notes.
	* docs/html/20_util/shared_ptr.html: New.
	* docs/html/17_intro/c++0x_status.html: Update shared_ptr status.
	* testsuite/20_util/shared_ptr/cons/alias.cc: New.
	* testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
	* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
	* testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/assign.cc: Duplicate tr1 test.
	* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
	* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
	* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
	* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
	* testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
	* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
	* testsuite/20_util/shared_ptr/modifiers/24805.cc: Likewise.
	* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
	* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
	* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
	* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
	* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
	* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
	1.cc: Likewise.
	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation.cc:
	Remove.
	* testsuite/20_util/weak_ptr/lock/1.cc: Duplicate tr1 test.
	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
	Likewise.
	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
	Likewise.
	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation.cc:
	Remove.

From-SVN: r130977
2007-12-15 22:28:29 +00:00
Paolo Carlini f22aa574dc functional_hash.h: Do not include ext/numeric_traits.h.
2007-11-20  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/functional_hash.h: Do not include ext/numeric_traits.h.
	* include/tr1/functional_hash.h: Likewise.
	* include/std/functional: Include ext/type_traits.h.
	* include/tr1/functional: Likewise.

From-SVN: r130314
2007-11-20 14:06:53 +00:00
Paolo Carlini a0ba4e53fd functional_hash.h (hash<long double>::operator()(long double)): Only declare.
2007-11-20  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/functional_hash.h
	(hash<long double>::operator()(long double)): Only declare.
	* src/hash.cc: Define here.
	* config/abi/pre/gnu.ver: Adjust exports.
	* include/tr1/functional: Do not include <cmath>.
	* include/std/functional: Likewise.

	* include/std/functional: Include <new>.

From-SVN: r130312
2007-11-20 12:34:44 +00:00
Paolo Carlini 3c27955364 type_traits (_DEFINE_SPEC_BODY): Remove.
2007-11-18  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (_DEFINE_SPEC_BODY): Remove.
	(_DEFINE_SPEC_0_HELPER): Rename to _DEFINE_SPEC_HELPER.
	(_DEFINE_SPEC): Simplify; adjust uses.

From-SVN: r130273
2007-11-18 18:55:27 +00:00
Paolo Carlini beb1b47587 type_traitsfwd.h (add_reference): Remove.
2007-10-09  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/type_traitsfwd.h (add_reference): Remove.
	* include/tr1/type_traits (add_reference): Add forward declaration.
	* include/tr1_impl/functional (class _Mu<>): Fix.

From-SVN: r129171
2007-10-09 17:17:33 +00:00
Benjamin Kosnik 6116ca65dd Fixes for --disable-libstdcxx-pch.
2007-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	Fixes for --disable-libstdcxx-pch.
	* include/ext/rc_string_base.h: Include stl_iterator_base_funcs.h.
	* include/ext/vstring_util.h: Include stl_iterator.h and
	numeric_traits.h.
	* include/tr1/functional: Include new.
	* testsuite/util/testsuite_api.h: Include exception.
	* testsuite/lib/libstdc++.exp (libstdc++_init): Set
	PCH_CXXFLAGS via cxxpchflags.

	* testsuite/25_algorithms/binary_search/requirements/
	explicit_instantiation/2.cc: Same.: Fix includes.
	* testsuite/25_algorithms/count_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/equal_range/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/find_end/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/find_first_of/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/find_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/for_each/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/includes/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/inplace_merge/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/lexicographical_compare/
	requirements/explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/lower_bound/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/make_heap/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/max_element/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/max/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/merge/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/min_element/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/min/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/next_permutation/
	requirements/explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/nth_element/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/partial_sort_copy/
	requirements/explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/partial_sort/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/partition/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/pop_heap/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/prev_permutation/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/push_heap/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/random_shuffle/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/remove_copy_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/remove_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/replace_copy_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/replace_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/search_n/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/search/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/set_difference/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/set_intersection/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/set_symmetric_difference/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/set_union/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/sort_heap/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/sort/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/stable_partition/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/stable_sort/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/transform/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/unique_copy/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/unique/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/upper_bound/requirements/
	explicit_instantiation/2.cc: Same.

	* testsuite/25_algorithms/remove/requirements/
	explicit_instantiation/pod.cc: Provide a hint to the compiler.

From-SVN: r129049
2007-10-06 03:06:37 +00:00
Paolo Carlini fd735b6a2e type_traitsfwd.h (aligned_storage): Remove declaration.
2007-09-17  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/type_traitsfwd.h (aligned_storage): Remove
	declaration.
	* include/tr1_impl/type_traits (aligned_storage): Remove.
	* include/std/type_traits (aligned_storage, __aligned_storage_msa):
	Add.
	* include/tr1/type_traits (aligned_storage): Add.
	* testsuite/20_util/aligned_storage/value.cc: New.
	* testsuite/20_util/aligned_storage/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error lines.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r128542
2007-09-17 10:18:51 +00:00
Benjamin Kosnik c417817a85 all_pedantic_errors.cc: New.
2007-09-14  Benjamin Kosnik  <bkoz@redhat.com>

        * testsuite/17_intro/headers/all_pedantic_errors.cc: New.
        * include/tr1_impl/cinttypes: Add pragma GCC system_header.
        * include/tr1_impl/cfenv: Same.
        * include/tr1_impl/cstdint: Same.
        * include/tr1/cstdbool: Same.
        * include/ext/pb_ds/detail/resize_policy/
        hash_prime_size_policy_imp.hpp: Same.
        * include/parallel/partial_sum.h: Avoid VLA error with
        __builtin_alloca.

From-SVN: r128500
2007-09-14 17:46:56 +00:00
Benjamin Kosnik 9adfc73cd3 functional_hash.h: Add ext/numeric_traits.h.
2007-09-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/functional_hash.h: Add ext/numeric_traits.h.
	* include/tr1/functional_hash.h Same.
	* include/tr1/functional: Remove string, ext/type_traits.h includes.
	* include/tr1_impl/functional_hash.h: Move string, wstring
	definitions for std::<hash>::operator into separate file.
	* include/std/functional
	* src/hash.cc: New, move definitions here.
	* src/hash_c++0x.cc: Same.
	* src/Makefile.am: Add new source files.
	* configure: Regenerate.
	* Makefile.in: Same.
	* src/Makefile.in: Same.
	* po/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* config/abi/pre/gnu.ver: Add symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Same, fix.

From-SVN: r128278
2007-09-09 00:05:13 +00:00
Paolo Carlini 28b69d5df0 cmath: Tweak includes.
2007-06-13  Paolo Carlini  <pcarlini@suse.de>

	* include/c_global/cmath: Tweak includes.
	* include/std/memory: Likewise.
	* include/std/complex: Likewise.
	* include/tr1/memory: Likewise.
	* include/tr1/complex: Likewise.
	* include/tr1/cmath: Likewise; do not wrap special functions
	in #ifndef __GXX_EXPERIMENTAL_CXX0X__.

From-SVN: r125671
2007-06-13 07:31:39 +00:00
Paolo Carlini 4a27a739a2 type_traits (is_reference, [...]): Remove.
2007-06-02  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/type_traits (is_reference, add_reference,
	remove_reference): Remove.
	* include/tr1/type_traits (is_reference, add_reference,
	remove_reference): Add.
	* include/std/type_traits (is_lvalue_reference, is_rvalue_reference,
	is_reference, remove_reference, add_lvalue_reference,
	add_rvalue_reference): Add.
	* include/tr1_impl/boost_shared_ptr.h (operator*): Adjust.
	* testsuite/20_util/add_lvalue_reference/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/add_lvalue_reference/value.cc: Likewise.
	* testsuite/20_util/add_rvalue_reference/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
	* testsuite/20_util/is_lvalue_reference/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_lvalue_reference/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_lvalue_reference/value.cc: Likewise.
	* testsuite/20_util/is_rvalue_reference/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_rvalue_reference/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_rvalue_reference/value.cc: Likewise.
	* testsuite/20_util/is_reference/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_reference/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_reference/value.cc: Likewise.
	* testsuite/20_util/remove_reference/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/remove_reference/value.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/add_const/requirements/
	typedefs.cc: Move...
	* testsuite/tr1/4_metaprogramming/add_const/value.cc: ... here.
	* testsuite/tr1/4_metaprogramming/add_cv/requirements/
	typedefs.cc: Move...
	* testsuite/tr1/4_metaprogramming/add_cv/value.cc: ... here.
	* testsuite/tr1/4_metaprogramming/add_pointer/requirements/
	typedefs.cc: Move...
	* testsuite/tr1/4_metaprogramming/add_pointer/value.cc: ... here.
	* testsuite/tr1/4_metaprogramming/add_reference/requirements/
	typedefs.cc: Move...
	* testsuite/tr1/4_metaprogramming/add_reference/value.cc: ... here.
	* testsuite/tr1/4_metaprogramming/add_volatile/requirements/
	typedefs.cc: Move...
	* testsuite/tr1/4_metaprogramming/add_volatile/value.cc: ... here.
	* testsuite/tr1/4_metaprogramming/aligned_storage/requirements/
	typedefs.cc: Move...
	* testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: ... here.

From-SVN: r125283
2007-06-02 17:24:09 +00:00
Paolo Carlini e133ace8d9 re PR libstdc++/31426 (TR1 includes do not work with -std=c++0x)
2007-05-31  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31426
	* include/bits/c++config: Remove namespace association bits
	from tr1 to std.

	* include/ext/type_traits.h (__promote, __promote2,
	__promote3, __promote4): Add.

	* include/bits/hashtable.h: New.
	* include/bits/functional_hash.h: Likewise.
	* include/tr1/hashtable.h: Likewise.

	* include/tr1_impl/random: New.
	* include/tr1_impl/cinttypes: Likewise.
	* include/tr1_impl/cstdlib: Likewise.
	* include/tr1_impl/unordered_map: Likewise.
	* include/tr1_impl/cstdio: Likewise.
	* include/tr1_impl/boost_shared_ptr.h: Likewise.
	* include/tr1_impl/cctype: Likewise.
	* include/tr1_impl/random.tcc: Likewise.
	* include/tr1_impl/tuple: Likewise.
	* include/tr1_impl/functional_hash.h: Likewise.
	* include/tr1_impl/hashtable: Likewise.
	* include/tr1_impl/cmath: Likewise.
	* include/tr1_impl/type_traitsfwd.h: Likewise.
	* include/tr1_impl/hashtable_policy.h: Likewise.
	* include/tr1_impl/cfenv: Likewise.
	* include/tr1_impl/unordered_set: Likewise.
	* include/tr1_impl/functional: Likewise.
	* include/tr1_impl/utility: Likewise.
	* include/tr1_impl/complex: Likewise.
	* include/tr1_impl/type_traits: Likewise.
	* include/tr1_impl/cwchar: Likewise.
	* include/tr1_impl/cstdint: Likewise.
	* include/tr1_impl/regex: Likewise.
	* include/tr1_impl/array: Likewise.
	* include/tr1_impl/cwctype: Likewise.

	* include/tr1/type_traitsfwd.h: Remove.
	* include/tr1/boost_shared_ptr.h: Likewise.
	* include/tr1/common.h: Likewise.
	* include/tr1/hashtable: Likewise.
	* include/tr1/hashtable_policy.h: Likewise.
	* include/tr1/random.tcc: Likewise.

	* include/c_global/cinttypes: Include tr1_impl/cinttypes.
	* include/c_global/cstdlib: Likewise for cstdlib.
	* include/c_global/cstdio: Likewise for cstdio.
	* include/c_global/cctype: Likewise for cctype.
	* include/c_global/cmath: Likewise for cmath.
	* include/c_global/cfenv: Likewise for cfenv.
	* include/c_global/cwchar: Likewise for cwchar.
	* include/c_global/cstdint: Likewise for cstdint.
	* include/c_global/cwctype: Likewise for cwctype.
	* include/tr1/cinttypes: Likewise for cinttypes.
	* include/tr1/cstdlib: Likewise for cstdlib.
	* include/tr1/cstdio: Likewise for cstdio.
	* include/tr1/cctype: Likewise for cctype.
	* include/tr1/cmath: Likewise for cmath.
	* include/tr1/cfenv: Likewise for cfenv.
	* include/tr1/cwchar: Likewise for cwchar.
	* include/tr1/cstdint: Likewise for cstdint.
	* include/tr1/cwctype: Likewise for cwctype.
	* include/tr1/functional_hash.h: Likewise for functional_hash.

	* include/std/tuple: Include tr1_impl/tuple.
	* include/std/utility: Likewise for utility.
	* include/std/type_traits: Likewise for type_traits.
	(is_pod): Just forward to __is_pod.
	(has_trivial_default_constructor): Just forward to
	__has_trivial_constructor.
	(has_trivial_copy_constructor): Just forward to __has_trivial_copy.
	(has_trivial_assign): Just forward to __has_trivial_assign.
	(has_trivial_destructor): Just forward to __has_trivial_destructor.
	(has_nothrow_default_constructor): Just forward to
	__has_nothrow_constructor.
	(has_nothrow_copy_constructor): Just forward to __has_nothrow_copy.
	(has_nothrow_assign): Just forward to __has_nothrow_assign.
	(is_base_of): Just forward to __is_base_of.
	(is_signed, is_unsigned): Implement according to the C++0x
	specifications.
	* include/std/memory: Likewise for memory.
	* include/std/regex: Likewise for regex.
	* include/std/random: Likewise for random.
	* include/std/unordered_map: Likewise for unordered_map.
	* include/std/unordered_set: Likewise for unordered_set.
	* include/std/functional: Likewise for functional.
	* include/std/complex: Likewise for complex.
	* include/std/array: Likewise for array.
	* include/tr1/tuple: Likewise for tuple.
	* include/tr1/utility: Likewise for utility.
	* include/tr1/type_traits: Likewise for type_traits
	* include/tr1/memory: Likewise for memory.
	* include/tr1/regex: Likewise for regex.
	* include/tr1/random: Likewise for random.
	* include/tr1/unordered_map: Likewise for unordered_map.
	* include/tr1/unordered_set: Likewise for unordered_set.
	* include/tr1/functional: Likewise for functional.
	* include/tr1/complex: Likewise for complex.
	* include/tr1/array: Likewise for array.

	* include/c_global/ctgmath: Tweak.
	* include/c_global/cstdarg: Likewise.
	* include/c_global/ctime: Likewise.
	* include/c_global/climits: Likewise.
	* include/c_global/cfloat: Likewise.	
	* include/c_global/ccomplex: Likewise.
	* include/c_global/cstdbool: Likewise.

	* include/tr1/poly_laguerre.tcc: Tweak, don't use _GLIBCXX_TR1.
	* include/tr1/riemann_zeta.tcc: Likewise.
	* include/tr1/beta_function.tcc: Likewise.
	* include/tr1/exp_integral.tcc: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/tr1/modified_bessel_func.tcc: Likewise.
	* include/tr1/legendre_function.tcc: Likewise.
	* include/tr1/special_function_util.h: Likewise.
	* include/tr1/bessel_function.tcc: Likewise.
	* include/tr1/poly_hermite.tcc: Likewise.
	* include/tr1/ell_integral.tcc: Likewise.
	* include/tr1/gamma.tcc: Likewise.
	* include/tr1/stdlib.h: Likewise.
	* include/tr1/math.h: Likewise.

	* include/tr1/complex.h: Minor tweaks.
	* include/tr1/wctype.h: Likewise.
	* include/tr1/wchar.h: Likewise.
	* include/tr1/inttypes.h: Likewise.
	* include/tr1/tgmath.h: Likewise.
	* include/tr1/cstdbool: Likewise.
	* include/tr1/cfloat: Likewise.
	* include/tr1/ccomplex: Likewise.
	* include/tr1/ctime: Likewise.
	* include/tr1/climits: Likewise.
	* include/tr1/ctgmath: Likewise.
	* include/tr1/cstdarg: Likewise.

	* testsuite/tr1/headers.cc: Move...
	* testsuite/tr1/headers/all.cc: ... here.
	* testsuite/tr1/using_namespace_std_tr1.cc: Move...
	* testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: ... here.
	* testsuite/tr1/headers/using_namespace_std_tr1.cc ... here.
	* testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: New.

	* testsuite/20_util/tuple/requirements/explicit_instantiation.cc:
	Adjust namespace.
	* testsuite/20_util/has_nothrow_copy_constructor/value.cc: Adjust to
	the C++0x requirements.
	* testsuite/20_util/has_nothrow_default_constructor/value.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise.

	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error lines.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
	Un-xfail.

	* testsuite/20_util/is_signed/value.cc: New.
	* testsuite/20_util/is_signed/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_signed/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_unsigned/value.cc: Likewise..
	* testsuite/20_util/is_unsigned/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc:
	Likewise.

	* include/Makefile.am: Adjust.	
	* include/Makefile.in: Regenerate.

From-SVN: r125244
2007-05-31 23:37:56 +00:00
Paolo Carlini 67a7356b32 2007-05-27 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h
	(_Sp_counted_base<_S_mutex>::_M_add_ref_lock()): Do not wrap in
	#ifdef __GTHREADS.

2007-05-27  Paolo Carlini  <pcarlini@suse.de>

	* include/c_global/cwchar: Do not include <ctime>.
	* include/c_std/cwchar: Likewise.
	* include/ext/throw_allocator.h: Do it here.

From-SVN: r125112
2007-05-27 14:50:21 +00:00
Benjamin Kosnik 95440e3ee0 cmath: Guard special math with __GXX_EXPERIMENTAL_CXX0X__.
2007-05-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1/cmath: Guard special math with
	__GXX_EXPERIMENTAL_CXX0X__.
	* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
	Remove xfail.

From-SVN: r124791
2007-05-17 11:37:27 +00:00
Paolo Carlini c1cd4e0958 type_traitsfwd.h: Fix include guard typo.
2007-05-13  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traitsfwd.h: Fix include guard typo.

From-SVN: r124652
2007-05-13 10:08:13 +00:00
Jason Merrill d05f74f16e re PR other/28145 (C++ (throw() and catch(...) {/* fall through */ } ) and pthread cancellation are incompatible (at least with NPTL))
PR c++/28145
        * libsupc++/cxxabi.h (__forced_unwind, __foreign_exception):
        New classes.
        * libsupc++/eh_exception.cc: Define their destructors.
        * config/abi/pre/gnu.ver: Export their type_infos.
        * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
        * libsupc++/eh_personality.cc: A handler for abi::__forced_unwind
        matches a forced unwind, and a handler for abi::__foreign_exception
        matches a foreign exception.

        * include/bits/istream.tcc: Rethrow forced unwind.
        * include/bits/ostream.tcc: Likewise.
        * include/bits/ostream_insert.h: Likewise.
        * include/bits/basic_string.tcc (operator>>, getline): Likewise.
        * include/bits/fstream.tcc (basic_filebuf::close): Likewise.
        * include/ext/vstring.cc (operator>>, getline): Likewise.
        * src/istream.cc: Likewise.
        * src/compatibility.cc (basic_istream::ignore): Likewise.
        * include/std/bitset (operator>>): Likewise.
        * include/std/fstream (basic_filebuf::close): Remove throw() spec.
        * libsupc++/cxxabi-internal.h: Split out from...
        * libsupc++/cxxabi.h: ...here.

From-SVN: r124517
2007-05-07 17:27:54 -04:00
Benjamin Kosnik 7b50cdeffb type_traits (enable_if): New.
2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/type_traits (enable_if): New.
	(conditional): New.
	(__decay_selector, decay): New.
	(__cv_selector, __match_cv_qualifiers): New.
	(__make_unsigned, __make_unsigned_selector, make_unsigned): New.
	(__make_signed, __make_signed_selector, make_signed): New.
	(has_trivial_constructor): ... to has_trivial_default_constructor.
	(has_nothrow_constructor): ... to has_nothrow_default_constructor.
	(has_trivial_copy): ... to has_trivial_copy_constructor.
	(has_nothrow_copy): ... to has_nothrow_copy_constructor.

	* include/tr1/type_traits_fwd: Move to...
	* include/tr1/type_traitsfwd: ... this, consistency with
	ios/string/locale forward headers.
	* include/tr1/type_traits: Adjust include.	
	* include/Makefile.am (tr1_headers): Change type_traits_fwd.h to
	type_traitsfwd.h.
	* include/Makefile.in: Regenerate.

	* testsuite/23_containers/tuple: Move...
	* testsuite/20_util/tuple:... here.

	* testsuite/20_util/conditional: New.
	* testsuite/20_util/conditional/requirements: Same.
	* testsuite/20_util/conditional/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/conditional/requirements/typedefs.cc: Same.
	* testsuite/20_util/decay: Same.
	* testsuite/20_util/decay/requirements: Same.
	* testsuite/20_util/decay/requirements/explicit_instantiation.cc: Same.
	* testsuite/20_util/decay/requirements/typedefs.cc: Same.
	* testsuite/20_util/enable_if: Same.
	* testsuite/20_util/enable_if/requirements: Same.
	* testsuite/20_util/enable_if/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/enable_if/requirements/typedefs.cc: Same.
	* testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/has_nothrow_copy_constructor: Same.
	* testsuite/20_util/has_nothrow_copy_constructor/requirements: Same.
	* testsuite/20_util/has_nothrow_copy_constructor/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/has_nothrow_copy_constructor/requirements/
	typedefs.cc: Same.
	* testsuite/20_util/has_nothrow_copy_constructor/value.cc: Same.
	* testsuite/20_util/has_nothrow_default_constructor: Same.
	* testsuite/20_util/has_nothrow_default_constructor/requirements: Same.
	* testsuite/20_util/has_nothrow_default_constructor/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/has_nothrow_default_constructor/requirements/
	typedefs.cc: Same.
	* testsuite/20_util/has_nothrow_default_constructor/value.cc: Same.
	* testsuite/20_util/has_trivial_copy_constructor: Same.
	* testsuite/20_util/has_trivial_copy_constructor/requirements: Same.
	* testsuite/20_util/has_trivial_copy_constructor/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/has_trivial_copy_constructor/requirements/
	typedefs.cc: Same.
	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Same.
	* testsuite/20_util/has_trivial_default_constructor: Same.
	* testsuite/20_util/has_trivial_default_constructor/requirements: Same.
	* testsuite/20_util/has_trivial_default_constructor/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/has_trivial_default_constructor/requirements/
	typedefs.cc: Same.
	* testsuite/20_util/has_trivial_default_constructor/value.cc: Same.
	* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Same.
	* testsuite/20_util/make_signed: Same.
	* testsuite/20_util/make_signed/requirements: Same.
	* testsuite/20_util/make_signed/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned: Same.
	* testsuite/20_util/make_unsigned/requirements: Same.
	* testsuite/20_util/make_unsigned/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.

From-SVN: r124374
2007-05-03 11:49:12 +00:00
Paolo Carlini 6a7508ec12 type_traits (is_pod): Use __is_pod.
2007-04-30  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_pod): Use __is_pod.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_destructor/has_trivial_destructor.cc: Adjust.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_constructor/has_trivial_constructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_pod/is_pod.cc: Likewise.

From-SVN: r124294
2007-04-30 10:27:31 +00:00
Paolo Carlini 4c9be80604 functional: Formatting fixes.
2007-04-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional: Formatting fixes.

From-SVN: r124041
2007-04-22 11:12:18 +00:00
Paolo Carlini 87a2085661 concurrence.h: Do not include <cstdlib>, use __builtin_abort.
2007-04-22  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/concurrence.h: Do not include <cstdlib>, use
	__builtin_abort.
	* include/debug/debug.h: Likewise.
	* include/tr1/memory: Likewise.
	* include/tr1/boost_shared_ptr.h: Likewise.
	* include/tr1/functional: Likewise.

From-SVN: r124040
2007-04-22 10:36:04 +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 d81db5b091 cmath: Include <bits/stl_algobase.h> instead of the whole <algorithm>.
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/cmath: Include <bits/stl_algobase.h> instead of
	the whole <algorithm>.

From-SVN: r123696
2007-04-10 15:54:46 +00:00
Paolo Carlini 05beb8e720 type_traits (__is_function_helper): New, uses variadic templates.
2007-04-10  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (__is_function_helper): New, uses
	variadic templates.
	(is_function): Forward to the latter.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_function/is_function.cc: Add test.

From-SVN: r123695
2007-04-10 15:12:54 +00:00
Paolo Carlini 22931aa4a9 type_traits_fwd.h (__is_union_or_class): Remove.
2007-04-09  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits_fwd.h (__is_union_or_class): Remove.
	* include/tr1/type_traits (struct __in_array,
	struct __is_union_or_class, struct __is_union_or_class_helper,
	struct __is_empty_helper, struct __is_polymorphic_helper):
	Remove.
	(struct is_enum): Use __is_enum.
	(struct is_union): Use __is_union.
	(struct is_class): Use __is_class.
	(struct is_function): Adjust.
	(struct is_empty): Use __is_empty.
	(struct is_polymorphic): Use __is_polymorphic.
	(struct is_abstract): Use __is_abstract.
	(struct has_virtual_destructor): Use __has_virtual_destructor.
	(struct __is_base_of_helper): Use __is_base_of.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_union_or_class/typedefs.cc: Remove.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_union_or_class/is_union_or_class.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_class/typedefs.cc: New.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_class/is_class.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_union/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_union/is_union.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_virtual_destructor/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_virtual_destructor/has_virtual_destructor.cc: Likewise.
	* testsuite/util/testsuite_tr1.h (class VirtualDestructorClass): Add.
	* testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
	is_polymorphic.cc: Add test.

From-SVN: r123675
2007-04-09 17:07:37 +00:00
Paolo Carlini b3726dabf3 type_traits.h (__numeric_traits): Move...
2007-04-06  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/type_traits.h (__numeric_traits): Move...
	* include/ext/numeric_traits.h: ... here.
	* include/Makefile.am: Add.
	* include/ext/pb_ds/detail/type_utils.hpp: Include 
	<ext/numeric_traits.h> too.
	* include/tr1/random: Likewise.
	* testsuite/ext/type_traits/numeric_traits.cc: Move...
	* testsuite/ext/numeric_traits/numeric_traits.cc: ... here.
	* include/Makefile.in: Regenerate.

From-SVN: r123618
2007-04-06 14:52:27 +00:00
Andreas Tobler df848e82e3 poly_laguerre.tcc: Missing s/__alpha/__alpha1, line 278.
2007-04-01  Andreas Tobler  <a.tobler@schweiz.org>

	* include/tr1/poly_laguerre.tcc: Missing s/__alpha/__alpha1, line 278.

From-SVN: r123410
2007-04-01 23:03:42 +02:00
Richard Henderson f070285a7b poly_laguerre.tcc: s/__alpha/__alpha1/g.
* include/tr1/poly_laguerre.tcc: s/__alpha/__alpha1/g.
        * include/tr1/ell_integral.tcc: Likewise.

From-SVN: r123407
2007-04-01 11:28:16 -07:00
Benjamin Kosnik 5ad2f32df6 complex.h: Without __GXX_EXPERIMENTAL_CXX0X__ include_next complex.h.
2007-03-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_compatibility/complex.h: Without
	__GXX_EXPERIMENTAL_CXX0X__ include_next complex.h.	
	* include/c_compatibility/fenv.h: Same.
	* include/c_compatibility/inttypes.h: Same.
	* include/c_compatibility/stdbool.h: Same.
	* include/c_compatibility/stdint.h: Same.
	* include/c_compatibility/tgmath.h: Same.

	* include/tr1/cinttypes: Use include_next.
	* include/tr1/cstdint: Same.
	* include/tr1/cstdbool: Same.

	* acinclude.m4 (GLIBCXX_ENABLE_C99): Add check for tgmath.h
	* configure: Regenerate.
	* config.h.in: Same.

From-SVN: r123214
2007-03-26 10:41:41 +00:00
Paolo Carlini cdbd119b94 functional: Formatting fixes.
2007-03-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional: Formatting fixes.

From-SVN: r123199
2007-03-25 16:29:15 +00:00
Benjamin Kosnik 803f183a94 functions_std.cc: Without C99 support, _GLIBCXX_USE_WCHAR_T not defined, so dg-require-c-std.
2007-03-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/21_strings/headers/cstdlib/functions_std.cc: Without
	C99 support, _GLIBCXX_USE_WCHAR_T not defined, so
	dg-require-c-std.
	* testsuite/tr1/6_containers/headers/functional/synopsis.cc: Same.
	* testsuite/27_io/headers/iostream/synopsis.cc: Same.
	* testsuite/27_io/headers/streambuf/types_std.cc: Same.
	* testsuite/27_io/headers/sstream/types_std.cc: Same.
	* testsuite/27_io/headers/ostream/types_std.cc: Same.
	* testsuite/27_io/headers/istream/types_std.cc: Same.
	* testsuite/27_io/headers/iostream/types_std.cc: Same.
	* testsuite/27_io/headers/fstream/types_std.cc: Same.
	* testsuite/21_strings/headers/string/types_std.cc: Same.
	* testsuite/21_strings/headers/cwctype/functions_std.cc: Same.
	* testsuite/21_strings/headers/cwctype/types_std.cc: Same.
	* testsuite/21_strings/headers/cwchar/functions_std.cc: Same.
	* testsuite/21_strings/headers/cwchar/types_std.cc: Same.
	
	* include/Makefile.am (c_compatibility_headers): Add fenv.h.
	* include/Makefile.in: Regenerate.
	* configure.host: Update comment.

From-SVN: r123130
2007-03-22 16:43:41 +00:00
Paolo Carlini b5e5ca5fd3 tuple (get(_Tuple_impl<>&, get(const _Tuple_impl<>&): Rename as __get_helper.
2007-03-19  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/tuple (get(_Tuple_impl<>&, get(const _Tuple_impl<>&):
	Rename as __get_helper.
	(get(tuple<>&, get(const tuple<>&)): Forward to the latter.

From-SVN: r123063
2007-03-19 16:58:54 +00:00
Benjamin Kosnik 7c62b943ba [multiple changes]
2007-03-16  Benjamin Kosnik  <bkoz@redhat.com>
	
	* testsuite/lib/dg-options.exp (dg-require-c-std): New.
	* testsuite/lib/libstdc++.exp (check_v3_target_c_std): New. Check to
	see if _GLIBCXX_USE_C99_MATH is active. 
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/check_nan.cc: Use dg-require-c-std.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	17_hyperg/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	13_ellint_2/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	16_hermite/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	12_ellint_1/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	18_laguerre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	14_ellint_3/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	19_legendre/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	03_beta/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	15_expint/check_nan.cc: Same.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/check_nan.cc: Same.

	* include/tr1/poly_laguerre.tcc (__poly_laguerre): Don't check if
	unsigned int can be a NaN.

2007-03-16  Edward M. Smith-Rowland  <3dw4rd@verizon.net>

	* docs/html/ext/tr1.html : Marked tr1 math special functions done.
	* docs/html/faq/index.html : Ditto.
	* include/Makefile.in : Added new special function header files.
	* include/Makefile.am : Ditto.	
	* include/tr1/common.h : Added type promotion routines for three
	and four args.

	* include/tr1/special_function_util.h: New.
	* include/tr1/bessel_function.tcc: New.
	* include/tr1/beta_function.tcc: New.
	* include/tr1/ell_integral.tcc: New.
	* include/tr1/exp_integral.tcc: New.
	* include/tr1/gamma.tcc: New.
	* include/tr1/hypergeometric.tcc: New.
	* include/tr1/legendre_function.tcc: New.
	* include/tr1/modified_bessel_func.tcc: New.
	* include/tr1/poly_hermite.tcc: New.
	* include/tr1/poly_laguerre.tcc: New.
	* include/tr1/riemann_zeta.tcc: New.
	* include/tr1/cmath : Included tr1 math special functions.
	* include/tr1/math.h : Ditto.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	testcase.h: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/03_beta/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/03_beta/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/03_beta/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/03_beta/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	check_value_neg.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
	check_value_pos.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/
	compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/
	check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/
	check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/
	compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_value_neg.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_value_pos.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/compile_2.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/compile.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/check_nan.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/check_value.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/ compile_2.cc: New.

From-SVN: r122986
2007-03-16 10:35:16 +00:00
Paolo Carlini d265b0b1c2 tuple: Only include <utility> for std::pair, and forward declare reference_wrapper...
2007-03-13  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/tuple: Only include <utility> for std::pair, and
	forward declare reference_wrapper; formatting fixes.
	* include/tr1/ref_fwd.h: Remove.
	* include/tr1/tuple_defs.h: Remove, unused.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.
	* testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
	Include <tr1/functional> too.

	* include/tr1/tuple: Define tuple_size<tuple<_Elements...> >::value.

From-SVN: r122883
2007-03-13 20:02:59 +00:00
Stephen M. Webb a21856f76b regex: Add "boilerplate" implementations.
2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>

	* include/tr1/regex: Add "boilerplate" implementations.
	* testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
	translate_nocase.cc: New.
	* testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
	ctor.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex_traits/char/
	translate_nocase.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex_traits/char/
	ctor.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_ecma.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	default.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_grep.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_extended.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_basic.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_awk.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_egrep.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	string_op.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	string.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	pstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	cstring_op.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
	cstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	string_op.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	string.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	pstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	cstring_op.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
	cstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	default.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	string.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	pstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	cstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	range.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	default.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	string.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	pstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	cstring.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/match_results/ctors/char/
	default.cc: Likewise.

From-SVN: r122867
2007-03-12 21:57:51 +00:00
Paolo Carlini 91b0b94a04 stl_algo.h (swap_ranges): Move...
2007-03-12  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (swap_ranges): Move...
	* include/bits/stl_algobase.h: ... here.
	* include/tr1/array: Trim includes, stl_algobase.h is enough.

From-SVN: r122840
2007-03-12 13:59:50 +00:00
Paolo Carlini b2c50382fb PR libstdc++/28080 (partial)
2007-03-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/std/memory: Move C++03 implementation...
	* include/bits/stl_memory.h: ... here, new.
	* include/Makefile.am: Add.
	* include/bits/stl_tempbuf.h: Include the latter instead.
	* include/tr1/hashtable: Include allocator.h instead of
	the whole <memory>.
	* include/tr1/hashtable_policy.h: Include stl_function.h
	instead of <functional>.
	* include/Makefile.in: Regenerate.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust dg-error
	line numbers.

From-SVN: r122805
2007-03-10 20:29:45 +00:00
Douglas Gregor 9eeea7612d Makefile.in: Regenerate.
2007-03-09  Douglas Gregor  <doug.gregor@gmail.com>

	* include/Makefile.in: Regenerate.
	* include/tr1/mu_iterate.h: Remove.
	* include/tr1/tuple (_Tuple_impl): New.
	(tuple): Make variadic, re-implement as shell over _Tuple_impl.
	(0-element tuple): Basis case.
	(2-element tuple): Handle pair methods.
	(__get_helper): Remove.
	(tuple_element): Reimplement with variadic templates.
	(tuple_size): Ditto.
	(get): Ditto.
	(operator==): Use variadic templates in the signature.
	(operator<): Ditto.
	(operator!=): Ditto.
	(operator>): Ditto.
	(operator<=): Ditto.
	(operator>=): Ditto.
	(__stripped_tuple_type): Remove; we've inlined its behavior.
	(make_tuple): Reimplement with variadic templates.
	(tie): Ditto.
	* include/tr1/tuple_iterate.h: Remove.
	* include/tr1/bind_repeat.h: Remove.
	* include/tr1/ref_wrap_iterate.h: Remove.
	* include/tr1/bind_iterate.h: Remove.
	* include/tr1/functional (_Weak_result_type): Add variadic
	partial specializations.
	(result_of): Ditto.
	(__invoke): Reimplement using variadic templates.
	(reference_wrapper): Reimplement operator() with variadic
	templates.
	(_Maybe_unary_or_binary_function): New.
	(_Mem_fn): Implement for member function pointers using variadic
	templates.
	(placeholders): Define 30 placeholders.
	(_Index_tuple): New.
	(_Build_index_tuple): New.
	(_No_tuple_element): New.
	(_Safe_tuple_element_impl): New.
	(_Safe_tuple_element): New.
	(_Mu): Reimplement with variadic templates, use
	_Safe_tuple_element instead of tuple_element.
	(_Bind): Reimplement with variadic templates and tuples.
	(_Bind_result): Ditto.
	(bind): Reimplement with variadic templates.
	(_Function_handler): Ditto.
	(function): Ditto.
	* include/tr1/functional_iterate.h: Remove.
	* include/tr1/repeat.h: Remove.
	* include/Makefile.am: Don't install removed headers.

From-SVN: r122790
2007-03-10 02:04:13 +00:00
Paolo Carlini 4ba851b58b PR libstdc++/28080 (partial)
2007-03-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <cstdlib>.
	* src/localename.cc: Do it here.
	* src/ctype.cc: Likewise.
	* include/ext/pb_ds/detail/map_debug_base.hpp: Likewise.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/pb_ds/list_update_policy.hpp: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/tr1/random: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_abi_check.cc: Likewise.
	* testsuite/util/testsuite_abi.cc: Likewise.
	* testsuite/util/performance/assoc/timing/
	tree_order_statistics_test.hpp: Likewise.
	* config/locale/darwin/ctype_members.cc: Likewise.
	* config/locale/gnu/c++locale_internal.h: Likewise.
	* config/locale/generic/ctype_members.cc: Likewise.
	* config/locale/generic/time_members.cc: Likewise.

	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Qualify abort.
	* testsuite/util/performance/assoc/timing/
	multimap_find_test.hpp: Likewise.
	* include/std/valarray: Do include <cstdlib>.
	* include/tr1/hashtable: Likewise.

From-SVN: r122628
2007-03-06 17:43:27 +00:00
Benjamin Kosnik af13a7a6ec acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
	* configure.host (c_model): Set default to c_global.
	* configure: Regenerate.
	* include/Makefile.am (c_compatibility_headers_extra): Make
	conditional on GLIBCXX_C_HEADERS_COMPATIBILITY.
	(c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA.
	(c_compatibility_headers): Make conditional on c/c_std/c_global.
	* include/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add c_global information to
	--enable-cheaders. Eventually, "c_std" should mean "C" includes
	that are in namespace std, with optional C++ "C" compatibility
	includes to inject into global scope. And "c_global" should mean
	"C" includes that are in the global namespace, with C++ includes
	injecting into namespace std and no C++ "C" compatibility
	includes.
 
2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Add _GLIBCXX_NAMEPACE_C.
	Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x.
	Add _GLIBCXX_TR1 as namespace macro.
	Add namespace associations for std::__cxx200x conditionally.

	* include/c_compatibility/assert.h: Correct doxygen markup,
	conditionalize the global injections on _GLIBCXX_NAMESPACE_C.
	* include/c_compatibility/ctype.h: Same.
	* include/c_compatibility/errno.h: Same.
	* include/c_compatibility/float.h: Same.
	* include/c_compatibility/iso646.h: Same.
	* include/c_compatibility/limits.h: Same.
	* include/c_compatibility/locale.h: Same.
	* include/c_compatibility/math.h: Same.
	* include/c_compatibility/setjmp.h: Same.
	* include/c_compatibility/signal.h: Same.
	* include/c_compatibility/stdarg.h: Same.
	* include/c_compatibility/stddef.h: Same.
	* include/c_compatibility/stdio.h: Same.
	* include/c_compatibility/stdlib.h: Same.
	* include/c_compatibility/string.h: Same.
	* include/c_compatibility/time.h: Same.
	* include/c_compatibility/wchar.h: Same.
	* include/c_compatibility/wctype.h: Same.

	* include/c_compatibility/complex.h: Add.
	* include/c_compatibility/fenv.h: Same.
	* include/c_compatibility/inttypes.h: Same.
	* include/c_compatibility/stdbool.h: Same.
	* include/c_compatibility/stdint.h: Same.
	* include/c_compatibility/tgmath.h: Same.

	* include/c_global/cassert: Add, use include_next, use C++0x features
	if -std=c++0x.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/climits: Same.
	* include/c_global/clocale: Same.
	* include/c_global/cmath: Same.
	* include/c_global/cmath.tcc: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/csignal: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstring: Same.
	* include/c_global/ctime: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cwctype: Same.

	* include/c_global/ccomplex: Add.
	* include/c_global/cfenv: Add.
	* include/c_global/cinttypes: Add. 
	* include/c_global/cstdbool: Add.
	* include/c_global/cstdint: Add.
	* include/c_global/ctgmath: Add.

	* include/std/algorithm: Use C++0x features if -std=c++0x.	
	* include/std/bitset: Same.
	* include/std/complex: Same.
	* include/std/deque: Same.
	* include/std/fstream: Same.
	* include/std/functional: Same.
	* include/std/iomanip: Same.
	* include/std/ios: Same.
	* include/std/iosfwd: Same.
	* include/std/iostream: Same.
	* include/std/istream: Same.
	* include/std/iterator: Same.
	* include/std/limits: Same.
	* include/std/list: Same.
	* include/std/locale: Same.
	* include/std/map: Same.
	* include/std/memory: Same.
	* include/std/numeric: Same.
	* include/std/ostream: Same.
	* include/std/queue: Same.
	* include/std/set: Same.
	* include/std/sstream: Same.
	* include/std/stack: Same.
	* include/std/stdexcept: Same.
	* include/std/streambuf: Same.
	* include/std/string: Same.
	* include/std/utility: Same.
	* include/std/valarray: Same.
	* include/std/vector: Same.

	* include/std/array: Add.
	* include/std/random: Add.
	* include/std/regex: Add.
	* include/std/tuple: Add.
	* include/std/type_traits: Add.
	* include/std/unordered_map: Add.
	* include/std/unordered_set: Add.
	* include/std/c++0x_warning.h: Add.
	
	* include/tr1/array: Switch namespaces based on _GLIBCXX_TR1.
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/cctype: Same.
	* include/tr1/cfenv: Same.
	* include/tr1/cinttypes: Same.
	* include/tr1/cmath: Same.
	* include/tr1/common.h: Same.
	* include/tr1/complex: Same.
	* include/tr1/cstdint: Same.
	* include/tr1/cstdio: Same.
	* include/tr1/cstdlib: Same.
	* include/tr1/cwchar: Same.
	* include/tr1/cwctype: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_hash.h: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/math.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/repeat.h: Same.
	* include/tr1/stdlib.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/unordered_map: Same.
	* include/tr1/unordered_set: Same.
	* include/tr1/utility: Same.

	* include/tr1/ccomplex: Add.
	* include/tr1/complex.h: Add.
	* include/tr1/regex: Add.

	* include/Makefile.am: Add C++0x headers, "C" compatibility headers.
	* include/Makefile.in: Regenerate.

	* testsuite/tr1/headers.cc: Add in regex/complex.

	* testsuite/17_intro/headers/c++200x/all.cc: New.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same.
	* testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same.
	* testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same.
	* testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same.
	* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same.
	* testsuite/20_util/enable_shared_from_this/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/headers/functional/types_std_c++0x.cc: Same.
	* testsuite/20_util/headers/functional/
	using_namespace_std_placeholders.cc: Same.
	* testsuite/20_util/headers/memory/types_std_c++0x.cc: Same.
	* testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same.
	* testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same.
	* testsuite/20_util/shared_ptr/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/weak_ptr/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/hash/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same.
	* testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/tuple/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same.
	* testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same.
	* testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same.
	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same.

	* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ...
	* testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cmath/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this.
	* testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same.

From-SVN: r122533
2007-03-04 22:59:49 +00:00
Paolo Carlini 1769232d26 re PR libstdc++/28080 (header dependencies)
2007-03-02  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/thread/pthread1.cc: Include <pthread.h>.
	* testsuite/thread/pthread2.cc: Likewise.
	* testsuite/thread/pthread3.cc: Likewise.
	* testsuite/thread/pthread4.cc: Likewise.
	* testsuite/thread/pthread5.cc: Likewise.
	* testsuite/thread/pthread6.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.

2007-03-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/random (class random_device): Rework to use simple
	<cstdio> input, do not include <fstream>.
	* include/tr1/random.tcc (all inserters and extractors): Refer
	to ios_base as base class of basic_istream or basic_ostream.

From-SVN: r122478
2007-03-02 16:21:30 +00:00
Paolo Carlini c0c424e4ab re PR libstdc++/25896 ([DR 526] hash_map::erase, unordered_map::erase fail if key is inside the table)
2007-02-23  Paolo Carlini  <pcarlini@suse.de>
	
	PR libstdc++/25896
	* include/tr1/hashtable (_Hashtable<>::erase(const key_type&)):
	Take care of &_M_extract((*__slot)->_M_v) == &__k.

	* testsuite/tr1/6_containers/unordered_map/erase/1.cc: New.
	* testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.

From-SVN: r122276
2007-02-23 23:34:18 +00:00
Paolo Carlini 5992e39919 unordered_map (class __unordered_map, [...]): New.
2007-02-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/unordered_map (class __unordered_map,
	class __unordered_multimap): New.
	(class unordered_map, class unordered_multimap): Forward to
	the latter.
	* include/tr1/unordered_set: Likewise for unordered_set and
	unordered_multiset.
	* testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc:
	Remove xfail.
	* testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Adjust.
	* testsuite/tr1/6_containers/unordered_set/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
	* testsuite/util/native_type/assoc/native_hash_set.hpp: Likewise.
	* testsuite/util/native_type/assoc/native_hash_map.hpp: Likewise.

From-SVN: r122223
2007-02-22 09:52:37 +00:00
Paolo Carlini 41e56bf7d6 PR libstdc++/28080 (partial)
2007-02-20  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/functional: Split out hash bits to...
	* include/tr1/functional_hash.h: ...here.
	* include/Makefile.am: Add.
	* include/tr1/unordered_set: Include the latter instead.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/random: Do not include the whole <algorithm>,
	stl_algobase.h is enough.
	* include/tr1/memory: Likewise.
	* include/Makefile.in: Regenerate.

	* include/tr1/utility (get(std::pair<>&), get(const std::pair<>&)):
	Mark inline.

From-SVN: r122175
2007-02-20 21:22:35 +00:00
Paolo Carlini f56fe8ff92 PR libstdc++/28080 (partial)
2007-02-18  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <climits>, use
	std::numeric_limits.
	* include/bits/stl_bvector.h: Use __CHAR_BIT__.
	* config/locale/gnu/codecvt_members.cc: Include <climits>.
	* config/locale/generic/codecvt_members.cc: Likewise.
	* include/std/string: Do not include <algorithm>; do not include
	<memory>, include <bits/allocator.h> instead.
	* include/ext/vstring_fwd.h: Likewise.
	* include/ext/vstring_util.h: Do not include <algorithm>.
	* include/tr1/hashtable_policy.h: Include <algorithm>.
	* testsuite/21_strings/basic_string/replace/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Likewise.
	* testsuite/23_containers/bitset/cons/1.cc: Likewise.
	* testsuite/util/testsuite_character.h: Likewise.

	* config/locale/gnu/codecvt_members.cc: Also include <cstdlib>,
	for MB_CUR_MAX.
	* config/locale/generic/codecvt_members.cc: Likewise.

From-SVN: r122089
2007-02-18 11:32:44 +00:00