Commit Graph

3689 Commits

Author SHA1 Message Date
Paolo Carlini
fea0568fd3 re PR libstdc++/38719 (_Fwd_list_iterator::_M_next() returns reference to local memory)
2009-01-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38719
	* include/bits/forward_list.h (_Fwd_list_iterator<>::_M_next,
	_Fwd_list_const_iterator::_M_next): Fix return type.

From-SVN: r143052
2009-01-04 13:55:25 +00:00
Paolo Carlini
6280bdbee3 2009-01-03 Paolo Carlini <paolo.carlini@oracle.com>
* Revert last commit, reopen and suspend libstdc++/38678.

From-SVN: r143038
2009-01-03 22:32:08 +00:00
Paolo Carlini
91a96b33a9 re PR libstdc++/38678 ([DR XXX] istream::read() calls streambuf::sgetn())
2009-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38678
	* include/std/istream (basic_istream<>::_M_read): New.
	* include/bits/istream.tcc (basic_istream<>::_M_read): Define.
	(basic_istream<>::read, basic_istream<>::readsome): Use it.
	* include/std/ostream (basic_ostream<>::_M_write_): New.
	(basic_ostream<>::_M_write): Adjust.
	* include/bits/ostream.tcc (basic_ostream<>::_M_write_): Define.
	* testsuite/27_io/basic_istream/read/char/38678.cc: New.
	* testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
	* testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
	* testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.

From-SVN: r142994
2009-01-01 10:08:31 +00:00
Jonathan Larmour
f05d0fc148 concurrence.h: Fix __gthread_cond_t initialisation function macro name.
2008-12-22  Jonathan Larmour  <jifl@eCosCentric.com>

	* include/ext/concurrence.h: Fix __gthread_cond_t initialisation
	function macro name.

From-SVN: r142901
2008-12-23 03:10:35 +00:00
Paolo Carlini
c947d638c6 re PR libstdc++/38596 (tr1_impl/functional incompatible with -fno-rtti)
2008-12-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38596
	* include/tr1_impl/function (function<>::target,
	function<>::target_type): Provide only when __GXX_RTTI is defined.
	(_Function_base::_M_manager, _Ref_manager<>::_M_manager,
	_Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
	Adjust.

From-SVN: r142862
2008-12-21 15:56:22 +00:00
Benjamin Kosnik
d4e1b0727a cstdatomic: Remove assert include.
2008-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_global/cstdatomic: Remove assert include.
	* include/debug/debug.h: Consolidate __replacement_assert...
	* include/parallel/base.h: Consolidate __replacement_assert...
	* include/bits/c++config: ...here.
	* include/bits/atomic_0.h: Use it.
	* include/bits/atomic_2.h: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.

From-SVN: r142777
2008-12-16 01:28:46 +00:00
Benjamin Kosnik
1a6e675339 atomic.cc: Revert last change.
2008-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	* src/atomic.cc: Revert last change.
	* include/bits/atomic_2.h: Move cassert include to...
	* include/c_global/cstdatomic: ...here.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.

From-SVN: r142742
2008-12-13 20:01:57 +00:00
Benjamin Kosnik
50ce8d3d78 cstdatomic: Update to N2798.
2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
	    Richard Henderson  <rth@redhat.com>

	* include/c_global/cstdatomic: Update to N2798.
	(atomic): Remove explicit constructors as per DR 845.
	* include/bits/atomic_0.h: New. Switchable implementation.
	* include/bits/atomic_2.h: New. Lock-free implementation.
	* include/c_compatibility/stdatomic.h: Use foward headers.
	* include/bits/atomicfwd_cxx.h: New.
	* include/bits/atomicfwd_c.h: New.
	* src/atomic.cc: Adjust.
	* acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
	unconditionally use default/deleted syntax.
	(GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
	* include/Makefile.am (bits_headers): Add atomicfwd_c.h,
	atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* config/abi/pre/gnu.ver: Adjust exports.

	* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
	* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
	* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
	* testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
	* testsuite/29_atomics/atomic_address/cons/copy_neg.cc
	* testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/default.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
	* testsuite/29_atomics/atomic_integral/requirements/
	standard_layout.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_assignment.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_conversion.cc: New.
	* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
	* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_flag/
	atomic_global_fence_compatibility.cc: Kill.
	* testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
	* testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
	* testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc
	* testsuite/29_atomics/atomic/cons/direct_list.cc: New.
	* testsuite/29_atomics/atomic/cons/copy_list.cc: New.
	* testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
	* testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
	* testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
	* testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
	* testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
	* testsuite/util/testsuite_common_types.h: ...here.
	(atomic_integrals_no_bool): New.
	(atomic_integrals): New.
	(has_increment_operators, has_decrement_operators)
	(direct_list_initializable, single_value_constructible)
	(standard_layout, has_bitwise_operators, integral_convertable)
	(integral_assignable): Add.


Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r142714
2008-12-12 17:10:16 +00:00
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
Chris Fairles
57cb79efa4 mutex (try_lock): Implement generic try_lock.
2008-09-28  Chris Fairles <cfairles@gcc.gnu.org>

        * include/std/mutex (try_lock): Implement generic try_lock.
        * testsuite/30_threads/try_lock/1.cc: New.
        * testsuite/30_threads/try_lock/2.cc: Likewise.
        * testsuite/30_threads/try_lock/3.cc: Likewise.
        * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
        * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
        Likewise.
        * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.

From-SVN: r140729
2008-09-28 09:05:07 +00:00
Peter O'Gorman
25e5de9afd configure: Regenerate for new libtool.
* configure: Regenerate for new libtool.
        * aclocal.m4: Ditto.
        * Makefile.in: Ditto.
        * src/Makefile.in: Ditto.
        * doc/Makefile.in: Ditto.
        * po/Makefile.in: Ditto.
        * libmath/Makefile.in: Ditto.
        * include/Makefile.in: Ditto.
        * libsupc++/Makefile.in: Ditto.
        * testsuite/Makefile.in: Ditto.

Co-Authored-By: Steve Ellcey <sje@cup.hp.com>

From-SVN: r140702
2008-09-26 16:32:26 +00:00
Paolo Carlini
19a6a2ea61 bitset: Adjust comment to reflect DR 853.
2008-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset: Adjust comment to reflect DR 853.
	* include/debug/bitset: Likewise.
	* doc/xml/manual/intro.xml: Add an entry for DR 853.

From-SVN: r140637
2008-09-24 17:49:21 +00:00
Paolo Carlini
47cd155763 Implement DR 396 [Ready].
2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

	Implement DR 396 [Ready].
	* include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
	size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
	char, char), bitset<>::to_string(_CharT, _CharT),
	bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
	size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
	(std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
	const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
	(operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
	std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
	* include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
	size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
	char, char), bitset<>::to_string(_CharT, _CharT)): Add.
	* doc/xml/manual/intro.xml: Add an entry for DR 396.
	* testsuite/23_containers/bitset/cons/dr396.cc: Add.
	* testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.

From-SVN: r140607
2008-09-23 18:14:24 +00:00
Chris Fairles
8839907955 chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined...
2008-09-23  Chris Fairles <cfairles@gcc.gnu.org>

        * include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
        typedef monotonic_clock to system_clock and instead declare new class.
        * src/chrono.cc: Conditionally define monotonic_clock::now().
        * include/std/condition_variable (wait_until): Throw exception if
        __gthread_cond_timedwait returns with error other than timed_out. Use
        system_clock as known clock type (__clock_t) and add overloads for known
        and unknown clocks. In the unknown case, sync to the known clock.
        Implement overload taking a predicate.
        (wait_for): Implement overload taking a predicate.
        * config/abi/pre/gnu.ver: Add exports for monotonic_clock.
        * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
        line numbers.
        * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
        Likewise.
        * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/condition_variable/member/1.cc: New.
        * testsuite/30_threads/condition_variable/member/2.cc: Likewise.

From-SVN: r140603
2008-09-23 17:34:29 +00:00
Paolo Carlini
4a2095e271 locale_facets.tcc (__pad<>::_S_pad): Don't use const by value parameters.
2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

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

From-SVN: r140574
2008-09-23 00:47:02 +00:00
Paolo Carlini
aa4652fac0 stl_algo.h (minmax(initializer_list<>): Use make_pair, consistently with the other overload for initializer_list.
2008-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

 	* include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
	consistently with the other overload for initializer_list.

From-SVN: r140524
2008-09-21 09:36:27 +00:00
Johannes Singler
c38b84d8f1 re PR libstdc++/37470 (parallel/base.h log2 conflicts with math.h)
2008-09-19  Johannes Singler  <singler@ira.uka.de>

        PR libstdc++/37470
        * include/parallel/base.h: Rename log2 to __log2.
          (__log2) Avoid infinite loop for n <= 0, return 0.
        * include/parallel/losertree.h: Rename log2 to __log2.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.

From-SVN: r140490
2008-09-19 11:37:16 +00:00
Paolo Carlini
c78a2119d8 shared_ptr.h (__shared_count<>:: __shared_count(_Ptr, _Deleter), [...]): Qualify new with ::.
2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (__shared_count<>::
	__shared_count(_Ptr, _Deleter), __shared_count<>::
	__shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
	__shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
	Qualify new with ::.

From-SVN: r140469
2008-09-18 18:55:55 +00:00
Paolo Carlini
116a365bd4 re PR libstdc++/37547 ([c++0x] minmax with initializer_list gives incorrect results)
2008-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37547
	* include/bits/stl_algo.h (min(initializer_list<>),
	min(initializer_list<>, Compare), max(initializer_list<>),
	max(initializer_list<>, Compare), minmax(initializer_list<>),
	minmax(initializer_list<>, Compare)): Fix return type.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
	* testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/min/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
	3.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/max/37547.cc: New.
	* testsuite/25_algorithms/min/37547.cc: Likewise.
	* testsuite/25_algorithms/minmax/37547.cc: Likewise.

From-SVN: r140435
2008-09-17 22:58:38 +00:00
Paolo Carlini
1edd1a8317 [multiple changes]
2008-09-16  Chris Fairles  <chris.fairles@gmail.com>

        * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
        New.
        * testsuite/25_algorithms/min/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/min/3.cc: Likewise.
        * testsuite/25_algorithms/min/4.cc: Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/max/3.cc: Likewise.
        * testsuite/25_algorithms/max/4.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        3.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/minmax/2.cc: Likewise.
        * testsuite/25_algorithms/minmax/3.cc: Likewise.

2008-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (min(initializer_list<>),
	min(initializer_list<>, Compare), max(initializer_list<>),
	max(initializer_list<>, Compare), minmax(initializer_list<>),
	minmax(initializer_list<>, Compare)): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.

From-SVN: r140404
2008-09-16 23:17:09 +00:00
Chris Fairles
46e113bf2b thread: New.
2008-09-12  Chris Fairles <chris.fairles@gmail.com>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/thread: New.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.
	* src/thread.cc: New.
	* src/Makefile.am: Update.
	* src/Makefile.in: Regenerate.
	* acinclude.m4: Add check for nanosleep.
	* configure.ac: Call it.
	* configure: Regenerate.
	* config.h.in: Likewise.
	* config/abi/pre/gnu.ver: Add exports.
	* doc/doxygen/user.cfg.in: Add thread header.
	* testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
	* testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
	* testsuite/30_threads/thread/cons/1.cc: New.
	* testsuite/30_threads/thread/cons/2.cc: Likewise.
	* testsuite/30_threads/thread/cons/3.cc: Likewise.
	* testsuite/30_threads/thread/cons/4.cc: Likewise.
	* testsuite/30_threads/thread/algorithm/1.cc: Likewise.
	* testsuite/30_threads/thread/algorithm/2.cc: Likewise.
	* testsuite/30_threads/thread/member/1.cc: Likewise.
	* testsuite/30_threads/thread/member/2.cc: Likewise.
	* testsuite/30_threads/thread/member/3.cc: Likewise.
	* testsuite/30_threads/thread/this_thread/1.cc: Likewise.
	* testsuite/30_threads/thread/this_thread/2.cc: Likewise.
	* testsuite/30_threads/thread/this_thread/3.cc: Likewise.
	* testsuite/30_threads/thread/this_thread/4.cc: Likewise.
	* testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
	* testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
	* testsuite/17_intro/headers/c++200x/all.cc: Add thread.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: 
	Add thread, condition_variable and mutex.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

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

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

From-SVN: r140251
2008-09-10 21:34:38 +00:00
Paolo Carlini
6c43852a18 re PR libstdc++/37455 (Code bloat for ostream.widen('\n'))
2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37455
	* include/bits/locale_facets.h (ctype<char>::_M_narrow_init,
	ctype<char>::_M_widen_init): Don't define inline.
	* config/locale/darwin/ctype_members.cc: ... define here.
	* config/locale/gnu/ctype_members.cc: ... likewise.
	* config/locale/generic/ctype_members.cc: ... likewise.
	* config/abi/pre/gnu.ver: Export.

From-SVN: r140238
2008-09-10 16:48:47 +00:00
Paolo Carlini
802841eb8c cinttypes: Restore __STDC_FORMAT_MACRO after inclusion of <inttypes.h>.
2008-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACRO after
	inclusion of <inttypes.h>.
	* include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
	__STDC_CONSTANT_MACROS after <stdint.h>.
	* include/bits/postypes.h: Likewise.

From-SVN: r140174
2008-09-09 21:33:46 +00:00
Paolo Carlini
a834e097ea acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
2008-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and
	wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
	* include/tr1_impl/cinttypes: Use the latter.
	* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r140089
2008-09-07 16:41:06 +00:00
Jonathan Wakely
640cbe76c7 re PR libstdc++/36962 ([C++0x] Add constructors / assignment operators from unique_ptr to shared_ptr)
PR libstdc++/36962
	* include/Makefile.am: Update headers.
	* include/Makefile.in: Regenerate.
	* include/std/memory: Update headers.
	* include/tr1/memory: Likewise.
	* include/tr1_impl/boost_shared_ptr.h: Remove, splitting into
	separate implementations for std and tr1.
	* include/bits/boost_sp_shared_count.h: Remove.
	* include/tr1/boost_sp_shared_count.h: Remove.
	* include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h
	and boost_shared_ptr.h into one file.
	(__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr
	and rvalue-reference support as per current WP.
	* include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h
	and boost_shared_ptr.h into one file.
	* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New.
	* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New.
	* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New.
	* testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New.
	* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New.
	* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove.

From-SVN: r140012
2008-09-04 23:33:10 +01:00
Chris Fairles
d74eef3beb mutex (once_flag): Construct __gthread_once_t in a temporary variable before assigning to _M_once...
2008-09-04  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/mutex (once_flag): Construct __gthread_once_t in a
	temporary variable before assigning to _M_once to avoid initialization
	errors.

From-SVN: r139986
2008-09-04 14:35:54 +00:00
Paolo Carlini
37383ef55e gnu.ver: Also export __once_functor_lock...
2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
	GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).

	* Makefile.in: Regenerate.
	* src/Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r139968
2008-09-04 00:57:57 +00:00
Chris Fairles
7b800287b7 condition_variable: Use new deleted ctors.
2008-09-03  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/condition_variable: Use new deleted ctors.
        * include/std/mutex: Likewise plus implement timed_mutex, 
	recursive_timed_mutex and call_once.
	* src/condition_variable.cc: Implement wait(). Use gthread types.
	Remove _GTHREADS_HAS_COND checks in favor of global
	_GLIBCXX_HAS_GTHREADS.
	* src/mutex.cc (call_once): Implementation using TLS with mutex
	fallback.
	* config/abi/pre/gnu.ver: Add exported symbols.
	* testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
	* testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
	* testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
	dg-require-gthreads and dg-require-cstdint.
	* testsuite/30_threads/lock_guard/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
        * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
	Likewise.
        * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
        * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
	lines for deleted members.
        * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/call_once/once_flag.cc: New.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

From-SVN: r139943
2008-09-03 17:46:09 +00:00
Mark Mitchell
a023046841 type_traits (__make_unsigned_selector<>): Consider enums of size smaller than short.
* include/std/type_traits (__make_unsigned_selector<>): Consider
	enums of size smaller than short.
	(__make_signed_selector<>): Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust line numbers.
	* testsuite/20_util/make_usigned/requirements/typedefs_neg.cc:
	Adjust line numbers.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc:
	Ensure test_enum is the same size as short.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Ensure test_enum is the same size as short.

From-SVN: r139875
2008-09-01 23:24:09 +00:00
Aaron W. LaFramboise
d89f0ad622 configure.ac (RPATH_ENVVAR): Use PATH on Windows.
2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	<toplevel>
	* configure.ac (RPATH_ENVVAR): Use PATH on Windows.
	(GCC_SHLIB_SUBDIR): New.
	* Makefile.tpl (HOST_LIB_PATH_gcc): Use GCC_SHLIB_SUBDIR.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

	<gcc>
	* mkmap-flat.awk: Add option pe_dll.
	* config/i386/t-cygming (SHLIB_LINK): Support building libgcc_s.
	* gcc/config/i386/t-cygwin (SHLIB_LC): Add.
	* gcc/config/i386/t-mingw32 (SHLIB_LC): Add.
	* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): New.
	(SUBTARGET_EXTRA_SPECS): Use SHARED_LIBGCC_UNDEFS_SPEC.
	(LINK_SPEC): Support libgcc_s.
	(LIBGCC_SPEC): Support libgcc_s.
	(LIBGCC_SONAME): New.

	<libstdc++-v3>
	* acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* doc/makefile.in: Regenerated.
	* po/Makefile.in: Regenerated.
	* libmath/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* libsupc++/Makefile.in: Regenerated.
	* testsuite/makefile.in: Regenerated.

From-SVN: r139837
2008-08-31 12:14:25 -06:00
Paolo Carlini
eafb2f2d27 hashtable (_Hashtable<>): Add missing pointer and const_pointer typedefs.
2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
	const_pointer typedefs.
	* testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
	Add.
	* testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/requirements/
	typedef.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/requirements/
	typedef.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
	Likewise.

From-SVN: r139674
2008-08-27 19:27:11 +00:00
Paolo Carlini
2fb63453bd char_traits.h (char_traits<char16_t>:: assign(char_type*, size_t, char_type), [...]): For now, just open-code.
2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/char_traits.h (char_traits<char16_t>::
	assign(char_type*, size_t, char_type), char_traits<char32_t>::
	assign(char_type*, size_t, char_type)): For now, just open-code.

From-SVN: r139367
2008-08-21 01:06:45 +00:00
Paolo Carlini
5e44d591c8 PR libstdc++/33979 (partial)
2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/33979 (partial)
	* include/bits/postypes.h (u16streampos, u32streampos): Add.
	* include/bits/char_traits.h (char_traits<char16_t>,
	char_traits<char32_t>): Add.
	* include/bits/stringfwd.h (u16string, u32string): Add.
	* include/ext/vstring_fwd.h: Add typedefs for char16_t/char32_t.
	* testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc:
	New.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/short/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/char32_t/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/char16_t/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/char/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc:
	Likewise.
	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/char32_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/char16_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/char/1.cc: Likewise.
	* testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise.
	* testsuite/ext/vstring/requirements/explicit_instantiation/
	char32_t/1.cc: Likewise.
	* testsuite/ext/vstring/requirements/explicit_instantiation/
	char16_t/1.cc: Likewise.

From-SVN: r139339
2008-08-20 19:29:54 +00:00
Paolo Carlini
b7e2f896db re PR testsuite/37149 (27_io/basic_ostream/inserters_other/char/error_code.cc)
2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37149
	* testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Include
	<cstdio>.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Likewise.
	* testsuite/27_io/objects/char/12048-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-3.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
	* testsuite/ext/malloc_allocator/deallocate_global.cc: Likewise.
	* testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-6.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-8.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Likewise.
	* testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
	* testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
	* include/std/regex: Include <sstream>.
	* include/tr1/regex: Likewise.

From-SVN: r139206
2008-08-18 17:48:15 +00:00
Paolo Carlini
bbbd5025a1 re PR libstdc++/37100 (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_pair.h:99: error 404)
2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37100
	* include/bits/stl_pair.h: Fix documentation URL in comment.

From-SVN: r139040
2008-08-12 23:14:10 +00:00
Johannes Singler
d0259b010b 2008-08-12 Johannes Singler <singler@ira.uka.de>
* include/paralle/losertree.h
        (LoserTreePointerBase<>::~LoserTreePointerBase):
        Replace delete by appropriate delete[].

From-SVN: r139026
2008-08-12 17:23:00 +00:00
Stephen M. Webb
3bcd44c051 Formatting fixes for include/tr1_impl/regex.
From-SVN: r138967
2008-08-11 21:06:00 +00:00
Paolo Carlini
77d4510875 type_traits (_DEFINE_SPEC*): Simplify.
2008-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/type_traits (_DEFINE_SPEC*): Simplify.
	(_DEFINE_SPEC_BODY): Remove.
	(__is_void_helper, __is_integral_helper, __is_floating_point_helper,
	__is_member_object_pointer_helper, __is_member_function_pointer_helper,
	__remove_pointer_helper): Add.
	(is_void, is_integral, is_floating_point, is_member_object_pointer,
	is_member_function_pointer, remove_pointer): Use the latter.
	* include/tr1/type_traits (_DEFINE_SPEC): Simplify.
	(_DEFINE_SPEC_HELPER): Remove.
	(__is_signed_helper, __is_unsigned_helper): Add.
	(is_signed, is_unsigned): Use the latter.

From-SVN: r138925
2008-08-10 10:11:46 +00:00
Paolo Carlini
6cccc20014 Revert fix for libstdc++/35637, thanks to other/36901.
2008-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert fix for libstdc++/35637, thanks to other/36901.
	* include/tr1_impl/type_traits (__is_function_helper): New, uses
	variadic templates.
	(is_function): Forward to the latter.
	(__in_array): Remove.

From-SVN: r138906
2008-08-09 15:58:52 +00:00
Paolo Carlini
1de853b169 ios_base.h: Undef _IOS_BASE_SEEK_CUR and _IOS_BASE_SEEK_END at the end of the file.
2008-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/ios_base.h: Undef _IOS_BASE_SEEK_CUR and
	_IOS_BASE_SEEK_END at the end of the file.
	* include/bits/char_traits.h: Likewise for _CHAR_TRAITS_EOF.

From-SVN: r138862
2008-08-08 09:54:09 +00:00
Stephen M. Webb
e297d9fe0d * include/tr1_impl/regex (match_results): Add cbegin()/cend() per N2691 WD.
From-SVN: r138842
2008-08-07 15:06:28 +00:00
Paolo Carlini
1814157e88 acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for common values of EOF, SEEK_CUR, SEEK_END.
2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for
	common values of EOF, SEEK_CUR, SEEK_END.
	* configure.ac: Use it.
	* include/bits/ios_base.h: Likewise.
	* include/bits/char_traits.h: Likewise.
	* config/locale/gnu/ctype_members.cc: Include <cstdio>.
	* config/locale/generic/ctype_members.cc: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error lines.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r138829
2008-08-06 23:17:05 +00:00
Paolo Carlini
fc9ab7b4c0 acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t is actually a typedef to long or long long.
2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t
	is actually a typedef to long or long long.
	* include/bits/postypes.h: If int64_t is actually a typedef for
	long or long long don't include <stdint.h> unnecessarily.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r138797
2008-08-06 12:25:00 +00:00
Paolo Carlini
d27653b8a3 postypes.h: Reinstate inclusion of <stdint.h>; also define the __STDC_* macros.
2008-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/postypes.h: Reinstate inclusion of <stdint.h>;
	also define the __STDC_* macros.
	(streamoff): Adjust.

	* include/tr1_impl/cstdint: Check that the __STDC_* macros are
	not defined before defining.

From-SVN: r138608
2008-08-04 12:05:41 +00:00
Paolo Bonzini
ec6fa56a8d acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime search, but only in libposix4, never link librt.
2008-08-01  Paolo Bonzini  <bonzini@gnu.org>
	    Chris Fairles  <chris.fairles@gmail.com>

	* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime
	search, but only in libposix4, never link librt.
	* src/Makefile.am: Reinstate previous change to add GLIBCXX_LIBS.
        * configure: Regenerate.
        * configure.in: Likewise.
        * Makefile.in: Likewise.
        * src/Makefile.in: Likewise.
        * libsup++/Makefile.in: Likewise.
        * po/Makefile.in: Likewise.
        * doc/Makefile.in: Likewise.

Co-Authored-By: Chris Fairles <chris.fairles@gmail.com>

From-SVN: r138519
2008-08-01 14:06:38 +00:00
Chris Fairles
9d4e8554de chrono (duration): Use explicitly defaulted ctor, cctor, dtor and assignment.
2008-07-31  Chris Fairles <chris.fairles@gmail.com>

        * include/std/chrono (duration): Use explicitly defaulted ctor, cctor,
	 dtor and assignment. Add diagnostics as per 20.8.3 paragraphs 2, 3 
	 and 4 in WD. Other minor tweaks.
        * testsuite/20_util/duration/cons/1_neg.cc: Adjust line numbers.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: New.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.

From-SVN: r138434
2008-07-31 19:37:21 +00:00
Paolo Carlini
b798df0579 set.h: Minor formatting fixes.
2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/set.h: Minor formatting fixes.
	* include/debug/multiset.h: Likewise.
	* include/debug/safe_association.h: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/string: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.

From-SVN: r138263
2008-07-29 19:34:36 +00:00
Paolo Carlini
f2752f1d6e utility: Include <initializer_list>, per the current WP.
2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/utility: Include <initializer_list>, per the current WP.

	* testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
	don't use -std=gnu++0x unnecessarily.
	* testsuite/18_support/numeric_limits/char16_32_t.cc: Use
	dg-require-cstdint.
	* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.

From-SVN: r138255
2008-07-29 17:06:24 +00:00
Paolo Carlini
08df5d3e97 re PR libstdc++/36949 ([C++0x] make_shared does not initialize enable_shared_from_this' internal shared_count)
2008-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/36949
	* include/tr1_impl/boost_shared_ptr.h
	(__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call
	__enable_shared_from_this_helper.
	* testsuite/20_util/shared_ptr/creation/36949.cc: New.

From-SVN: r138219
2008-07-28 23:28:16 +00:00