Commit Graph

1762 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
Benjamin Kosnik
78b5828f3d regex: Remove unimplemented function definitions.
2009-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1_impl/regex: Remove unimplemented function definitions.
	* testsuite/28_regex/init-list.cc: Compile only.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_extended.cc: Same.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/*: Same.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/*: Same.

From-SVN: r143125
2009-01-06 17:41:02 +00:00
Richard Guenther
9c01326d9a re PR libstdc++/38720 (_Relative_pointer_impl invokes undefined behavior)
2009-01-04  Richard Guenther  <rguenther@suse.de>

	PR libstdc++/38720
	* include/ext/pointer.h (_Relative_pointer_impl): Use an unsigned
	integer type for storage, arithmetic and comparisons.
	* testsuite/ext/ext_pointer/1_neg.cc: Adjust line numbers.

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

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

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

From-SVN: r142994
2009-01-01 10:08:31 +00:00
Jack Howarth
c3329535ac 21674.cc: Add xfail on all targets except darwin.
2008-12-18  Jack Howarth  <howarth@bromo.med.uc.edu>

	* testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
	Add xfail on all targets except darwin.
	* libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/
	1674.cc: Same.
	* libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc: Correct syntax
	for xfailing on all targets except linux.

From-SVN: r142819
2008-12-18 21:08:28 +00:00
Jack Howarth
d711bdded5 c99_classification_macros_c.cc: Don't xfail test on darwin8 or later.
2008-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>

        * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Don't xfail test on darwin8 or later.

From-SVN: r142797
2008-12-17 17:51:49 +00:00
Jack Howarth
91102877a1 c99_classification_macros_c.cc: Don't xfail excessive errors on darwin8 or later.
2008-12-16  Jack Howarth  <howarth@bromo.med.uc.edu>

        * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Don't xfail excessive errors on darwin8 or later.

From-SVN: r142782
2008-12-16 18:54:30 +00:00
Benjamin Kosnik
d4e1b0727a cstdatomic: Remove assert include.
2008-12-15  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

From-SVN: r142742
2008-12-13 20:01:57 +00:00
H.J. Lu
81ff169c9e re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp)
2008-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR libstdc++/37144
	* testsuite/util/regression/trait/assoc/type_trait.hpp
	(regression_test_type_traits): Add const to pair_type_rebind.

From-SVN: r142736
2008-12-12 17:40:15 -08:00
Benjamin Kosnik
50ce8d3d78 cstdatomic: Update to N2798.
2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
	    Richard Henderson  <rth@redhat.com>

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

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


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

From-SVN: r142714
2008-12-12 17:10:16 +00:00
Jakub Jelinek
2d07fd8ae2 re PR libstdc++/37582 (std::pow strange overload resolution)
PR c++/37582
	* testsuite/26_numerics/headers/cmath/37582.cc: New.

From-SVN: r142707
2008-12-12 12:22:33 +01:00
Paolo Carlini
a5d137be06 [multiple changes]
2008-12-08  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

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

From-SVN: r142548
2008-12-08 11:51:32 +00:00
Paolo Carlini
015daa3a7b re PR libstdc++/38399 (money_get<> read decimal point when frac_digits() <= 0)
2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r142487
2008-12-05 18:23:39 +00:00
Paolo Carlini
118f7432df re PR libstdc++/38411 (Revision 142439 caused 22_locale/locale/cons/7.cc execution test)
2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38411
	* testsuite/22_locale/numpunct/members/char/2.cc: Use is_IS instead
	of fr_FR.
	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/7.cc: Likewise.

From-SVN: r142472
2008-12-05 13:07:53 +00:00
Paolo Carlini
1d9aba8105 re PR libstdc++/38368 (locale(const char* std_name) may create locale with broken facets)
2008-12-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38368
	* config/locale/gnu/numeric_members.cc (numpunct<char>::
	_M_initialize_numpunct, numpunct<wchar_t>::_M_initialize_numpunct):
	Fix for THOUSANDS_SEP == '\0' consistently with "C" locale.
	* config/locale/gnu/monetary_members.cc (moneypunct<char, true>::
	_M_initialize_moneypunct, moneypunct<char, false>::
	_M_initialize_moneypunct, moneypunct<wchar_t, true>::
	_M_initialize_moneypunct, moneypunct<wchar_t, false>::
	_M_initialize_moneypunct): Fix for __MON_DECIMAL_POINT == '\0' or
	__MON_THOUSANDS_SEP == '\0' consistently with "C" locale.
	* testsuite/22_locale/locale/cons/38368.cc: New.

From-SVN: r142439
2008-12-04 17:16:27 +00:00
Paolo Carlini
95e5f0ce00 re PR libstdc++/38365 (Locale, constructed from named and unnamed locales, become named)
2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38365
	* src/localename.cc (locale::locale(const locale&, const locale&,
	category)): Fix.
	* testsuite/22_locale/locale/cons/38365.cc: New.

From-SVN: r142349
2008-12-02 10:57:22 +00:00
Benjamin Kosnik
a40fff0edb re PR libstdc++/38080 (dead links in libstdc++ headers)
2008-12-01  Benjamin Kosnik  <bkoz@redhat.com>

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

From-SVN: r142344
2008-12-02 04:55:54 +00:00
Janis Johnson
d4038ca243 re PR testsuite/28870 (configuring, over-riding timeout values in testsuite)
gcc/
	PR testsuite/28870
	* doc/sourcebuild.texi (Test Directives): Add dg-timeout and
	dg-timeout-factor.

gcc/testsuite/
	PR testsuite/28870
	* lib/timeout.exp: New.
	* lib/timeout-dg.exp: New.
	* lib/gcc-dg.exp: Include new timeout library files.
	(dg-test): Unset timeout variables.
	* lib/gcc.exp (gcc_target_compile): Set timeout value from new proc.
	* lib/g++.exp (g++_target_compile): Ditto.
	* lib/gfortran.exp (gfortran_target_compile): Ditto.
	* lib/objc.exp (objc_target_compile): Ditto.
	* lib/obj-c++.exp (obj-c++_target_compile): Ditto.
	* lib/obj-c++.exp (obj-c++_target_compile): Ditto.
	* lib/gnat.exp (gnat_target_compile): Ditto.

libstdc++-v3/
	PR testsuite/28870
	* testsuite/lib/libstdc++.exp: Include new timeout library files.
	(libstdc++_init): Define tool_timeout.
	(dg-test): Override DejaGnu proc.
	(v3_target_compile): Set timeout value from new proc.
	(v3_target_compile_as_c): Ditto.

libmudflap/
	PR testsuite/28870
	* testsuite/lib/mfdg.exp (dg-test): Use new timeout support.
	(dg-timeout): Remove.
	(standard-wait): Remove.
	* testsuite/lib/libmudflap.exp: Include new timeout library files.
	(libmudflap_target_compile): Set timeout value from new proc.

libgomp/
	PR testsuite/28870
	* testsuite/lib/libgomp.exp: Include new timeout library files.
	(libgomp_target_compile): Set timeout value from new proc.

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

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

From-SVN: r142152
2008-11-24 11:13:44 +00:00
Paolo Carlini
6b96ae3a28 38210.cc: Tweak.
2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r142086
2008-11-21 10:14:14 +00:00
Paolo Carlini
d2f6b13b3b re PR libstdc++/38210 (num_put<>::do_put(void*) performs padding incorrectly when adjustfield==internal)
2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

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

From-SVN: r142048
2008-11-20 16:00:17 +00:00
Paolo Carlini
085b55410d PR libstdc++/37986 (cont)
2008-11-12  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

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

From-SVN: r141769
2008-11-11 14:31:48 +00:00
Paolo Carlini
aa06026b2e 1_neg.cc: Adjust dg-error line numbers.
2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/ext_pointer/1_neg.cc: Adjust dg-error line numbers.

From-SVN: r141767
2008-11-11 13:49:46 +00:00
Paolo Carlini
b5aaf3268c erase.cc: Fix.
2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc: Fix.
	* testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
	Likewise.

From-SVN: r141766
2008-11-11 13:18:39 +00:00
Bob Walters
1b32e4e506 forward_list.h: Support non-standard pointer types
2008-11-11  Bob Walters  <bob.s.walters@gmail.com>

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

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

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

From-SVN: r141674
2008-11-07 15:26:25 +00:00
Paolo Carlini
f0bf39b4d0 2008-11-05 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r141611
2008-11-05 15:36:06 +00:00
Paolo Carlini
de83a7a859 2008-11-05 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

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

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

From-SVN: r141596
2008-11-05 02:05:59 +00:00