Commit Graph

3631 Commits

Author SHA1 Message Date
Paolo Carlini
a5d137be06 [multiple changes]
2008-12-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/cmath: Undef requof / remquol too; add using
	declarations.
	* acinclude.m4 [GLIBCXX_CHECK_C99_TR1]: Check remquof / remquol too.
	* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Adjust.
	* configure: Regenerate.

2008-12-08  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/forward_list.h: Fixed spurious "forward_swap" in doxy.

From-SVN: r142548
2008-12-08 11:51:32 +00:00
Paolo Carlini
22493a73d5 re PR libstdc++/38421 (libstdc++-v3/include/tr1/ell_integral.tcc contains __ea identifier)
2008-12-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38421
	* include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
	* doc/xml/manual/appendix_contributing.xml: Add __ea to the list
	of badnames.

From-SVN: r142519
2008-12-06 10:25:24 +00:00
Tom Tromey
b72b814f80 * include/tr1_impl/functional (_Mu): Fix typo.
From-SVN: r142507
2008-12-05 23:42:11 +00:00
Paolo Carlini
015daa3a7b re PR libstdc++/38399 (money_get<> read decimal point when frac_digits() <= 0)
2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38399
	* include/bits/locale_facets_nonio.tcc (money_get<>::
	_M_extract(iter_type, iter_type, ios_base&, ios_base::iostate&,
	string&)): Fix, reject decimal point when frac_digits <= 0.
	* testsuite/22_locale/money_get/get/char/38399.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/5.cc: Adjust.
	* testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.

From-SVN: r142487
2008-12-05 18:23:39 +00:00
Benjamin Kosnik
a40fff0edb re PR libstdc++/38080 (dead links in libstdc++ headers)
2008-12-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/38080
	* include/std/iostream: Correct URL.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_relops.h: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Ditto.

From-SVN: r142344
2008-12-02 04:55:54 +00:00
Paolo Carlini
c32f57c054 PR libstdc++/38244 (cont, debug bits)
2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38244 (cont, debug bits)
	* include/debug/bitset (bitset<>::bitset(const char*, char, char)):
	Remove, do not implement DR 778.

From-SVN: r142153
2008-11-24 11:19:39 +00:00
Paolo Carlini
9daf8216f4 re PR libstdc++/38244 (bitset initialization from 0 rejected.)
2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38244
	* include/std/bitset (bitset<>::bitset(const char*, char, char)):
	Remove, do not implement DR 778.
	* doc/xml/manual/intro.xml: Remove entry for DR 778.
	* testsuite/23_containers/bitset/cons/2.cc: Remove.
	* testsuite/23_containers/bitset/cons/dr396.cc: Tweak.
	* testsuite/23_containers/bitset/cons/38244.cc: Add.

From-SVN: r142152
2008-11-24 11:13:44 +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
43db6c722a cinttypes: Remove redundant pragma system_header.
2008-11-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/cinttypes: Remove redundant pragma system_header.
	* include/tr1_impl/cfenv: Likewise.
	* include/tr1_impl/cstdint: Likewise.

From-SVN: r141968
2008-11-18 17:27:10 +00:00
Paolo Carlini
ddbfe947b3 re PR libstdc++/38000 (System header files not found once -isystem /usr/include is used)
2008-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38000
	* include/c_global/csignal: Do not use include_next.
	* include/c_global/cstdlib: Likewise.
	* include/c_global/cstdio: Likewise.
	* include/c_global/cstdarg: Likewise.
	* include/c_global/cctype: Likewise.
	* include/c_global/cerrno: Likewise.
	* include/c_global/cmath: Likewise.
	* include/c_global/clocale: Likewise.
	* include/c_global/climits: Likewise.
	* include/c_global/cassert: Likewise.
	* include/c_global/csetjmp: Likewise.
	* include/c_global/cwchar: Likewise.
	* include/c_global/cfloat: Likewise.
	* include/c_global/cstdbool: Likewise.
	* include/c_global/cstring: Likewise.
	* include/c_global/cstddef: Likewise.
	* include/c_global/cwctype: Likewise.
	* include/tr1/cstdbool: Likewise.
	* include/tr1_impl/cinttypes: Do not include <inttypes.h>.
	* include/c_global/cinttypes: Do it here.
	* include/tr1/cinttypes: Likewise.
	* include/tr1_impl/cfenv: Do not include <fenv.h>.
	* include/c_global/cfenv: Do it here.
	* include/tr1/cfenv: Likewise.
	* include/tr1_impl/cstdint: Do not include <stdint.h>.
	* include/c_global/cstdint: Do it here.
	* include/tr1/cstdint: Likewise.
	* include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
	* include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
	* include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.

	* include/c_compatibility/math.h: Minor tweak, add comment.

From-SVN: r141812
2008-11-13 00:06:55 +00:00
Paolo Carlini
085b55410d PR libstdc++/37986 (cont)
2008-11-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37986 (cont)
	* include/tr1_impl/random (struct _Adaptor): Use only remove_reference
	on _Engine.
	(struct _Adaptor<_Engine*, _Distribution>): Add.
	* testsuite/tr1/5_numerical_facilities/random/variate_generator/
	37986.cc: Extend.

From-SVN: r141784
2008-11-12 09:59:27 +00:00
Paolo Carlini
285743c92b re PR libstdc++/37986 (std::tr1::variate_generator does not conform to TR1.)
2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37986
	* include/tr1_impl/random (struct _Adaptor): Use remove_pointer
	and remove_reference on _Engine.
	* testsuite/tr1/5_numerical_facilities/random/variate_generator/
	37986.cc: New.

From-SVN: r141769
2008-11-11 14:31:48 +00:00
Bob Walters
1b32e4e506 forward_list.h: Support non-standard pointer types
2008-11-11  Bob Walters  <bob.s.walters@gmail.com>

	* include/bits/forward_list.h: Support non-standard pointer types
	(_Fwd_list_node_base): Add _Alloc template parameter.
	(_Fwd_list_node<>): Likewise.
	(_Fwd_list_iterator<>): Likewise.
	(_Fwd_list_const_iterator<>): Likewise.
	(_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after): 
	Use _Alloc<_Tp>::pointer.
	(_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
	(_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node, 
	_M_insert_after, _M_put_node, _M_erase_after): Likewise.
	(_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
	(forward_list<>): Use __static_pointer_cast in place of static_cast,
	and __const_pointer_cast in place of const_cast.
	* include/bits/forward_list.tcc
	(_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place 
	of standard pointers, __static_pointer_cast in place of static_cast.
	(_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
	Likewise.
	(forward_list<>::_M_initialize_dispatch, _M_fill_initialize, 
	splice_after, remove, remove_if, merge): Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/1.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/2.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/3.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/4.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/5.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/6.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/7.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.

From-SVN: r141765
2008-11-11 12:16:57 +00:00
Paolo Carlini
8d8a4e9d3d extptr_allocator.h: Minor tweaks.
2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/extptr_allocator.h: Minor tweaks.
	* include/ext/pointer.h: Likewise.
	* include/ext/cast.h: Likewise.

From-SVN: r141764
2008-11-11 12:15:59 +00:00
Paolo Carlini
b5b3f66baa 2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r141677
2008-11-07 15:44:35 +00:00
Paolo Carlini
8d200e06a4 2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r141676
2008-11-07 15:44:20 +00:00
Paolo Carlini
9f4a439439 2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r141675
2008-11-07 15:43:57 +00:00
Bob Walters
b74318f12b pointer.h: Add experimental support for non-standard pointer types in containers via the...
2008-11-07  Bob Walters  <bob.s.walters@gmail.com>

	* include/ext/pointer.h: Add experimental support for non-standard
	pointer types in containers via the allocator::pointer typedef.
	(Currently only supported/working with std::vector)
	* include/ext/cast.h: Add overload-able pointer casting functions
	for use in containers supporting non-standard pointer types.
	* include/ext/extptr_allocator.h: Add _ExtPtr_allocator.
	* include/Makefile.am: Update.
	* include/precompiled/extc++.h: Likewise.
	* include/Makefile.in: Regenerate.
	* testsuite/ext/ext_pointer/1.cc: New.
	* testsuite/ext/ext_pointer/1_neg.cc: Likewise.	
	* testsuite/23_containers/vector/ext_pointer/citerators.cc: New.
	* testsuite/23_containers/vector/ext_pointer/data_access.cc: Likewise.
	* testsuite/23_containers/vector/ext_pointer/resize.cc: Likewise.
	* testsuite/23_containers/vector/ext_pointer/types/1.cc: Likewise.
	* testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
	Likewise.
	* testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc:
	Likewise.
	* testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc:
	Likewise.
	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
	1.cc: Likewise.
	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
	3.cc: Likewise.

From-SVN: r141674
2008-11-07 15:26:25 +00:00
Jonathan Wakely
8e66def0a1 re PR libstdc++/38017 (30_threads/thread/cons/X.cc)
PR libstdc++/38017
	Revert:
	* include/tr1_impl/functional (result_of,reference_wrapper): Update
	to use C++0x features.
	* testsuite/20_util/function_objects/return_types/result_of.cc: New.
	* testsuite/20_util/function_objects/return_types/result_of_neg.cc:
	New.
	* testsuite/20_util/function_objects/return_types/result_of_ref.cc:
	New.
	* testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.

From-SVN: r141602
2008-11-05 09:36:35 +00:00
Jonathan Wakely
a28a65ec25 re PR libstdc++/24803 ([c++0x] reference_wrapper and pointers to member functions)
PR libstdc++/24803
	PR libstdc++/37351
	* include/tr1_impl/functional (result_of,reference_wrapper): Update
	to use C++0x features.
	* testsuite/20_util/function_objects/return_types/result_of.cc: New.
	* testsuite/20_util/function_objects/return_types/result_of_neg.cc:
	New.
	* testsuite/20_util/function_objects/return_types/result_of_ref.cc:
	New.
	* testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.

From-SVN: r141596
2008-11-05 02:05:59 +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
Jonathan Wakely
8dd5e93af6 shared_ptr.h: Update comparisons to match WP.
2008-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>

        * include/bits/shared_ptr.h: Update comparisons to match WP.
        (_Sp_counted_ptr): Make copy and assignment members deleted.
        (_Sp_counted_deleter): Remove private copy and assignment members.
        (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
        friend operator< with overloaded _M_less member functions to allow
        comparison with either shared_count or weak_count.
        (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
        (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
        for ownership-based ordering.
        (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
        make non-friend.
        (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
        (operator!=(__shared_ptr,__shared_ptr)): Likewise.
        (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
        pointer specialization.
        (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
        weak_ptr::operator>=): Remove operator< and delete all comparisons.
        (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
        (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
        (operator==(shared_ptr,shared_ptr): Likewise.
        (operator!=(shared_ptr,shared_ptr): Likewise.
        (swap(shared_ptr,shared_ptr)): Fix parameter types.
        (swap(weak_ptr,weak_ptr)): Add missing overload.
        * testsuite/20_util/owner_less/cmp.cc: New.
        * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
        * testsuite/20_util/shared_ptr/comparison/less.cc: New.
        * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
        * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
        * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.

From-SVN: r141512
2008-11-01 11:29:06 +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
8f0f2a1dfd re PR libstdc++/37919 ([c++0x] GCC 4.4 regression r141214 of gcc c++0x stl_pair.c causes a boost 1.36 compilation to fail)
2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37919
	Revert:
	2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>

	* include/bits/stl_pair.h (__may_be_null_pointer_init): New.
	(pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
	Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
	Remove the old variadic constructor, and instead provide several
	variadic constructors that avoid failing when attempting to
	initialize a pointer from a null pointer constant.
	* testsuite/20_util/pair/moveable.cc (test3): Add new tests with
	initialization of pointers from the null pointer constant.

From-SVN: r141388
2008-10-27 16:50:23 +00:00
Paolo Carlini
83b83ae97a re PR libstdc++/37522 (Incorrect vswprintf prototype breaks __to_xstring)
2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r141382
2008-10-27 15:01:28 +00:00
Chris Fairles
92010a793b system_error (is_error_code_enum): Specialize for errc.
2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/system_error (is_error_code_enum): Specialize for errc.
        (error_category::error_category): Defaulted and protected.
        (error_category::~error_category): New, virtual.
        (error_category::error_category(const error_category&),
        error_category::operator=(const error_category&)): Deleted.
        (get_system_category, get_posix_category): Remove (DR 890).
        (system_category): External linkage (DR 890).
        (posix_category): Remove.
        (generic_category): Add. External linkage (DR 890).
        (error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
        (error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
        error_code::assign, use generic_category.
        (error_condition::error_condition,
        error_condition::error_condition<>(_ErrorConditionEnum)): Use
        generic_category.
        (error_condition::clear,
        error_condition::operator=<>(_ErrorConditionEnum)): Forward to
        error_code::assign, use generic_category.
        (make_error_code, make_error_condition): Define in namespace std.
        * include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
        unique_lock<>::try_lock_until<>(duration),
        unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
        * src/system_error.cc (system_error_category, generic_error_category):
        New.
        (gnu_error_category): Remove.
        (get_system_category, get_posix_category): Remove (DR 890).
        (system_category, generic_category): Define.
        * src/functexcept.cc (__throw_system_error): Use generic_category.
        * config/abi/pre/gnu.ver: Export system_category and generic_category,
        remove get_system_category and get_generic_category (DR 890).
        * config/os/generic/error_constants.h (posix_errno): Rename to errc, use
        enum class type. Fix spelling.
        * config/os/mingw32/error_constants.h (posix_errno): Likewise.
        * testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and
        generic_category.
        * testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
        * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
        * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
        * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update
        dg-error line numbers.
        * testsuite/19_diagnostics/error_condition/cons/1.cc: Use
        generic_category.
        * testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
        * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
        * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
        Likewise.
        * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
        * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
        Remove using tests since errc is not a namespace.
        * testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
        * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
        * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
        Likewise.
        * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
        Likewise.
        * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r141297
2008-10-22 15:27:44 +00:00
Paolo Carlini
d090f47ae0 2008-10-20 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/hashtable_policy.h (_Hash_node<>::_Hash_node<>
	(_Args&&...)): Add in C++0x mode.
	* include/tr1_impl/hashtable (_Hashtable<>::_M_allocate_node,
	_Hashtable<>::_M_deallocate_node): Use _M_get_Node_allocator in
	C++0x mode.

	* include/tr1_impl/hashtable (_Hashtable<>::max_size): Use
	Node_allocator for improved accuracy.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-multimap.cc: Adjust.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-map.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-multiset.cc: Adjust.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-set.cc: Likewise.

From-SVN: r141242
2008-10-20 16:43:28 +00:00
Paolo Carlini
25bbe9bc63 2008-10-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_tree.h (_Rb_tree_node<>::_Rb_tree_node<>
	(_Args&&...)): Add in C++0x mode.
	(_Rb_tree<>::_M_create_node<>(_Args&&...)): Add in C++0x mode,
	use _M_get_Node_allocator.
	(_Rb_tree<>::_M_destroy_node(_Link_type): Use _M_get_Node_allocator
	in C++0x mode.
	* testsuite/23_containers/set/operators/1_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.

From-SVN: r141226
2008-10-19 14:49:38 +00:00
Douglas Gregor
c393ec5a87 stl_pair.h (__may_be_null_pointer_init): New.
2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>

	* include/bits/stl_pair.h (__may_be_null_pointer_init): New.
	(pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
	Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
	Remove the old variadic constructor, and instead provide several
	variadic constructors that avoid failing when attempting to
	initialize a pointer from a null pointer constant.
	* testsuite/20_util/pair/moveable.cc (test3): Add new tests with
	initialization of pointers from the null pointer constant.

From-SVN: r141214
2008-10-18 23:02:17 +00:00
Paolo Carlini
27caad2e1e forward_list.tcc (forward_list<>:: _M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)): Simplify.
2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.tcc (forward_list<>::
	_M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)):
	Simplify.

From-SVN: r141192
2008-10-17 09:08:02 +00:00
Paolo Carlini
98b932e7c9 forward_list.h (forward_list<>:: forward_list(size_type)): Tweak, use _Base default constructor.
2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::
	forward_list(size_type)): Tweak, use _Base default constructor.

From-SVN: r141191
2008-10-17 08:54:38 +00:00
Paolo Carlini
d051e2e7e6 forward_list.h (forward_list<>::insert_after): Minor cosmetic changes.
2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::insert_after): Minor
	cosmetic changes.

From-SVN: r141190
2008-10-17 08:37:02 +00:00
Edward Smith-Rowland
e73d6fe828 forward_list.h: Factor list construction to dispatch routines.
2008-10-16  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/forward_list.h: Factor list construction to dispatch
	routines.
	* include/bits/forward_list.tcc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/2.cc:

From-SVN: r141189
2008-10-17 08:08:03 +00:00
Paolo Carlini
919e5c5edf forward_list.tcc (operator==): Use auto.
2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.tcc (operator==): Use auto.

From-SVN: r141173
2008-10-16 14:04:28 +00:00
Paolo Carlini
2a7ee2f989 forward_list.h (_Fwd_list_base<>::_M_insert_after): Move out of line, tweak to return _Fwd_list_node_base*.
2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
	Move out of line, tweak to return _Fwd_list_node_base*.
	(forward_list<>::insert_after(const_iterator, const _Tp&),
	forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
	* include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
	Define.

	* include/bits/forward_list.h (forward_list<>): Consistently qualify
	calls of base class functions with this->.
	* include/bits/forward_list.tcc (forward_list<>): Likewise.

	* include/bits/forward_list.h: Move some functions out of line...
	* include/bits/forward_list.tcc: ... here.

	* include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.

From-SVN: r141168
2008-10-16 10:23:00 +00:00
Paolo Carlini
6bb7603486 forward_list.h: Remove pointless const qualifiers in const_casts.
2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h: Remove pointless const qualifiers in
	const_casts.
	* include/bits/forward_list.tcc: Likewise.

	* include/bits/forward_list.h (forward_list<>::pointer,
	const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/1.cc: Likewise.

From-SVN: r141153
2008-10-15 23:37:54 +00:00
Paolo Carlini
8f47a7f6d8 forward_list.h (forward_list<>::max_size): Use Node_allocator; minor cosmetic changes.
2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::max_size): Use
	Node_allocator; minor cosmetic changes.
	* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.

From-SVN: r141151
2008-10-15 22:08:09 +00:00
Edward Smith-Rowland
3a63c9cdfc forward_list: New.
2008-10-15  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/std/forward_list: New.
	* include/bits/forward_list.h: Likewise.
	* include/bits/forward_list.tcc: Likewise.
	* include/precompiled/stdc++.h: Modified to include forward_list.
	* include/Makefile.am: Add forward_list, forward_list.h, and
	forward_list.tcc.
	* include/Makefile.in: Regenerate.
	* testsuite/23_containers/forward_list/modifiers/1.cc: New.
	* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/1.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/2.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/3.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/4.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/5.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/6.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/7.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/8.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/9.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/1.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/2.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/3.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/4.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/5.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/6.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/7.cc: Likewise.
	* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
	* testsuite/23_containers/forward_list/comparable.cc: Likewise.
	* testsuite/23_containers/forward_list/moveable.cc: Likewise.
	* testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
	* testsuite/17_intro/headers/c++200x/all: Likewise.

From-SVN: r141146
2008-10-15 16:48:13 +00:00
Paolo Carlini
c841843f9e stl_list.h (_List_node<>::_List_node<>(_Args&&...)): Add in C++0x mode.
2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)):
	Add in C++0x mode.
	(list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator.
	(list<>::_M_erase(iterator): Likewise, in C++0x mode.
	* include/bits/list.tcc (_List_base<>::_M_clear): Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r141113
2008-10-14 17:14:49 +00:00
Paolo Carlini
1fea874e7a stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator for improved accuracy.
2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator
	for improved accuracy.
	* include/bits/stl_list.h (list<>::max_size): Likewise.
	* testsuite/23_containers/multimap/capacity/29134.cc: Adjust.
	* testsuite/23_containers/set/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
	* testsuite/23_containers/map/capacity/29134.cc: Likewise.

From-SVN: r141110
2008-10-14 15:02:45 +00:00
Paolo Carlini
4661c8fd43 system_error (native_category): Remove.
2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/system_error (native_category): Remove.
	(posix_category): Add.
	(error_code::error_code(_ErrorCodeEnum, typename enable_if<>:type*):
	Fix _M_cat initialization.
	(error_code::operator=(_ErrorCodeEnum)): Assign _M_cat too.
	(error_condition::_M_cat, error_condtion::operator=
	(_ErrorConditionEnum)): Implement resolution of DR 804.
	(error_condition::error_condition(_ErrorConditionEnum, typename
	enable_if<>:type*): Fix.
	(error_condition::clear, error_condition::assign): Implement.
	(operator==, operator!=): Fix uglification of parameters.
	(make_error_code, make_error_condition): Define in namespace
	posix_error.
	(operator<<(basic_ostream<>&, const error_code&)): Define here.
	* include/std/ostream (operator<<(basic_ostream<>&,
	const error_code&)): Do not define here.
	* testsuite/19_diagnostics/error_condition/cons/1.cc: New.	
	* testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
	* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/operators/equal.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Tweak.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/30_threads/unique_lock/locking/2.cc: Tweak.

	* testsuite/util/testsuite_error.h: Minor tweaks.
	* testsuite/util/testsuite_hooks.cc: Avoid uninitialized warning.

From-SVN: r141039
2008-10-10 12:39:01 +00:00
Bob Walters
08bf5bb38b stl_vector.h (_Vector_base<>::_Vector_impl::_M_start, [...]): Use _Tp_alloc_type::pointer.
2008-10-08  Bob Walters  <bob.s.walters@gmail.com>

	* include/bits/stl_vector.h (_Vector_base<>::_Vector_impl::_M_start,
	_M_finish, _M_end_of_storage, _Vector_base<>::_M_allocate,
	_M_deallocate): Use _Tp_alloc_type::pointer.

From-SVN: r140977
2008-10-08 15:04:44 +00:00
Paolo Carlini
5defb0f208 stl_iterator.h (operator-(const reverse_iterator<>&, const reverse_iterator<>&), [...]): Use the auto -> return type syntax, implement DR 685.
2008-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_iterator.h (operator-(const reverse_iterator<>&,
	const reverse_iterator<>&), operator-(const __normal_iterator<>&,
	const __normal_iterator<>&), operator-(const move_iterator<>&,
	const move_iterator<>&)): Use the auto -> return type syntax,
	implement DR 685.

From-SVN: r140937
2008-10-07 14:49:20 +00:00
Chris Fairles
3e93b27552 tuple (tuple<>::swap): Implement swap for tuple as per DR 522 [Ready].
2008-09-30  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/tuple (tuple<>::swap): Implement swap for tuple as per
        DR 522 [Ready].
        * testsuite/20_util/tuple/swap.cc: New.

From-SVN: r140822
2008-10-01 22:04:02 +00:00
Paolo Carlini
ced3cb9f72 PR libstdc++/30085 (again)
2008-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/30085 (again)
	* include/debug/unordered_map (unordered_map<>, unordered_multimap<>):
	Do not derive from _Safe_association, derive from _GLIBCXX_STD_D::
	unordered_map / unordered_multimap; add missing member functions.
	* include/debug/unordered_set (unordered_set<>, unordered_multiset<>):
	Likewise for _GLIBCXX_STD_D::unordered_set / unordered_multiset.
	* include/debug/safe_association.h: Remove.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.
	* testsuite/23_containers/unordered_multimap/init-list.cc: Remove
	xfail.

From-SVN: r140786
2008-09-30 13:48:55 +00:00
Paolo Carlini
0d5f7a16eb unique_ptr.h (unique_ptr<_Tp[]>::template<typename U> void reset(U)): Add as deleted function, per DR 821 [Ready].
2008-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h (unique_ptr<_Tp[]>::template<typename U>
	void reset(U)): Add as deleted function, per DR 821 [Ready].
	* include/bits/unique_ptr.h: Prefer everywhere deleted to private
	member function declarations; minor formatting tweaks.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: New.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Adjust DejaGNU
	directives.

From-SVN: r140737
2008-09-28 15:47:45 +00:00