Commit Graph

6202 Commits

Author SHA1 Message Date
Benjamin Kosnik 626e0599af re PR libstdc++/40273 ([C++0x] Invalid conversion to bool is reported)
2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/40273
	* include/tr1_impl/functional: Add explicit cast.
	* testsuite/20_util/function/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/function/null_pointer_comparisons.cc: New.

From-SVN: r147930
2009-05-27 20:32:30 +00:00
Eelis van der Weegen ffa52e113d initializer_list (initializer_list): Add missing typedefs.
2009-05-24  Eelis van der Weegen  <eelis@eelis.net>
	
	* libsupc++/initializer_list (initializer_list): Add missing typedefs.

From-SVN: r147828
2009-05-24 04:44:50 +00:00
Benjamin Kosnik e4c29fbc9e re PR bootstrap/40221 (Powerpc bootstrap is broken in building libstdc++)
2009-05-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/40221
	* include/tr1_impl/functional: Add explicit cast.

From-SVN: r147794
2009-05-22 07:19:37 +00:00
Paolo Carlini aaf19a5069 re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test)
2009-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
	
	PR libstdc++/40094
	Revert:
	2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/ext/throw_allocator.h (throw_allocator_base): Avoid
	out of line member functions definitions.
	(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
	Remove, use static locals instead.
	(throw_allocator_base::do_check_allocated, print_to_string): Declare.
	* src/throw_allocator.cc: New.
	* src/Makefile.am: Add.
	* config/abi/pre/gnu.ver: Add exports.
	* src/Makefile.in: Regenerate.

From-SVN: r147789
2009-05-22 01:32:49 +00:00
Paolo Carlini e2792913bd re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test)
2009-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
	
	PR libstdc++/40094
	Revert:
	2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/ext/throw_allocator.h (throw_allocator_base): Avoid
	out of line member functions definitions.
	(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
	Remove, use static locals instead.
	(throw_allocator_base::do_check_allocated, print_to_string): Declare.
	* src/throw_allocator.cc: New.
	* src/Makefile.am: Add.
	* config/abi/pre/gnu.ver: Add exports.
	* src/Makefile.in: Regenerate.

From-SVN: r147788
2009-05-22 01:28:50 +00:00
Benjamin Kosnik d29d4507b2 functional (function): Use explicit operator bool.
2009-05-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1_impl/functional (function): Use explicit operator bool.
	* include/bits/shared_ptr.h (__shared_ptr): Same.
	* include/bits/unique_ptr.h (unique_ptr): Same.
	* include/std/mutex (unique_lock): Same.
	* include/std/system_error (error_code): Same.
	(error_condition): Same.
	* include/std/ostream (sentry): Same.
	* include/std/istream (sentry): Same.
	* testsuite/19_diagnostics/error_condition/operators/bool.cc: Adjust.
	* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Same.
	* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Same.

From-SVN: r147756
2009-05-21 01:12:00 +00:00
Benjamin Kosnik 875d0f10a6 14340.cc: Abstract list type.
2009-05-19  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/23_containers/list/14340.cc: Abstract list type.
	* testsuite/23_containers/list/init-list.cc: Same.
	* testsuite/23_containers/list/pthread5.cc: Same.
	* testsuite/23_containers/list/invalidation/1.cc: Same.
	* testsuite/23_containers/list/invalidation/2.cc: Same.
	* testsuite/23_containers/list/invalidation/3.cc: Same.
	* testsuite/23_containers/list/invalidation/4.cc: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
	* testsuite/23_containers/list/modifiers/1.cc: Same.
	* testsuite/23_containers/list/modifiers/2.cc: Same.
	* testsuite/23_containers/list/modifiers/3.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/1.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/2.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/3.cc: Same.
	* testsuite/23_containers/list/cons/1.cc: Same.
	* testsuite/23_containers/list/cons/2.cc: Same.
	* testsuite/23_containers/list/cons/3.cc: Same.
	* testsuite/23_containers/list/cons/4.cc: Same.
	* testsuite/23_containers/list/cons/5.cc: Same.
	* testsuite/23_containers/list/cons/6.cc: Same.
	* testsuite/23_containers/list/cons/7.cc: Same.
	* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
	* testsuite/23_containers/list/cons/8.cc: Same.
	* testsuite/23_containers/list/cons/9.cc: Same.
	* testsuite/23_containers/list/operations/1.cc: Same.
	* testsuite/23_containers/list/operations/2.cc: Same.
	* testsuite/23_containers/list/operations/3.cc: Same.
	* testsuite/23_containers/list/operations/4.cc: Same.
	* testsuite/23_containers/list/operations/5.cc: Same.
	* testsuite/23_containers/list/requirements/citerators.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/constructor.cc: Same.
	* testsuite/23_containers/list/requirements/
	partial_specialization/1.cc: Same.
	* testsuite/23_containers/list/23781.cc: Same.
	* testsuite/23_containers/list/pthread1.cc: Same.
	* testsuite/23_containers/list/capacity/1.cc: Same.
	* testsuite/23_containers/list/capacity/29134.cc: Same.
	* testsuite/23_containers/list/check_construct_destroy.cc: Same.
	* testsuite/23_containers/list/moveable.cc: Same.

	* testsuite/util/common_type/assoc/common_type.hpp: Re-break lines.

From-SVN: r147728
2009-05-20 04:05:21 +00:00
Paolo Carlini c8036448d1 re PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for nonuniform locale)
2009-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40184
	* include/bits/locale_classes.h (locale::facet::_S_lc_ctype_c_locale):
	Declare...
	* config/locale/gnu/c_locale.cc: ... and define.
	* config/locale/generic/c_locale.cc: Define.
	* src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
	Use it.
	* testsuite/22_locale/locale/cons/40184.cc: New.

From-SVN: r147714
2009-05-19 18:20:47 +00:00
Paolo Carlini cf0e6fff1d re PR c++/40192 (Unable to use std::vector with typedef'd array types)
2009-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40192
	* include/bits/stl_construct.h (struct _Destroy_aux): Add.
	(_Destroy(_ForwardIterator, _ForwardIterator)): Use the latter.
	* testsuite/23_containers/vector/40192.cc: New.

From-SVN: r147680
2009-05-18 23:16:20 +00:00
Jonathan Wakely ff74fd1325 stl_pair.h (swap): Do not swap rvalues.
2009-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/stl_pair.h (swap): Do not swap rvalues.
	* include/bits/stl_deque.h (swap): Likewise.
	* include/bits/stl_list.h (swap): Likewise.
	* include/bits/stl_vector.h (swap): Likewise.
	* include/bits/stl_bvector.h (swap): Likewise.
	* include/bits/stl_queue.h (swap): Likewise.
	* include/bits/stl_stack.h (swap): Likewise.
	* include/bits/stl_tree.h (swap): Likewise.
	* include/bits/stl_map.h (swap): Likewise.
	* include/bits/stl_multimap.h (swap): Likewise.
	* include/bits/stl_set.h (swap): Likewise.
	* include/bits/stl_multiset.h (swap): Likewise.
	* include/bits/forward_list.h (swap): Likewise.
	* include/bits/unique_ptr.h (swap): Likewise.
	* include/debug/deque (swap): Likewise.
	* include/debug/list (swap): Likewise.
	* include/debug/vector (swap): Likewise.
	* include/debug/map.h (swap): Likewise.
	* include/debug/multimap.h (swap): Likewise.
	* include/debug/set.h (swap): Likewise.
	* include/debug/multiset.h (swap): Likewise.
	* include/debug/unordered_map (swap): Likewise.
	* include/debug/unordered_set (swap): Likewise.
	* include/ext/vstring.h (swap): Likewise.
	* include/tr1_impl/unordered_map (swap): Likewise.
	* include/tr1_impl/hashtable (swap): Likewise.
	* include/tr1_impl/unordered_set (swap): Likewise.
	* include/std/tuple (swap): Likewise.
	* include/std/mutex (swap): Likewise.
	* include/std/thread (swap): Likewise.
	(operator<<): Only output to lvalue streams.
	* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: Remove.
	* testsuite/23_containers/headers/forward_list/synopsis.cc: Adjust.
	* testsuite/23_containers/deque/requirements/dr438/
	assign_neg.cc: Adjust line numbers.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_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.
	* testsuite/23_containers/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Swap with lvalue and also
	test non-member swap.
	* testsuite/30_threads/thread/swap/2.cc: Remove.

From-SVN: r147678
2009-05-18 23:15:56 +01:00
Jonathan Wakely 5c64575096 mutex: Move std::lock_error to ...
2009-05-13  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex: Move std::lock_error to ...
	* src/compatibility.cc: Here.
	* src/mutex.cc: Likewise.
	* testsuite/30_threads/headers/mutex/types_std_c++0x.cc: Add checks
	for lock types and remove std::lock_error check.

From-SVN: r147609
2009-05-16 11:09:02 +01:00
Paolo Carlini 6dd0fec22f 40160.cc: Remove spurious double include.
2009-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/21_strings/basic_string/40160.cc: Remove spurious
	double include.

From-SVN: r147600
2009-05-15 23:31:59 +00:00
Paolo Carlini 0f136367bc re PR libstdc++/40160 (-fno-rtti vs _GLIBCXX_DEBUG)
2009-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40160
	* include/debug/formatter.h (_Parameter::_Parameter): Don't use
	typeid when __GXX_RTTI is undefined.
	* src/debug.cc (_Error_formatter::_Parameter::_M_print_field): Adjust
	for null _M_variant._M_iterator._M_type,
	_M_variant._M_iterator._M_seq_type, _M_variant._M_sequence._M_type.
	* testsuite/21_strings/basic_string/40160.cc: New.

From-SVN: r147599
2009-05-15 22:25:24 +00:00
Paolo Carlini 934432b66c num_xbound_fun.cc: Minor tweaks.
2009-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/26_numerics/random/discrete_distribution/cons/
	num_xbound_fun.cc: Minor tweaks.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	cons/initlist_fun.cc: Likewise
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	cons/num_xbound_fun.cc: Likewise
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	cons/initlist_fun.cc: Likewise
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	cons/num_xbound_fun.cc: Likewise

From-SVN: r147567
2009-05-15 10:02:38 +00:00
David Billinghurst 602feda58d re PR libstdc++/36211 (__iconv_adaptor chooses char** where const char** is required)
2009-05-15  David Billinghurst <billingd@gcc.gnu.org>

	PR libstdc++/36211
	* testsuite/lib/libstdc++.exp(v3_target_compile):  Add
	cxxldflags to additional_flags rather than cxx_final.

From-SVN: r147565
2009-05-15 09:23:58 +00:00
David Billinghurst d05db9ccfa num_xbound_fun.cc: Replace non-standard macro M_PI with constant pi.
2009-05-15  David Billinghurst <billingd@gcc.gnu.org>

	* testsuite/26_numerics/random/discrete_distribution/cons/num_xbound_fun.cc:
	Replace non-standard macro M_PI with constant pi.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/initlist_fun.cc:
	Likewise
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/num_xbound_fun.cc:
	Likewise
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/initlist_fun.cc:
	Likewise
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/num_xbound_fun.cc:
	Likewise

From-SVN: r147564
2009-05-15 09:20:01 +00:00
Paolo Carlini 6855fe452e re PR libstdc++/40123 (Revision 147395 failed libstc++ tests)
2009-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40123
	* random.tcc (independent_bits_engine<>::operator()()): Use
	result_type(1), not 1UL.

	* random.tcc (independent_bits_engine<>::operator()()): Use _M_b.max()
	and _M_b.min(), instead of this->max() and this->min().

	* random.h (_ShiftMin1): Remove, adjust everywhere.

	* random.tcc: Minor cosmetic changes.

From-SVN: r147538
2009-05-14 17:56:17 +00:00
Paolo Carlini e1a0296342 random.tcc (cauchy_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Avoid M_PI, a glibc extension.
2009-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (cauchy_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&)): 
	Avoid M_PI, a glibc extension.

From-SVN: r147521
2009-05-14 08:14:54 +00:00
Ben Elliston d68646978c Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
* include/Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
	* include/Makefile.in: Likewise.

From-SVN: r147459
2009-05-13 10:17:09 +10:00
Ben Elliston 420162073c compatibility.cc (_ZTIe, [...]): Change type to const void * const.
* src/compatibility.cc (_ZTIe, _ZTIPe, _ZTIPKe): Change type to
	const void * const.

From-SVN: r147455
2009-05-13 10:16:08 +10:00
Edward Smith-Rowland 1195342643 status_cxx200x.xml: Note missing constexpr for random number engines...
2009-05-12  Edward Smith-Rowland  <3dw4rd@verizon.net>

        * doc/xml/manual/status_cxx200x.xml: Note missing constexpr for
	random number engines, complex, bitset, array, time utilities, and
	char_traits.

From-SVN: r147449
2009-05-12 22:16:52 +00:00
Jonathan Wakely 182da14a62 exception: Include nested_exception.h in C++0x mode.
2009-05-12  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* libsupc++/exception: Include nested_exception.h in C++0x mode.
	* libsupc++/nested_exception.h: New.
	* libsupc++/Makefile.am: Add new header.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/18_support/nested_exception/rethrow_nested.cc: New.
	* testsuite/18_support/nested_exception/throw_with_nested.cc: New.
	* testsuite/18_support/nested_exception/cons.cc: New.
	* testsuite/18_support/nested_exception/nested_ptr.cc: New.
	* testsuite/18_support/nested_exception/rethrow_if_nested.cc: New.
	* doc/xml/manual/status_cxx200x.xml: Adjust.

From-SVN: r147446
2009-05-12 22:08:00 +01:00
Paolo Carlini 29e357fd7c throw_allocator.h: Remove redundante include.
2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/throw_allocator.h: Remove redundante include.

From-SVN: r147265
2009-05-08 00:49:35 +00:00
Paolo Carlini 9fcf9c24a1 throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions.
2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/throw_allocator.h (throw_allocator_base): Avoid
	out of line member functions definitions.
	(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
	Remove, use static locals instead.
	(throw_allocator_base::do_check_allocated, print_to_string): Declare.
	* src/throw_allocator.cc: New.
	* src/Makefile.am: Add.
	* config/abi/pre/gnu.ver: Add exports.
	* src/Makefile.in: Regenerate.

From-SVN: r147264
2009-05-08 00:39:28 +00:00
Paolo Carlini 262118b947 configure.ac: Bump libtool_VERSION to 6:12:0.
2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* configure.ac: Bump libtool_VERSION to 6:12:0.
	* configure: Regenerate.

From-SVN: r147228
2009-05-07 10:22:46 +00:00
Matthias Klose 76104d42a4 re PR libstdc++/40038 (symbols ceill@GLIBCXX_3.4.3 not exported)
2009-05-07  Matthias Klose  <doko@ubuntu.com>

	PR libstdc++/40038
	* src/math_stubs_long_double.cc: Add ceill.

From-SVN: r147217
2009-05-07 06:55:15 +00:00
Johannes Singler c8ecfecfd4 re PR libstdc++/39546 (parallel mode doesn't support implicit string conversion)
2009-05-06  Johannes Singler  <singler@ira.uka.de>

        PR libstdc++/39546
        * include/parallel/algo.h (find_switch):
        Parametrize binder2nd with const T& instead of T.
        * testsuite/25_algorithms/find/39546.cc: new test case

From-SVN: r147169
2009-05-06 11:20:35 +00:00
Paolo Carlini 326bc15919 revert: acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when possible.
2009-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

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

	* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
	possible.
	* configure: Regenerate.

From-SVN: r147154
2009-05-06 09:00:34 +00:00
Jonathan Wakely efdb734755 re PR libstdc++/39909 (non-TLS version of std::call_once causes terminate)
2009-05-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/39909
	* include/std/mutex (__get_once_functor_lock, __get_once_mutex,
	__set_once_functor_lock_ptr): Replace global lock object with local
	locks on global mutex.
	* src/mutex.cc (__get_once_functor_lock, __get_once_mutex,
	__set_once_functor_lock_ptr): Likewise, keeping old function to
	preserve ABI.
	(__once_proxy): Use pointer to local lock if set, global lock
	otherwise.
	* config/abi/pre/gnu.ver: Add new symbols to new ABI version.
	* testsuite/util/testsuite_abi.cc: Add GLIBCX_3.4.12 version.
	* testsuite/30_threads/call_once/39909.cc: New.

From-SVN: r147137
2009-05-05 22:32:38 +01:00
Jan Hubicka b91cc3b9dc settings.h (get): Mark const.
* include/parallel/settings.h (get): Mark const.
	* libsupc++/unwind-cxx.h (__cxa_call_terminate): Mark throw ().
	* libsupc++/eh_call.cc (__cxa_call_terminate): Mark throw ().
	* config/io/basic_file_stdio.cc (sys_open, is_open, fd, seekoff): Mark
	throw ().
	* config/io/basic_file_stdio.h (__basic_file, sys_open): Mark throw ().
	(is_open, fd): Mark pure and throw ().
	(seekoff): Mark throw ().

From-SVN: r147077
2009-05-03 16:51:50 +00:00
Paolo Carlini bd67512af1 acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when possible.
2009-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
	possible.
	* configure: Regenerate.

From-SVN: r147076
2009-05-03 16:13:59 +00:00
Jan Hubicka 25195e8264 functional_hash.h (explicit specializations of () operator): Mark pure.
* include/tr1_impl/functional_hash.h (explicit specializations of ()
	operator): Mark pure.

From-SVN: r147062
2009-05-02 13:22:49 +00:00
Jonathan Wakely 4c478ce8d4 create_testsuite_files: Remove thread directory.
2009-04-30  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* scripts/create_testsuite_files: Remove thread directory.

From-SVN: r147012
2009-04-30 20:04:03 +01:00
Benjamin Kosnik 7850920cd8 re PR libstdc++/39868 (libstdc++ generates man pages, which conflict with the linux manpages)
2009-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/39868
	* scripts/run_doxygen: Uncomment removal of includes.
	(problematic): Rewrite __cxxabiv1 namespace to abi.

From-SVN: r146923
2009-04-29 05:12:00 +00:00
Paolo Carlini cca36d72b9 2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last commit.

From-SVN: r146796
2009-04-26 10:12:08 +00:00
Jonathan Wakely afdb7762cb mutex (__get_once_functor_lock, [...]): Replace global lock object with local locks on global mutex.
2009-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex (__get_once_functor_lock, __get_once_mutex):
	Replace global lock object with local locks on global mutex.
	* src/mutex.cc: Likewise.
	* config/abi/pre/gnu.ver: Adjust.
	* testsuite/30_threads/call_once/call_once2.cc: New.

From-SVN: r146785
2009-04-25 21:14:27 +01:00
Paolo Carlini 3270032c59 re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)
2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39880
	PR libstdc++/39881
	PR libstdc++/39882
	* include/std/system_error (is_error_code_enum<errc>): Remove.
	(error_condition<>::error_condition(_ErrorCodeEnum,)
	error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
	(error_code<>::error_code(_ErrorCodeEnum,),
	error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
	* testsuite/19_diagnostics/system_error/39880.cc: New.
	* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
	* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
	* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Adjust.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
	* 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: Likewise.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r146781
2009-04-25 19:02:17 +00:00
Paolo Carlini bb81f9a082 re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)
2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39880
	PR libstdc++/39881
	PR libstdc++/39882
	* include/std/system_error (is_error_code_enum<errc>): Remove.
	(error_condition<>::error_condition(_ErrorCodeEnum,)
	error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
	(error_code<>::error_code(_ErrorCodeEnum,),
	error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
	* testsuite/19_diagnostics/system_error/39880.cc: New.
	* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
	* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
	* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Adjust.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
	* 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: Likewise.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r146780
2009-04-25 19:00:52 +00:00
Benjamin Kosnik 92851a93f1 authors.xml: Add space.
2009-04-24  Benjamin Kosnik  <bkoz@redhat.com>

	* xml/authors.xml: Add space.
	* xml/faq.xml: Update links.
	* xml/manual/intro.xml: Same.
	* xml/manual/abi.xml: Update.
	* xml/manual/appendix_contributing.xml: Fix typo.
	* xml/manual/status_cxxtr1.xml: Update links.
	* xml/manual/status_cxx1998.xml: Same.
	* xml/manual/status_cxx200x.xml: Same.

From-SVN: r146746
2009-04-24 20:39:16 +00:00
Jan Hubicka e762c6f4c6 array (at): Do not use builtin_expect.
* include/tr1_impl/array (at): Do not use builtin_expect.
	* include/ext/throw_allocator.h (allocate): Likewise.
	* include/ext/pool_allocator.h (allocate): Likweise.
	* include/ext/bitmap_allocator.h (allocate): Likewise.
	* include/ext/rc_string_base.h (_S_construct): Likewise.
	* include/ext/malloc_allocator.h (allocate): Likewise.
	* include/ext/mt_allocator.h (allocate): Likewise.
	* include/ext/sso_string_base.h (_M_construct): Likewise.
	* include/bits/basic_string.tcc (_S_construct): Likewise.

From-SVN: r146681
2009-04-24 09:35:19 +00:00
Jan Hubicka 1cae1c5fc0 cstdlib (abort, [...]): Mark noreturn throw ().
* include/c_std/cstdlib (abort, exit, _Exit): Mark noreturn throw ().
	(atexit, atoll, stroll, strtoull): Mark throw ()
	* include/c_std/cstdio (snprintf, vsnprintf, vscanf): Mark throw ().
	* include/c_std/cwchar (wcstold, wcstoll, wcstoull): Mark throw ().
	* include/c_global/cstdlib (abort, exit, _Exit): Mark noreturn throw ().
	(atexit, atoll, stroll, strtoull): Mark throw ()
	* include/c_global/cstdio (snprintf, vsnprintf, vscanf): Mark throw ().
	* include/c_wchar/cstdio (snprintf, vsnprintf, vscanf): Mark throw ().

From-SVN: r146604
2009-04-22 17:41:33 +00:00
Jan Hubicka 09f2a1e440 * include/ext/atomicity.h
(__exchange_and_add, __atomic_add): Mark throw ().
	* config/os/aix/atomicity.h
	* config/os/aix/atomicity.h
	* config/os/irix/atomicity.h
	* config/cpu/cris/atomicity.h
	* config/cpu/m68k/atomicity.h
	* config/cpu/hppa/atomicity.h
	* config/cpu/sparc/atomicity.h
	* config/cpu/i386/atomicity.h
	* config/cpu/i486/atomicity.h
	* config/cpu/sh/atomicity.h
	* config/cpu/generic/atomicity_mutex/atomicity.h
	* config/cpu/generic/atomicity_builtins/atomicity.h
	(__exchange_and_add, __atomic_add): Mark throw ().

From-SVN: r146576
2009-04-22 13:13:55 +00:00
Paolo Carlini ed2807f4cd re PR libstdc++/39835 (Bootstrap failure: libstdc++-v3/include/bits/random.h:3630: error: expected â,â or â...â before numeric constant)
2009-04-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39835
	* include/bits/random.h: Avoid the badname __alpha (and, for
	consistency, __beta too).
	* include/bits/random.tcc: Likewise.

From-SVN: r146516
2009-04-21 11:42:51 +00:00
Jan Hubicka 9b074dc6c1 stdatomic.h (__atomic_flag_for_address): Use _GLIBCXX_NOTHROW.
* include/c_compatibility/stdatomic.h (__atomic_flag_for_address): Use
	_GLIBCXX_NOTHROW.

From-SVN: r146348
2009-04-19 13:16:34 +00:00
Paolo Carlini c93c8cf442 2009-04-19 Paolo Carlini <paolo.carlini@oracle.com>
Trim last ChangeLog entry.

From-SVN: r146343
2009-04-19 10:34:40 +00:00
Jan Hubicka 3939adc2d6 Fix changelog entry.
From-SVN: r146342
2009-04-19 10:29:33 +00:00
Jan Hubicka 9225b33903 stdatomic.h (atomic_flag_test_and_set_explicit, [...]): Use _GLIBCXX_NOTHROW.
* c_compatibility/stdatomic.h (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit): Use
	_GLIBCXX_NOTHROW.
	* bits/c++config (_GLIBCXX_NOTHROW): New.

From-SVN: r146341
2009-04-19 09:36:10 +00:00
Paolo Carlini 7d0a3061a8 2009-04-18 Paolo Carlini <paolo.carlini@oracle.com>
Trim overlong ChangeLog entry.

From-SVN: r146334
2009-04-18 23:03:53 +00:00
Jan Hubicka 5cf217fff1 * eh_type.cc (__cxa_current_exception_type) Mark throw().
* unwind-cxx.h (__cxa_get_globals, __cxa_get_globals_fast): Mark const.
	(__cxa_get_exception_ptr): Mark pure.
	(__cxa_bad_cast, __cxa_bad_typeid): Mark noreturn
	(__terminate): Makr throw ().
	* exception (terminate): Mark throw().
	(uncaught_exception): Mark pure.
	* eh_ptr.cc (_M_safe_bool_dummy): Mark throw().
	* guard.cc (__cxa_guard_abort, __cxa_guard_release): Mark throw().
	* eh_terminate.cc (__terminate, terminate): Mark throw().
	* vec.cc (__cxa_vec_cleanup): Mark throw().
	* cxxabi.h (__cxa_vec_cleanup, __cxa_guard_release, __cxa_guard_abort): Mark throw ().
	(__cxa_pure_virtual): Mark noreturn.
	(__cxa_current_exception_type): Mark throw and pure.
	* exception_ptr.h (operator ==, !=, _M_get, !, ==,
	__cxa_exception_type): Mark pure.
	(_M_safe_bool_dummy): Mark pure and const.

From-SVN: r146331
2009-04-18 22:18:21 +00:00
Jan Hubicka 5d51b87af4 pool_allocator.cc (_M_get_free_list, [...]): Mark throw ()
* src/pool_allocator.cc (_M_get_free_list, _M_get_mutex): Mark throw ()
	* src/mt_allocator.cc (_M_reclaim_block, _M_reclaim_block,
	_M_destroy_thread_key): Mark throw ()
	* debug.cc (_M_get_mutex, _M_attach_single, _M_detach_single,
	_M_singular, _M_can_compare _M_get_mutex, _M_message,
	_M_get_max_length): Mark throw ().
	* include/debug/formatter.h (_M_message, _M_format_word,
	_M_get_max_length): Mark throw ().
	* include/debug/safe_base.h (_M_get_mutex, _M_attach_single,
	_M_detach_single): Mark throw ().
	(_M_singular, _M_can_compare, _M_get_mutex): Mark pure and throw ().
	* include/ext/pool_allocator.h (_M_get_free_list): Mark const and
	throw ()
	(_M_get_mutex): Mark throw ().
	* include/ext/mt_allocator.h (_M_reclaim_block): Mark throw ();
	(_M_destroy_thread_key): Mark CONST and throw.
	* include/bits/stl_list.h (swap, transfer, reverse, hook, unhook): Mark
	throw ().

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

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

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

From-SVN: r146323
2009-04-18 19:28:40 +00:00
Jan Hubicka b8add5942c formater.h: Include bits/c++config.h.
* include/debug/formater.h: Include bits/c++config.h.
	(_M_error): Mark noreturn.
	* include/bits/c++config (_GLIBCXX_PURE, _GLIBCXX_CONST,
	_GLIBCXX_NORETURN): New.
	* include/bits/stl_tree.h (_Rb_tree_increment, _Rb_tree_increment,
	_Rb_tree_decrement, _Rb_tree_decrement, _Rb_tree_black_count): Mark pure.
	* include/c_compatibility/stdatomic.h (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit,
	__atomic_flag_for_address): Mark by throw ().
	* src/atomic.cc (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit,
	__atomic_flag_for_address): Mark by throw ().

From-SVN: r146317
2009-04-18 15:48:16 +00:00
Uros Bizjak e31f581411 baseline_symbols.txt: Regenerated.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.

From-SVN: r146252
2009-04-17 14:10:22 +02:00
Jan Hubicka 1cf1c842c5 tree.cc (_Rb_tree_increment, [...]): Mark nothrow; update uses of _Rb_tree_rotate_left, _Rb_tree_rotate_right.
* tree.cc (_Rb_tree_increment, _Rb_tree_decrement,
	_Rb_tree_rebalance_for_erase, _Rb_tree_black_count): Mark nothrow;
	update uses of _Rb_tree_rotate_left, _Rb_tree_rotate_right.
	(_Rb_tree_rotate_left, _Rb_tree_rotate_right): Make wrapper and break
	out body to ...
	(local_Rb_tree_rotate_left, local_Rb_tree_rotate_right): New static
	functions.
	* stl_tree.h (_Rb_tree_increment, _Rb_tree_decrement,
	_Rb_tree_insert_and_rebalance, _Rb_tree_rebalance_for_erase,
	_Rb_tree_black_count): Mark nothrow.

From-SVN: r146184
2009-04-16 13:01:17 +00:00
Paolo Carlini 9093359a7b c++config: Revert inadvertent change.
2009-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config: Revert inadvertent change.

From-SVN: r146172
2009-04-16 11:48:38 +00:00
Paolo Carlini 42fb6c83dd forward_list.h: Remove default std::allocator<_Tp> from base classes.
2009-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h: Remove default std::allocator<_Tp>
	from base classes.
	* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.

From-SVN: r146171
2009-04-16 11:46:25 +00:00
Benjamin Kosnik 9434ad5384 html: Regenerate, remove un-needed.
2009-04-15  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html: Regenerate, remove un-needed.

From-SVN: r146145
2009-04-16 02:04:15 +00:00
Benjamin Kosnik 6ae8f77db7 html: Regenerate.
2009-04-15  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html: Regenerate.

From-SVN: r146140
2009-04-15 23:31:04 +00:00
Benjamin Kosnik 5e623d0be4 status_cxx1998.xml: Update to new table style.
2009-04-15  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/status_cxx1998.xml: Update to new table style.

	* doc/xml/gnu/gpl-3.0.xml: Add or adjust dbhtml markup.
	* doc/xml/gnu/fdl-1.2.xml: Same.
	* doc/xml/manual/numerics.xml: Same.
	* doc/xml/manual/concurrency.xml: Same.
	* doc/xml/manual/intro.xml: Same.
	* doc/xml/manual/status_cxxtr1.xml: Same.
	* doc/xml/manual/containers.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/utilities.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/using.xml: Same.
	* doc/xml/manual/localization.xml: Same.
	* doc/xml/manual/locale.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Same.

From-SVN: r146139
2009-04-15 23:26:59 +00:00
Benjamin Kosnik 2470b60106 status_cxxtr1.xml: Update to new table style.
2009-04-15  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/status_cxxtr1.xml: Update to  new table style.
	* doc/xml/manual/status_cxx200x.xml: Adjust.

From-SVN: r146131
2009-04-15 16:54:19 +00:00
Benjamin Kosnik f86ce6015e spine.xml: Remove unused license entity, update copyright year.
2009-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/spine.xml: Remove unused license entity, update
	copyright year.

	* doc/xml/manual/spine.xml: Markup for primary index terms.
	* doc/xml/manual/numerics.xml: Same.
	* doc/xml/manual/intro.xml: Same.
	* doc/xml/manual/containers.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/appendix_porting.xml: Same.
	* doc/xml/manual/utilities.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/localization.xml: Same.
	* doc/xml/manual/strings.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/algorithms.xml: Same.
	* doc/xml/manual/appendix_free.xml: Same.
	* doc/xml/manual/iterators.xml: Same.

	* doc/xml/gnu/gpl-3.0.xml: Fix xml markup regressions.
	* doc/xml/gnu/fdl-1.2.xml: Same.

	* doc/xml/manual/status_cxx200x.xml: Re-write.

From-SVN: r146077
2009-04-15 03:11:37 +00:00
Paolo Carlini a5d8781c69 2009-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* ChangeLog rotation.

From-SVN: r146002
2009-04-13 14:41:54 +00:00
Paolo Carlini 96a9203b1c PR libstdc++/39629 (final bits)
2009-04-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39629 (final bits)
	* include/bits/random.h (subtract_with_carry_engine<>::_S_modulus):
	Remove, consistently use __detail::_Shift<_UIntType, __w>::__value.
	* include/bits/random.tcc (shuffle_order_engine<>::operator()()):
	Fix formula for __j.
	* include/bits/random.tcc (operator==(const normal_distribution<>&,
	const normal_distribution<>&): Remove.
	* include/bits/random.h (operator==(const uniform_int_distribution<>&,
	const uniform_int_distribution<>&), operator==(const
	uniform_real_distribution<>&, const uniform_real_distribution<>&),
	operator==(const normal_distribution<>&, const normal_distribution<>&), 
	operator==(const lognormal_distribution<>&,
	const lognormal_distribution<>&), operator==(const
	chi_squared_distribution<>&, const chi_squared_distribution<>&),
	operator==(const cauchy_distribution<>&, const cauchy_distribution<>&),
	operator==(const fisher_distribution<>&, const fisher_distribution<>&),
	operator==(const student_t_distribution<>&,
	const student_t_distribution<>&), operator==(const
	bernoulli_distribution<>&, const bernoulli_distribution<>&),
	operator==(const binomial_distribution<>&, const
	binomial_distribution<>&), operator==(const geometric_distribution<>&,
	const geometric_distribution<>&), operator==(const
	negative_binomial_distribution<>&, const 
	negative_binomial_distribution<>&), operator==(const
	poisson_distribution<>&, const poisson_distribution<>&),
	operator==(const exponential_distribution<>&,
	const exponential_distribution<>&), operator==(const
	gamma_distribution<>&, const gamma_distribution<>&), operator==(const
	weibull_distribution<>&, const weibull_distribution<>&),
	operator==(const extreme_value_distribution<>&,
	const extreme_value_distribution<>&), operator==(const
	discrete_distribution<>&, const discrete_distribution<>&),
	operator==(const piecewise_constant_distribution<>&,
	const piecewise_constant_distribution<>&), operator==(const
	piecewise_linear_distribution<>&, const
	piecewise_linear_distribution<>&)): Remove.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: Remove.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: Likewise.

	* include/bits/random.h (linear_congruential_engine<>::seed(_Gen&,
	true_type), linear_congruential_engine<>::seed(_Gen&, false_type),
	mersenne_twister_engine<>::seed(_Gen&,
	true_type), mersenne_twister_engine<>::seed(_Gen&, false_type),
	subtract_with_carry_engine<>::seed(_Gen&,
	true_type), subtract_with_carry_engine<>::seed(_Gen&, false_type)):
	Remove, unused.
	* include/bits/random.tcc (linear_congruential_engine<>::
	seed(_Gen&, false_type): Likewise.

From-SVN: r145867
2009-04-09 23:37:08 +00:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Ian Lance Taylor 9767a048ab hashtable.h (erase): Correctly handle erasing a reference to an entry in the hash table.
* include/backward/hashtable.h (erase): Correctly handle erasing a
	reference to an entry in the hash table.
	* testsuite/backward/hash_map/25896.cc: New.
	* testsuite/backward/hash_set/25896.cc: New.

From-SVN: r145788
2009-04-08 23:58:31 +00:00
Adam Nemet 0b83c44bdf baseline_symbols.txt: Regenerate.
* config/abi/post/mips64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: New
	file.

From-SVN: r145779
2009-04-08 21:47:24 +00:00
Benjamin Kosnik 04b7027180 Makefile.am (${pch1a_output}): Use gnu++0x flags instead of debug.
2009-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (${pch1a_output}): Use gnu++0x flags instead
	of debug.
	* include/Makefile.in: Regenerate.
	* include/precompiled/stdc++.h: Add.

	* doc/xml/api.xml: Add gcc-4.4 link.
	* doc/html/api.html: Regenerate.

2009-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/random.h: Adjust doxygen markup.
	* doc/doxygen/user.cfg.in: Prefer C++0x to tr1 includes.

	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc: Use typedefs.

From-SVN: r145645
2009-04-07 01:46:45 +00:00
Andrew Stubbs 8f2b104d09 atomicity.h: Put the SH4A specific functions in the __gnu_cxx namespace.
2009-04-06  Andrew Stubbs  <ams@codesourcery.com>

	* config/cpu/sh/atomicity.h: Put the SH4A specific functions in the
	__gnu_cxx namespace.  Remove "static inline".

From-SVN: r145613
2009-04-06 16:47:32 +00:00
Paolo Carlini 1ae3576fa4 random.tcc (linear_congruential_engine<>:: seed(seed_seq&)): Fix typo in last fix for __m == 0.
2009-04-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (linear_congruential_engine<>::
	seed(seed_seq&)): Fix typo in last fix for __m == 0.

From-SVN: r145605
2009-04-06 14:50:06 +00:00
Paolo Carlini 94986f6d35 random.h (operator==): Mark all inline.
2009-04-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (operator==): Mark all inline.
	(mersenne_twister_engine): Enable #if 0 checks.

	* include/bits/random.h: Formatting tweaks.

From-SVN: r145602
2009-04-06 13:31:12 +00:00
Paolo Carlini 9769c19080 random.tcc (piecewise_linear_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Remove spurious closed parenthesis.
2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (piecewise_linear_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&)):
	Remove spurious closed parenthesis.

From-SVN: r145575
2009-04-05 22:51:37 +00:00
Paolo Carlini 2fcf6ffb76 PR libstdc++/39644 (partial)
2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39644 (partial)
	* include/bits/random.tcc (linear_congruential_engine<>::
	seed(seed_seq&), independent_bits_engine<>::operator(),
	generate_canonical(_UniformRandomNumberGenerator&)): Avoid log2l.

From-SVN: r145563
2009-04-05 16:56:16 +00:00
Paolo Carlini fe77a308e1 2009-04-04 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typos in last ChangeLog entry.

From-SVN: r145554
2009-04-04 23:10:42 +00:00
Paolo Carlini 42a733047e [multiple changes]
2009-04-05  Edward M. Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.h (struct _ShiftMin1): Fix small typo and
	thinko.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	default.cc: Enable.

2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39629 (partial)
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_move.cc: Use uint_fast64_t instead of unsigned long.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_copy.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/mt19937_64.cc: Use ull.

From-SVN: r145553
2009-04-04 23:09:02 +00:00
Paolo Carlini 95fe602ebe random: Remove, empty.
2009-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/random: Remove, empty.
	* include/tr1_impl/random.tcc: Likewise.

	* include/std/random: Minor clean-ups, formatting fixes, adjust
	copyright years.
	* include/bits/random.tcc: Likewise.
	* include/bits/random.h: Likewise.
	* include/tr1/random: Likewise.
	* include/tr1/random.tcc: Likewise.
	* include/tr1/random.h: Likewise.

From-SVN: r145493
2009-04-03 10:01:47 +00:00
Benjamin Kosnik 8e79468d01 [multiple changes]
2009-04-02  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Change to mersenne_twister_engine, add same defaults as
	mersenne_twister_engine/cons/default.cc.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Same.

	* include/bits/random.tcc (seed_seq::seed_seq): Uglify parameter
	to __il.
	* include/bits/random.h (mersenne_twister_engine): Qualify
	_ShiftMin1 with namespace __detail.
	(__detail::_ShiftMin1): Use __gnu_cxx::__numeric_traits::max until
	constexpr std::numeric_limits::max() can be used.
	(mersenne_twister_engine): Split apart static asserts into one
	assert per message. Temporarily disable the last three.

2009-04-02  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/Makefile.am: Update to N2836. Modified for new random headers.
	* include/Makefile.in: Ditto.
	* include/tr1_impl/random: Moved to tr1/random.h
	* include/tr1_impl/random.tcc: Moved to tr1
	* include/tr1/random: Just point to moved tr1 random headers.
	* include/tr1/random.tcc: Moved from tr1_impl.
	* include/tr1/random.h: Moved from tr1_impl/random.
	* include/std/random: Modified to point to std random headers.
	* include/bits/random.tcc: New implementation of std random facilities.
	* include/bits/random.h: Ditto.
	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Changed.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	non_uint_neg.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	serialize.cc
	* testsuite/26_numerics/random/mt19937.cc: New.
	* testsuite/26_numerics/random/mt19937_64.cc: New.
	* testsuite/26_numerics/random/minstd_rand.cc: New.
	* testsuite/26_numerics/random/minstd_rand0.cc: New.
	* testsuite/26_numerics/random/ranlux24_base.cc: New.
	* testsuite/26_numerics/random/ranlux48_base.cc: New.
	* testsuite/26_numerics/random/ranlux24.cc: New.
	* testsuite/26_numerics/random/ranlux48.cc: New.
	* testsuite/26_numerics/random/knuth_b.cc: New.
	* testsuite/26_numerics/random/default_random_engine.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/normal_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/normal_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/normal_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/seed_seq/cons/range.cc: New.
	* testsuite/26_numerics/random/seed_seq/cons/default.cc: New.
	* testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	parms_neg.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	parms_neg.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/requirements/
	typedefs.cc
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	initlist.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: New.

	* testsuite/26_numerics/random/exponential_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/random_device/cons/
	token.cc: New.
	* testsuite/26_numerics/random/random_device/cons/
	default.cc: New.
	* testsuite/26_numerics/random/random_device/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	initlist_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	initlist_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: New.

From-SVN: r145483
2009-04-02 23:45:56 +00:00
Dodji Seketeli d0940d5662 re PR c++/26693 (Access checks not performed for types in templates)
gcc/ChangeLog:
2009-04-02  Dodji Seketeli  <dodji@redhat.com>

    PR c++/26693
    * c-decl.c: (clone_underlying_type): Move this ...
    * c-common.c (set_underlying_type): ... here.
    Also, make sure the function properly sets TYPE_STUB_DECL() on
    the newly created typedef variant type.
    * c-common.h (is_typedef_decl, set_underlying_type): Declare ...
    * c-common.c (is_typedef_decl, set_underlying_type): ... new entry points.

gcc/cp/ChangeLog:
2009-04-02  Dodji Seketeli  <dodji@redhat.com>

    PR c++/26693
    * decl2.c (grokfield): when a typedef appears in a
    class, create the typedef variant type node for it.
    (save_template_attributes): Creating typedef variant type node
     here is now useless.
    * decl.c (grokdeclarator): If the typedef'ed struct/class was
    anonymous, set the proper type name to all its type variants.
    (xref_basetypes) : Fixup the variant types after setting
    TYPE_BINFO on REF.
    * name-lookup.c (pushdecl_maybe_friend): Reuse the
    set_underlying_type function to install typedef variant types.
    * cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): New template accessor
    macro.
    (append_type_to_template_for_access_check): New entry points.
    * semantics.c (check_accessibility_of_qualified_id):
    When a typedef that is a member of a class appears in a template,
    add it to the template. It will be ...
    * class.c (finish_struct_bits): Split type variant fixup into ...
    (fixup_type_variants): A new entry point.
    * pt.c (instantiate_class_template, instantiate_template ): ... access
    checked at template instantiation time.
    (resolve_type_name_type): The type name should be the name of the
    main type variant.
    (retrieve_specialization): Specializations of template typedefs aren't
    to be looked up in DECL_TEMPLATE_INSTANTIATIONS (tmpl).
    (append_type_to_template_for_access_check): New entry point.
    (tsubst_decl): For typedefs, build the variant type from the correct
    original type.
    (get_class_bindings): Fix function comment.
    (perform_typedefs_access_check): New entry point.

gcc/testsuite/ChangeLog:
2009-04-02  Dodji Seketeli  <dodji@redhat.com>

    PR c++/26693
    * g++.dg/template/typedef11.C: New test.
    * g++.dg/template/typedef12.C: Likewise.
    * g++.dg/template/typedef13.C: Likewise.
    * g++.dg/template/typedef14.C: Likewise.
    * g++.dg/template/typedef15.C: Likewise.
    * g++.dg/template/typedef16.C: Likewise.
    * g++.dg/template/sfinae3.C: Compile this pedantically.
    The only errors expected should be the one saying the typedef is ill
    formed.
    * g++.old-deja/g++.pt/typename8.C: Likewise.
    * g++.dg/template/access11.C: Update this.

libstdc++-v3/ChangeLog:
2009-04-02  Dodji Seketeli  <dodji@redhat.com>

    * include/ext/bitmap_allocator.h: the typedefs should be made public
    if we want them to be accessible. This has been revealed by the patch
    that fixes PR c++/26693 in g++.

From-SVN: r145440
2009-04-02 11:24:19 +02:00
Jakub Jelinek 4bb7dbf60e baseline_symbols.txt: Regenerated.
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.

From-SVN: r145437
2009-04-02 08:50:55 +02:00
Jason Merrill a70f5987c4 re PR c++/34691 (Default argument checking not performed after overload resolution with C linkage)
PR c++/34691
        * name-lookup.c (pushdecl_maybe_friend): Diagnose mismatched
        extern C declarations.

        * libsupc++/unwind-cxx.h: Correct __cxa_call_terminate prototype.

From-SVN: r145386
2009-03-31 23:34:30 -04:00
Jason Merrill 0d9c089222 re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope)
PR c++/37806
        * typeck.c (cp_apply_type_quals_to_decl): Don't apply any quals
        to a typedef.
        * tree.c (cp_build_qualified_type_real): Don't apply restrict to a
        function type.
        * decl.h (enum decl_context): Add TEMPLATE_TYPE_ARG.
        * decl.c (groktypename): Add is_template_arg parameter.
        (grokdeclarator): Allow function cv-quals on a template type arg.
        * parser.c (cp_parser_new_type_id, cp_parser_type_id): Add
        is_template_arg argument in calls to groktypename.
        * cp-tree.h: Adjust prototype.
        * error.c (dump_type_prefix, dump_type_suffix): Fix plain
        FUNCTION_TYPE printing.

        PR libstdc++/39310
        * include/tr1_impl/type_traits (is_function): Add partial
        specializations with function cv-quals.
        (__is_function_helper): Remove.
        (is_member_pointer): Don't define in terms of is_member_*_pointer.

From-SVN: r145365
2009-03-31 14:31:17 -04:00
Ian Lance Taylor 7db6438d78 hashtable.h (clear): Return quickly if the table is empty.
* include/backward/hashtable.h (clear): Return quickly if the
	table is empty.

From-SVN: r145318
2009-03-30 21:45:51 +00:00
Ian Lance Taylor 9027c95aba hashtable.h (_S_num_primes): Change to 29.
* include/backward/hashtable.h (_S_num_primes): Change to 29.
	(__stl_prime_list): Add 5 at the start of the list.

From-SVN: r145132
2009-03-27 22:01:15 +00:00
Paolo Carlini c0b753c770 2009-03-25 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.

From-SVN: r145079
2009-03-25 23:45:43 +00:00
Paolo Carlini 13c4b87740 [multiple changes]
2009-03-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/std/fstream (basic_filebuf<>::open(const std::string&,
	ios_base::openmode), basic_ifstream<>::basic_ifstream(const
	std::string&, ios_base::openmode), basic_ifstream<>::
	open(const std::string&, ios_base::openmode), basic_ofstream<>::
	basic_ofstream(const std::string&, ios_base::openmode),
	basic_ofstream<>::open(const std::string&, ios_base::openmode),
	basic_fstream<>::basic_fstream(const std::string&, ios_base::openmode),
	basic_fstream<>::open(const std::string&, ios_base::openmode)):
	Add in C++0x mode.
	* testsuite/27_io/basic_ofstream/open/char/2.cc: New.
	* testsuite/27_io/basic_ofstream/cons/char/2.cc: Likewise.
	* testsuite/27_io/basic_fstream/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_fstream/cons/char/1.cc: Likewise.
	* testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/5.cc: Likewise.

2009-03-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/27_io/basic_ofstream/cons/char/2.cc: Rename to...
	* testsuite/27_io/basic_ofstream/cons/char/1.cc: ... this.    
	* testsuite/27_io/basic_fstream/cons/3.cc: Rename to...
	* testsuite/27_io/basic_fstream/cons/1.cc: ... this.

From-SVN: r145078
2009-03-25 23:37:53 +00:00
Paolo Carlini 4ba8a4cb63 forward_list.h (_Fwd_list_node_base<>:: _M_transfer_after, [...]): Move out of line...
2009-03-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (_Fwd_list_node_base<>::
	_M_transfer_after, _M_reverse_after): Move out of line...
	* include/bits/forward_list.tcc: ... here.
	(forward_list<>::reverse): Move inline...
	* include/bits/forward_list.h: ... here; minor cosmetic changes.

From-SVN: r145069
2009-03-25 16:41:27 +00:00
Mark Mitchell 92da2d44d6 28277.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/28277.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-3.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-4.cc:
	Likewise.
	* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc:
	Likewise.

From-SVN: r145027
2009-03-24 06:37:16 +00:00
Mark Mitchell 51d3ad7eda iterator.cc: Update copyright year(s).
* testsuite/25_algorithms/search_n/iterator.cc: Update copyright
	year(s).
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
	Likewise.
	* testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.

From-SVN: r145026
2009-03-24 04:29:20 +00:00
Mark Mitchell 8ef20caeb4 iterator.cc: Condition iterations for simulators.
* testsuite/25_algorithms/search_n/iterator.cc: Condition
	iterations for simulators.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.
	* testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
	Condition stream width for simulators.
	* testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
	Likewise.
	* testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.

From-SVN: r144999
2009-03-22 16:02:44 +00:00
Benjamin Kosnik 0075846f90 appendix_contributing.xml: Add docbook style sheet version information.
2009-03-17  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Add docbook style
	sheet version information. Table-ize docbook element examples.
	* doc/xml/manual/using.xml: Human-readable header
	markup. Alphabetized. Add new headers.
	* doc/html: Regenerate.

From-SVN: r144923
2009-03-17 22:09:26 +00:00
Paolo Carlini e0de3d9303 faq.xml: Fix link to setup documentation.
2009-03-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/xml/faq.xml: Fix link to setup documentation.

From-SVN: r144875
2009-03-16 00:09:04 +00:00
Paolo Carlini 58366b08d7 type_traits (__add_lvalue_reference_helper, [...]): As an optimization, rewrite condition (avoid is_function).
2009-03-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__add_lvalue_reference_helper,
	__add_rvalue_reference_helper): As an optimization, rewrite
	condition (avoid is_function).

From-SVN: r144868
2009-03-15 00:56:31 +00:00
Paolo Carlini ab4c19d241 re PR libstdc++/39405 (std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts)
2009-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39405
	* testsuite/20_util/shared_ptr/cons/39405.cc: New.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc: Likewise.

From-SVN: r144839
2009-03-13 15:01:50 +00:00
Benjamin Kosnik 8f6678383c typesizes.cc: Include tweaks.
2009-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: Include tweaks.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/condition_variable/native_handle/
	typesizes.cc: Same.

From-SVN: r144830
2009-03-13 05:38:16 +00:00
Jonathan Wakely 32fdf2f406 shared_ptr.h: Add include guards.
2009-03-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/shared_ptr.h: Add include guards.
	* include/tr1/shared_ptr.h: Likewise.

From-SVN: r144778
2009-03-11 15:18:12 +00:00
Jonathan Wakely 5df9ac4b39 iostream: Fix doxygen link.
2009-03-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

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

From-SVN: r144777
2009-03-11 15:16:21 +00:00
Paolo Carlini 874b0a9e62 faq.xml: Fix links to implementation status pages.
2009-03-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/xml/faq.xml: Fix links to implementation status pages.

From-SVN: r144771
2009-03-11 02:11:08 +00:00
Paolo Carlini 23cdf8e8f6 complex (operator+(const complex<>&, const _Tp&), [...]): Do not assume real() returns a reference (against DR 387).
2009-03-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (operator+(const complex<>&, const _Tp&),
	operator+(const _Tp&, const complex<>&),
	operator-(const complex<>&, const _Tp&),
	operator-(const _Tp&, const complex<>&)): Do not assume real()
	returns a reference (against DR 387).
	* testsuite/26_numerics/complex/dr387_2.cc: New.

From-SVN: r144770
2009-03-11 01:51:59 +00:00
Benjamin Kosnik 33b4155d1b pthread4.cc: Move...
2009-03-02  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/thread/pthread4.cc: Move...
	* testsuite/21_strings/basic_string/pthread4.cc: ...here.
	* testsuite/thread/pthread5.cc: Move...
	* testsuite/23_containers/list/pthread5.cc: ...here.
	* testsuite/thread/pthread6.cc: Move...
	* testsuite/23_containers/map/pthread6.cc: ...here.
	* testsuite/thread/pthread7-rope.cc: Move...
	* testsuite/ext/rope/pthread7-rope.cc: ...here.
	* testsuite/thread/guard.cc: Move...
	* testsuite/18_support/pthread_guard.cc: ...here.
	* testsuite/thread/18185.cc: Move...
	* testsuite/21_strings/basic_string/pthread18185.cc: ...here.
	* testsuite/thread/pthread1.cc: Move...
	* testsuite/23_containers/list/pthread1.cc: ...here.
	* testsuite/thread/pthread2.cc: Move...
	* testsuite/27_io/basic_ofstream/pthread2.cc: ...here.
	* testsuite/thread/pthread3.cc: Move...
	* testsuite/27_io/basic_ostringstream/pthread3.cc: ...here.

	* testsuite/libstdc++-dg/conformance.exp: Remove thread directory.
	* testsuite/thread: Remove.

From-SVN: r144547
2009-03-02 18:55:54 +00:00
Benjamin Kosnik 48a3a45a6c pthread4.cc: Move...
2009-03-02  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/thread/pthread4.cc: Move...
	* testsuite/21_strings/basic_string/pthread4.cc: ...here.
	* testsuite/thread/pthread5.cc: Move...
	* testsuite/23_containers/list/pthread5.cc: ...here.
	* testsuite/thread/pthread6.cc: Move...
	* testsuite/23_containers/map/pthread6.cc: ...here.
	* testsuite/thread/pthread7-rope.cc: Move...
	* testsuite/ext/rope/pthread7-rope.cc: ...here.
	* testsuite/thread/guard.cc: Move...
	* testsuite/18_support/pthread_guard.cc: ...here.
	* testsuite/thread/18185.cc: Move...
	* testsuite/21_strings/basic_string/pthread18185.cc: ...here.
	* testsuite/thread/pthread1.cc: Move...
	* testsuite/23_containers/list/pthread1.cc: ...here.
	* testsuite/thread/pthread2.cc: Move...
	* testsuite/27_io/basic_ofstream/pthread2.cc: ...here.
	* testsuite/thread/pthread3.cc: Move...
	* testsuite/27_io/basic_ostringstream/pthread3.cc: ...here.

From-SVN: r144546
2009-03-02 18:49:03 +00:00
Ralf Wildenhues 7a9d3fe886 backport: Support GNU/kOpenSolaris.
Backport from git Libtool:

	2009-01-19  Robert Millan  <rmh@aybabtu.com>
	Support GNU/kOpenSolaris.
	* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
	(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
	(_LT_LANG_CXX_CONFIG) [kopensolaris*-gnu]: Recognize
	GNU/kOpenSolaris.

libjava/classpath/
	* configure: Regenerate.

libjava/
	* configure: Regenerate.

libssp/
	* configure: Regenerate.

libobjc/
	* configure: Regenerate.

libstdc++-v3/
	* configure: Regenerate.

libgfortran/
	* configure: Regenerate.

boehm-gc/
	* configure: Regenerate.

gcc/
	* configure: Regenerate.

libmudflap/
	* configure: Regenerate.

zlib/
	* configure: Regenerate.

libffi/
	* configure: Regenerate.

libgomp/
	* configure: Regenerate.

From-SVN: r144527
2009-03-01 17:49:31 +00:00
Adam Nemet 68c512f66d abi.exp: Add multilib support.
* testsuite/libstdc++-abi/abi.exp: Add multilib support.
	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove MULTISUBDIR
	from baseline_dir.
	* configure: Regenerate.
	* testsuite/Makefile.am (baseline_file): Remove variable.
	(site.exp): Set baseline_dir rather than baseline_file.
	(check-abi): Pass AM_RUNTESTFLAGS and RUNTESTFLAGS to runtest.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r144394
2009-02-23 20:42:53 +00:00
Benjamin Kosnik 4e0bdc5e22 this_thread: Move...
2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/30_threads/thread/this_thread: Move...
	* testsuite/30_threads/this_thread: ...here.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Move...
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: ...here.
	* testsuite/20_util/ratio/cons/cons_overflow.cc: Move...
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: ...here.
	* testsuite/20_util/ratio/operations/ops_overflow.cc: Move...
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: ...here.

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

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

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

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

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

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

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

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

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

	* include/std/memory: Add memory module.

	* include/std/ratio: Add ratio module.

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

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


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

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

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

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

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

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

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

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

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

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

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

From-SVN: r144290
2009-02-19 08:15:15 +00:00
Benjamin Kosnik 9b3003d590 system_error (system_category): To system_category().
2009-02-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/system_error (system_category): To system_category().
	(generic_category): To generic_category. DR 890.
	* src/system_error.cc: Define.
	* include/bits/functexcept.h: Only one __throw_system_error.
	* src/functexcept.cc: Same.
	* include/std/mutex: Fixup for changes above.
	* testsuite/19_diagnostics/error_condition/cons/1.cc: Same.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Same.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Same.
	* config/abi/pre/gnu.ver: Clean up exports.

From-SVN: r144259
2009-02-18 07:35:36 +00:00
Paolo Carlini bbcac3becb re PR libstdc++/39168 (Incorrect interpretation of CHAR_MAX inside grouping string in monetary and numeric facets.)
2009-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r144190
2009-02-15 16:47:57 +00:00
Chris Fairles 626dda69bc thread (_Impl_base): Move _M_id out and into ...
2009-02-13  Chris Fairles  <cfairles@gcc.gnu.org>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/thread (_Impl_base): Move _M_id out and into ...
	(thread): ...here. Call _M_make_routine in body of constructors.
	Adjust data member usage to reflect changes.
	(_M_make_routine): From _M_make_shared_data.
	(_M_start_thread): Add __shared_base_type argument.
	* src/thread.cc: Fixups for above.
	* config/abi/pre/gnu.ver: Adjust exports.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Enable.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Same.


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

From-SVN: r144171
2009-02-13 23:08:50 +00:00
Benjamin Kosnik f3eb9681f0 all.h (compare_type_to_native_type_sizes): To...
2009-02-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/thread/all.h (compare_type_to_native_type_sizes): To...
	(compare_type_to_native_type): ...this, add alignment check.
	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: Modify as above.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/condition_variable/native_handle/
	typesizes.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/
	typesizes.cc: Same.

	* testsuite/30_threads/thread/cons/1.cc: Add comments.
	* testsuite/30_threads/thread/cons/2.cc: Same.
	* testsuite/30_threads/thread/cons/3.cc: Same.
	* testsuite/30_threads/thread/cons/4.cc: Same.
	* testsuite/30_threads/thread/cons/5.cc: Same.
	* testsuite/30_threads/thread/cons/6.cc: Same.
	* testsuite/30_threads/thread/cons/7.cc: Same.
	* testsuite/30_threads/thread/cons/8.cc: Same.

	* testsuite/30_threads/thread/cons/9.cc: New.
	* testsuite/30_threads/thread/cons/moveable.cc: New.

	* src/condition_variable.cc: Clean up whitespace.
	* include/std/condition_variable: Same.

From-SVN: r144147
2009-02-13 00:25:16 +00:00
Benjamin Kosnik d5cf20212b all.h (compare_type_to_native_type_sizes): To...
2009-02-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/thread/all.h (compare_type_to_native_type_sizes): To...
	(compare_type_to_native_type): ...this, add alignment check.
	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: Modify as above.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/condition_variable/native_handle/
	typesizes.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/
	typesizes.cc: Same.

	* testsuite/30_threads/thread/cons/1.cc: Add comments.
	* testsuite/30_threads/thread/cons/2.cc: Same.
	* testsuite/30_threads/thread/cons/3.cc: Same.
	* testsuite/30_threads/thread/cons/4.cc: Same.
	* testsuite/30_threads/thread/cons/5.cc: Same.
	* testsuite/30_threads/thread/cons/6.cc: Same.
	* testsuite/30_threads/thread/cons/7.cc: Same.
	* testsuite/30_threads/thread/cons/8.cc: Same.

	* testsuite/30_threads/thread/cons/9.cc: New.
	* testsuite/30_threads/thread/cons/moveable.cc: New.

	* src/condition_variable.cc: Clean up whitespace.
	* include/std/condition_variable: Same.

From-SVN: r144142
2009-02-13 00:14:42 +00:00
Benjamin Kosnik f7459b6c53 condition_variable (condition_variable): Remove _M_internal_mutex.
2009-02-09  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/condition_variable (condition_variable): Remove
	_M_internal_mutex. Add private __native_type typedef.
	* src/condition_variable.cc (condition_variable::notify_one):
	Remove _M_internal_mutex use. Use typedef.
	(condition_variable::notify_all): Same.
	* include/std/mutex (mutex): Add private __native_type typedef. Use it.
	(recursive_mutex): Same.
	(timed_mutex): Same.
	(recursive_timed_mutex): Same.
	(once_flag): Make __native_type typedef private.

	* include/std/thread (this_thread): Add minimal markup.

	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Adjust line numbers.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.

	* testsuite/util/thread/all.h: Testsuite utilities for testing thread.
	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: New.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/condition_variable/native_handle/
	typesizes.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/
	typesizes.cc: Same.

From-SVN: r144053
2009-02-10 08:29:57 +00:00
Jack Howarth 9a3b094ff2 re PR testsuite/33300 ([libstdc++-v3] 27_io/ios_base/storage/2.cc with -m64 kills Darwin)
2009-02-09  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR testsuite/33300
	* libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc: Skip
	on darwin for lp64.

From-SVN: r144043
2009-02-09 20:53:22 +00:00
Adam Nemet 8deecedf4c configure.host: Set abi_baseline_pair for mips64*-linux.
* configure.host: Set abi_baseline_pair for mips64*-linux.
	* config/abi/post/mips64-linux-gnu/baseline_symbols.txt: New file.

From-SVN: r144041
2009-02-09 20:24:08 +00:00
Chris Fairles 4a50cd932f thread (this_thread::get_id): Inline.
2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/thread (this_thread::get_id): Inline.

From-SVN: r144029
2009-02-09 06:32:12 +00:00
Chris Fairles b47f0044ab thread (thread<>::thread(_Callable)): Explicitly use _Callable as template argument for _M_make_shared_data.
2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/thread (thread<>::thread(_Callable)): Explicitly use
        _Callable as template argument for _M_make_shared_data.
        * testsuite/30_threads/thread/cons/6.cc: New.
        * testsuite/30_threads/thread/cons/7.cc: New.
        * testsuite/30_threads/thread/cons/8.cc: New.

From-SVN: r144023
2009-02-09 00:13:47 +00:00
Benjamin Kosnik ede965edbc member: To..
2009-02-07  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/30_threads/thread/member: To..
	* testsuite/30_threads/thread/members: ...this.
	* testsuite/30_threads/condition_variable/member: To...
	* testsuite/30_threads/condition_variable/members: ...this.

From-SVN: r144014
2009-02-08 09:10:15 +00:00
Benjamin Kosnik d7afcd2b9b thread (thread::id): Move definition inside thread.
2009-02-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/thread (thread::id): Move definition inside thread.
	Use native_handle_type. Remove this_thread::get_id friend.
	Change __thread_data_ptr to __shared_base_ptr.
	(thread:🆔:id(native_handle_type): Make public. Still explicit.
	Use native_handle_type. Change _M_thread_id to _M_thread.
	(thread::__thread_data_base): Rename to _Impl_base. Use id, change
	_M_thread_handle to _M_id.
	(thread::__thread_data): Rename to _Impl.
	Fixup for renames.
	(thread::_M_make_thread_data): Return derived type.
	(thread::hardware_concurrency): Add definition for default case.
	(thread::get_id): Now can define inline.
	(thread): Change _M_thread_data to _M_data.
	(this_thread::get_id): Now can define inline.
	* src/thread.cc (__thread_proxy): Rename to
	execute_native_thread_routine.
	Fixup for other renames.
	* testsuite/30_threads/thread/cons/assign_neg.cc: New.
	* testsuite/30_threads/thread/cons/copy_neg.cc: New.
	* testsuite/30_threads/thread/algorithm: Move to..
	* testsuite/30_threads/thread/swap: ...this.
	* testsuite/30_threads/thread/member/hardware_concurrency.cc: Add.
	* testsuite/30_threads/thread/id/operators.cc: New.

From-SVN: r144007
2009-02-07 21:56:55 +00:00
Chris Fairles fe960d9257 tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
        (_Head_base<>::__swap_impl): Rename to _M_swap_impl.
        (_Tuple_impl<>::__swap_impl): Likewise and make protected to avoid
        exposing it in public std::tuple interface.

From-SVN: r143979
2009-02-06 06:01:40 +00:00
Chris Fairles 8644ecf59d thread (__thread_data_base): Nest class in std::thread.
2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
            Benjamin Kosnik  <bkoz@redhat.com>

        * include/std/thread (__thread_data_base): Nest class in std::thread.
        (__thread_data): Likewise.
        (__thread_data_ptr): Nest typedef in std::thread.
        * src/thread.cc (__thread_proxy): Qualify the above names.
        * config/abi/pre/gnu.ver: Remove unused exports.


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

From-SVN: r143969
2009-02-05 17:47:56 +00:00
Benjamin Kosnik 37d5c6baac unique_ptr.h: Remove private __this_type typedef.
2009-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/unique_ptr.h: Remove private __this_type typedef.
	* include/bits/stl_vector.h: Remove private vector_type typedef.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Fix line numbers.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Same.

From-SVN: r143949
2009-02-05 01:50:18 +00:00
Paolo Carlini bc2631e0c6 re PR libstdc++/25191 (exception_defines.h #defines try/catch)
2009-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r143913
2009-02-03 23:44:53 +00:00
Johannes Singler 22ec53ec66 algorithmfwd.h: Add parallelism default for many declarations.
2009-02-03  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algorithmfwd.h:
        Add parallelism default for many declarations.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/iterator.h: Use iterator_traits as usual.
        * include/parallel/par_loop.h:
        Include equally_split.h.
        (for_each_template_random_access_ed):
        Avoid calling the Result default constructor.
        * include/parallel/numeric: Replace
        for_each_template_random_access by
        for_each_template_random_access_ed in numeric functions.

From-SVN: r143902
2009-02-03 17:49:36 +00:00
Benjamin Kosnik 2319eb4e23 os_defines.h: Remove superfluous __NO_STRING_INLINES.
2009-02-02  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/gnu-linux/os_defines.h: Remove superfluous
	__NO_STRING_INLINES.

From-SVN: r143883
2009-02-02 22:07:48 +00:00
Jakub Jelinek 43014633b0 * lib/target-supports.exp
(check_effective_target_correct_iso_cpp_string_wchar_protos): New.
	* g++.dg/ext/builtin10.C: New test.

	* testsuite/21_strings/c_strings/char/3.cc: New test.
	* testsuite/21_strings/c_strings/wchar_t/3.cc: New test.

From-SVN: r143865
2009-02-02 12:27:50 +01:00
Paolo Carlini 349ac74671 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com>
Tweak last ChangeLog entry.

From-SVN: r143788
2009-01-30 12:11:17 +00:00
Ulrich Drepper 60822e0b57 cstring (memchr, [...]): Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not defined.
* include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
	Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
	defined.
	* include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
	Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
	defined.
	* include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
	Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
	defined.
	* include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
	Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
	defined.
	* testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
	argument is const char *, assign result to const char * var, not
	char *.
	* testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
	argument is const wchar_t *, assign result to const wchar_t * var, not
	wchar_t *.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r143773
2009-01-30 01:08:29 +01:00
Jonathan Wakely cbdab9c897 thread: Remove unused headers.
2009-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/thread: Remove unused headers.
	(__thread_data_base): Remove unused mutex and base.
	(thread::~thread): Only detach if joinable.
	(thread::joinable): Test if thread data ptr is empty.
	(thread::_M_thread_data_mutex): Remove.
	(thread::_M_get_thread_data): Remove.
	(thread::_M_make_thread_data): Remove overload, use make_shared.
	(thread:🆔:id): Make constructor explicit.
	* src/thread.cc (thread::join,thread::detach): Throw if not joinable.
	(thread::_M_start_thread): Break shared_ptr cycle on error.
	(__thread_proxy): Use shared_ptr swap instead of copy and reset.
	* testsuite/30_threads/thread/member/4.cc: New.
	* testsuite/30_threads/thread/member/5.cc: New.

From-SVN: r143772
2009-01-29 23:24:05 +00:00
Benjamin Kosnik 5292c0337d testsuite_common_types.h (has_trivial_cons_dtor): New.
2009-01-28  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_common_types.h (has_trivial_cons_dtor): New.
	(standard_layout): Just use !has_virtual_destructor for now.
	* testsuite/30_threads/mutex/requirements/standard_layout.cc: New.
	* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: New.
	* testsuite/30_threads/recursive_mutex/requirements/
	standard_layout.cc: New.
	* testsuite/30_threads/condition_variable/requirements/
	standard_layout.cc: New.
	* testsuite/29_atomics/atomic_address/requirements/
	standard_layout.cc: Adjust.
	* testsuite/29_atomics/atomic_flag/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_address/requirements/trivial.cc: New.
	* testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
	* testsuite/30_threads/condition_variable/requirements/typedefs.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust
	line numbers.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/requirements/standard_layout.cc:
	Remove, not required.

From-SVN: r143749
2009-01-29 00:25:17 +00:00
Jonathan Wakely 78b580a99e thread (__thread_data_base, thread): Rename member functions to match coding style.
2009-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/thread (__thread_data_base, thread): Rename member
	functions to match coding style.
	(thread::thread,thread::operator=): Define move operations.
	* src/thread.cc (__thread_data_base, thread): Rename member functions.
	* config/abi/pre/gnu.ver: Adjust.

From-SVN: r143577
2009-01-22 22:33:02 +00:00
Benjamin Kosnik 6a5af9dcd8 re PR target/38384 (shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00)
2009-01-22  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/38384
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Disable symbol versioning
	on HPUX.
	* configure: Regenerate.

From-SVN: r143576
2009-01-22 21:40:23 +00:00
Dodji Seketeli 03c2a308f3 Reverted commit 143546 related to PR c++/26693
From-SVN: r143562
2009-01-22 08:15:41 +01:00
Benjamin Kosnik 5904fbed9f functions.c: Remove atomic_flag_fence.
2009-01-21  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/29_atomics/headers/stdatomic.h/functions.c: Remove
	atomic_flag_fence.

From-SVN: r143557
2009-01-21 22:50:31 +00:00
Dodji Seketeli d597b3ce68 re PR c++/26693 (Access checks not performed for types in templates)
gcc/ChangeLog:
2009-01-21  Dodji Seketeli  <dodji@redhat.com>

	PR c++/26693
	* c-decl.c: (clone_underlying_type): Move this  ...
	* c-common.c (set_underlying_type): ... here.
	Also, make sure the function  properly sets TYPE_STUB_DECL() on
	the newly created typedef variant type.
	(is_typedef_decl ): New entry point.
	* tree.h: Added a new member member_types_needing_access_check to
	struct tree_decl_non_common.
	(set_underlying_type): New entry point.
	(is_typedef_type): Likewise.

gcc/cp/ChangeLog/
2009-01-21  Dodji Seketeli  <dodji@redhat.com>

	PR c++/26693
	* decl2.c (grokfield): when a typedef appears in a
	class, create the typedef variant type node for it.
	(save_template_attributes): Creating typedef variant type node
	 here is now useless.
	* decl.c (grokdeclarator): If the typedef'ed struct/class was
	anonymous, set the proper type name to all its type variants.
	* name-lookup.c (pushdecl_maybe_friend): Reuse the
	set_underlying_type function to install typedef variant types.
	* cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): New template accessor
	macro.
	(append_type_to_template_for_access_check): New entry points.
	* semantics.c (check_accessibility_of_qualified_id):
	When a typedef that is a member of a class appears in a template,
	add it to the template. It will be ...
	* pt.c (instantiate_class_template, instantiate_template ): ... access
	checked at template instantiation time.
	(tsubst): Handle the case of being called with NULL args.
	(resolve_type_name_type): The type name should be the name of the
	main type variant.
	(append_type_to_template_for_access_check): New entry point.

gcc/testsuite/ChangeLog
2009-01-21  Dodji Seketeli  <dodji@redhat.com>

	PR c++/26693
	* g++.dg/template/typedef11.C: New test.
	* g++.dg/template/typedef12.C: Likewise.
	* g++.dg/template/typedef13.C: Likewise.
	* g++.dg/template/typedef14.C: Likewise.
	* g++.dg/template/sfinae3.C: Compile this pedantically.
	The only errors expected should be the one saying the typedef is ill
	formed.
	* g++.old-deja/g++.pt/typename8.C: Likewise.
	* g++.dg/template/access11.C: Update this.

libstdc++-v3/ChangeLog:
2009-01-21  Dodji Seketeli  <dodji@redhat.com>

	* include/ext/bitmap_allocator.h: the typedefs should be made public
	if we want them to be accessible. This has been revealed by the patch
	that fixes PR c++/26693 in g++.

From-SVN: r143546
2009-01-21 17:14:49 +01:00
Benjamin Kosnik 954a782e53 re PR libstdc++/38834 (FAIL: abi_check on alpha)
2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	PR libstdc++/38834
	* config/abi/pre/gnu.ver: Correct char16_t and char32_t exports.
	* config/os/gnu-linux/ldbl-extra.ver: Tweak.


Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r143538
2009-01-21 04:04:24 +00:00
Benjamin Kosnik 53f506ed16 re PR libstdc++/38919 (math_stubs_long_double.cc: error: redefinition of 'long double ...' vs. /usr/x86_64-mingw32/include/math.h)
2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
            Rainer Emrich  <r.emrich@de.tecosim.com>

	PR libstdc++/38919
	* crossconfig.m4: Use GLIBCXX_CHECK_MATH_SUPPORT and
	GLIBCXX_CHECK_STDLIB_SUPPORT for mingw crosses.
	* configure: Regenerate.


Co-Authored-By: Rainer Emrich <r.emrich@de.tecosim.com>

From-SVN: r143526
2009-01-20 19:30:51 +00:00
Jonathan Wakely 8b6ded8d4f thread (__thread_data_base::__run): Make non-const.
* include/std/thread (__thread_data_base::__run): Make non-const.
	* testsuite/30_threads/thread/cons/5.cc: New.

From-SVN: r143483
2009-01-18 12:38:10 +00:00
Benjamin Kosnik 7d4260a382 Makefile.am (sources): Add math_stubs_float.cc.
2009-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add math_stubs_float.cc.
	* src/Makefile.in: Regenerate.
	* src/math_stubs_float.cc: New, from libmath/stubs.c.

From-SVN: r143457
2009-01-17 02:03:25 +00:00
Benjamin Kosnik 1457ddca5a Makefile.am (sources): Add math_stubs_long_double.cc.
2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add math_stubs_long_double.cc.
	* src/Makefile.in: Regenerate.
	* src/math_stubs_long_double.cc: New, from libmath/stubs.c.

From-SVN: r143420
2009-01-16 02:55:11 +00:00
Benjamin Kosnik adc8a1e3e0 re PR libstdc++/32666 (FAIL: abi_check hppa)
2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/32666
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/32666
	* Makefile.am (hosted_source): Remove libmath directory.
	* Makefile.in: Regenerate.
	* linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
	(AC_REPLACE_MATHFUNCS): Remove.
	(GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
	in GLIBCXX_CHECK_C99_TR1.
	* acinclude.m4: Remove libmath, need_math.
	* crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
	HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
	* configure.ac: Same.
	* configure: Regenerate.
	* fragment.am: Fix comment.
	* config.h.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/Makefile.am: Remove libmath references.
	* doc/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* src/compatibility.cc: Also export long double versions of "C" math
	library if hppa-linux.
	* config/abi/pre/gnu.ver: Remove unused __signbit exports.
	* doc/xml/manual/appendix_contributing.xml: Remove libmath reference.

	* libmath: Remove.
	* libmath/signbit.c: Same.
	* libmath/stubs.c: Same.
	* libmath/Makefile.in: Same.
	* libmath/copysignf.c: Same.
	* libmath/mathconf.h: Same.
	* libmath/signbitf.c: Same.
	* libmath/Makefile.am: Same.
	* libmath/signbitl.c: Same.

From-SVN: r143406
2009-01-15 20:02:11 +00:00
Chris Fairles 959d14e166 acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME], [...]): Remove.
2009-01-15  Chris Fairles  <cfairles@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME],
	[GLIBCXX_CHECK_NANOSLEEP]): Remove.
	([GLIBCXX_ENABLE_LIBSTDCXX_TIME]): Add.
	* configure.ac: Adjust.
	* doc/xml/manual/configure.xml: Update.
	* testsuite/lib/libstdc++.exp (check_v3_target_sched_yield): Add.
	* testsuite/lib/dg-options.exp (dg-require-sched-yield): Add.
	* testsuite/30_threads/thread/this_thread/2.cc: Use the latter.
	* configure: Regenerate.
	* config.h.in: Likewise.

	* src/thread.cc (thread::thread(), thread::~thread, thread::get_id,
	thread::joinable, thread::swap, this_thread::get_id,
	this_thread::yield): Define inline...
	* include/std/thread: ... here.
	* config/abi/pre/gnu.ver: Adjust.

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

From-SVN: r143397
2009-01-15 14:01:04 +00:00
Uros Bizjak 43b2b720fa hash_data_map_rand.cc: Add dg-timeout-factor 2.0.
* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc:
	Add dg-timeout-factor 2.0.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.

From-SVN: r143335
2009-01-13 13:55:08 +01:00
Uros Bizjak 616ea7ac83 * scripts/extract_symvers: Escape [ and ] brackets.
From-SVN: r143333
2009-01-13 09:30:12 +01:00
Uros Bizjak 6ce45dc046 extract_symvers: Add sed script to remove ' [<other>: xx] ' field from readelf output.
* scripts/extract_symvers: Add sed script to remove ' [<other>: xx] '
	field from readelf output.

From-SVN: r143331
2009-01-13 08:42:26 +01:00
Benjamin Kosnik 55c8e6a320 re PR target/38384 (shared link/execute fails for cross gcc from linux to target hppa64-hp-hpux11.00)
2009-01-12  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/38384
	* crossconfig.m4 (hpux): Update for 10.20, 11, 11.20.
	* configure: Regenerate.

2009-01-12  Benjamin Kosnik  <bkoz@redhat.com>

	* crossconfig.m4 (linux): Add GCC_CHECK_TLS to define _GLIBCXX_HAVE_TLS.
	Use GLIBCXX_CHECK_COMPILER_FEATURES to compute SECTION_FLAGS.

From-SVN: r143322
2009-01-13 01:49:30 +00:00
Jonathan Wakely 06bbcf59db regex (basic_regex::basic_regex): Use range constructor for _M_pattern.
* include/tr1_impl/regex (basic_regex::basic_regex): Use range
	constructor for _M_pattern.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	string.cc: Test construction from different basic_string type.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	string.cc: Likewise.

From-SVN: r143275
2009-01-11 17:25:23 +00:00
Benjamin Kosnik 9982752346 re PR libstdc++/36801 (config/cpu/generic/atomicity_mutex/atomicity.h incorrectly relies on global constructor ordering)
2009-01-07  Benjamin Kosnik  <bkoz@redhat.com>
	    Jonathan Larmour  <jifl@eCosCentric.com>

	PR libstdc++/36801
	* config/cpu/generic/atomicity_mutex/atomicity.h (get_atomic_mutex):
	New.
	(__gnu_cxx::__exchange_and_add): Use it.
	* src/atomic.cc (get_atomic_mutex): New.
	* src/debug.cc (get_safe_base_mutex): New.
	* src/locale.cc (get_locale_cache_mutex): New.
	* src/mt_allocator.cc (get_freelist): New.
	(get_freelist_mutex): New.
	* src/pool_allocator.cc (get_palloc_mutex): New.
	* include/std/mutex (__once_functor_lock): To
	(__get_once_functor_lock): ...this.
	* src/mutex.cc (__once_mutex): Don't export, use
	(get_once_mutex): ...this.
	* config/abi/pre/gnu.ver: Adjust exports.

From-SVN: r143182
2009-01-08 03:14:24 +00:00
Jakub Jelinek c4bca01b27 re PR libstdc++/38732 (Openoffice.org segfaults with runtime libs built from GCC trunk)
PR libstdc++/38732
	* libsupc++/unwind-cxx.h (__cxxabiv1::__cxa_exception): Remove
	referenceCount field again.
	(__cxxabiv1::__cxa_refcounted_exception): New struct.
	(__cxxabiv1::__get_refcounted_exception_header_from_obj,
	__cxxabiv1::__get_refcounted_exception_header_from_ue): New static
	inline functions.
	* libsupc++/eh_alloc.cc (__cxxabiv1::__cxa_allocate_exception,
	__cxxabiv1::__cxa_free_exception): Use __cxa_refcounted_exception
	instead of __cxa_exception.
	* libsupc++/eh_throw.cc (__gxx_exception_cleanup,
	__cxxabiv1::__cxa_throw): Likewise.
	* libsupc++/eh_ptr.cc (std::rethrow_exception,
	std::__exception_ptr::exception_ptr::_M_addref,
	std::__exception_ptr::exception_ptr::_M_release,
	__gxx_dependent_exception_cleanup): Likewise.
	* testsuite/18_support/exception/38732.cc: New test.

From-SVN: r143170
2009-01-07 23:50:42 +01:00
Jakub Jelinek 1f93f6871e re PR libstdc++/38092 (libstdc++ doesn't build with GNU ld 2.19 and Sun as: no .symver support)
PR libstdc++/38092
	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New test.
	* src/compatibility.cc: Don't use .symver directives if
	_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE is not defined.
	* config.h.in: Regenerated.
	* configure: Likewise.

From-SVN: r143169
2009-01-07 23:49:29 +01:00
Paolo Carlini 8877b5a9bd re PR libstdc++/38466 (Document std::pair vs. std::swap)
2009-01-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38466
	* include/bits/stl_pair.h: Document C++03 pair vs swap.

From-SVN: r143154
2009-01-07 13:00:48 +00:00
Benjamin Kosnik 238e3a40af locale_init.cc (locale::_S_initialize_once): Move construction of classic locale...
2009-01-06  Benjamin Kosnik  <bkoz@redhat.com>

	* src/locale_init.cc (locale::_S_initialize_once): Move construction
	of classic locale...
	(locale::classic): Here.

From-SVN: r143149
2009-01-07 01:56:26 +00:00