Commit Graph

356 Commits

Author SHA1 Message Date
Chris Fairles
92010a793b system_error (is_error_code_enum): Specialize for errc.
2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>

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

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

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

From-SVN: r141146
2008-10-15 16:48:13 +00:00
Paolo Carlini
4661c8fd43 system_error (native_category): Remove.
2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

From-SVN: r141039
2008-10-10 12:39:01 +00:00
Chris Fairles
3e93b27552 tuple (tuple<>::swap): Implement swap for tuple as per DR 522 [Ready].
2008-09-30  Chris Fairles  <cfairles@gcc.gnu.org>

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

From-SVN: r140822
2008-10-01 22:04:02 +00:00
Chris Fairles
57cb79efa4 mutex (try_lock): Implement generic try_lock.
2008-09-28  Chris Fairles <cfairles@gcc.gnu.org>

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

From-SVN: r140729
2008-09-28 09:05:07 +00:00
Paolo Carlini
19a6a2ea61 bitset: Adjust comment to reflect DR 853.
2008-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r139875
2008-09-01 23:24:09 +00:00
Paolo Carlini
b7e2f896db re PR testsuite/37149 (27_io/basic_ostream/inserters_other/char/error_code.cc)
2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r139206
2008-08-18 17:48:15 +00:00
Chris Fairles
9d4e8554de chrono (duration): Use explicitly defaulted ctor, cctor, dtor and assignment.
2008-07-31  Chris Fairles <chris.fairles@gmail.com>

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

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

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

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

From-SVN: r138255
2008-07-29 17:06:24 +00:00
Paolo Carlini
8cbb6b0003 re PR libstdc++/36924 (mt_allocator/deallocate_local_thread-5.cc and ext/mt_allocator/deallocate_local_thread-7.cc fail sometimes)
2008-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

      	PR libstdc++/36924
      	Revert:
      	2008-07-23  Chris Fairles <chris.fairles@gmail.com>

      	* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
      	Holds the lib that defines clock_gettime (-lrt or -lposix4).
      	* src/Makefile.am: Use it.
      	* configure: Regenerate.
      	* configure.in: Likewise.
      	* Makefile.in: Likewise.
      	* src/Makefile.in: Likewise.
      	* libsup++/Makefile.in: Likewise.
      	* po/Makefile.in: Likewise.
      	* doc/Makefile.in: Likewise.

From-SVN: r138127
2008-07-24 22:47:26 +00:00
Chris Fairles
d3098c948b condition_variable: Update to N2691 WD.
2008-07-23  Chris Fairles <chris.fairles@gmail.com>

        * include/std/condition_variable: Update to N2691 WD.
        * include/std/mutex: Likewise.
        * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
        * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.

From-SVN: r138096
2008-07-23 22:17:31 +00:00
Jason Merrill
988499f434 Add initializer_list support as per N2679.
* include/debug/unordered_map: Add initializer_list support.
        * include/debug/safe_association.h: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/set.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * include/tr1_impl/unordered_map: Likewise.
        * include/tr1_impl/hashtable: Likewise.
        * include/tr1_impl/unordered_set: Likewise.
        * include/tr1_impl/regex: Likewise.
        * include/std/valarray: Likewise.
        * include/std/unordered_map: Likewise.
        * include/std/unordered_set: Likewise.
        * include/bits/stl_list.h: Likewise.
        * include/bits/stl_map.h: Likewise.
        * include/bits/stl_set.h: Likewise.
        * include/bits/basic_string.h: Likewise.
        * include/bits/basic_string.tcc: Likewise.
        * include/bits/stl_multimap.h: Likewise.
        * include/bits/stl_vector.h: Likewise.
        * include/bits/stl_deque.h: Likewise.
        * include/bits/stl_multiset.h: Likewise.
        * include/bits/stl_bvector.h: Likewise.
        * include/ext/vstring.h: Likewise.
        * include/ext/rc_string_base.h: Likewise.
        * include/ext/sso_string_base.h: Likewise.
        * src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
        * src/Makefile.in: Likewise.
        * config/abi/pre/gnu.ver: Add new w?string exports.
...

From-SVN: r138043
2008-07-21 15:40:39 -04:00
Benjamin Kosnik
ad68e9fce0 user.cfg.in: Add complex, ratio, intializer_list.
2008-07-15  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add complex, ratio,
	intializer_list.
	(PREDEFINED): Add _GLIBCXX_USE_C99_STDINT_TR1.
	* doc/doxygen/doxygroups.cc: Add std::chrono.
	* include/bits/unique_ptr.h (default_delete, unique_ptr): Add markup.
	* libsupc++/initializer_list (initializer_list): Same.
	* include/std/ratio: Same.
	* include/std/chrono: Same.
	* include/std/complex: Disambiguate file markup.

From-SVN: r137868
2008-07-16 07:01:23 +00:00
Chris Fairles
15e38d0dce chrono: New, as per N2661.
2008-07-15  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/chrono: New, as per N2661.
        * src/chrono.cc: New.
        * include/Makefile.am: Update.
        * src/Makefile.am: Likewise.
        * include/Makefile.in: Regenerate.
        * src/Makefile.in: Likewise.
        * acinclude.m4: Add tests for clock_gettime and gettimeofday that
	define _GLIBCXX_HAS_CLOCK_GETTIME and/or _GLIBCXX_HAS_GETTIMEOFDAY.
        * configure.ac: Use them.
        * configure: Regenerate.
        * config.h.in: Likewise.
        * config/abi/pre/gnu.ver: Add symbols for system_clock::now() and
        system_clock::is_monotonic.
        * testsuite/20_util/duration/cons/1.cc: New.
        * testsuite/20_util/duration/cons/2.cc: Likewise.
        * testsuite/20_util/duration/cons/1_neg.cc: Likewise.
        * testsuite/20_util/duration/requirements/explicit_instantiation/
        explicit_instantiation.cc: Likewise.
        * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
        * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
        * testsuite/20_util/duration/comparisons/1.cc: Likewise.
        * testsuite/20_util/time_point/requirements/explicit_instantiation/
        explicit_instantiation.cc: Likewise.
        * testsuite/20_util/time_point/1.cc: Likewise.
        * testsuite/20_util/time_point/2.cc: Likewise.
        * testsuite/20_util/time_point/3.cc: Likewise.
        * testsuite/20_util/clocks/1.cc: Likewise.
        * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Add
        missing headers.
        * testsuite/17_intro/headers/c++200x/all.cc: Likewise.
        * include/precompiled/stdc++.h: Likewise and remove <date_time>.
        * doc/doxygen/user.cfg.in: Likewise.

From-SVN: r137858
2008-07-15 23:23:23 +00:00
Paolo Carlini
d5740f0288 date_time: Remove, per N2549, in WP.
2008-07-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/date_time: Remove, per N2549, in WP.
	* src/date_time.cc: Likewise.
	* config/abi/pre/gnu.ver: Remove <date_time> symbols.
	* include/Makefile.am: Remove date_time in std headers.
	* src/Makefile.am: Remove date_time.cc to source files.
	* include/Makefile.in: Regenerate.
	* src/Makefile.in: Likewise.
	* testsuite/31_date_time/headers/date_time/types_std.cc: Remove.
	* testsuite/31_date_time/headers/date_time/std_c++0x_neg.cc: Likewise.
	* testsuite/31_date_time/headers/date_time/functions_std.cc: Likewise.
	* testsuite/31_date_time/headers/date_time/synopsis.cc: Likewise.
	* testsuite/31_date_time/nanoseconds/requirements/traits.cc: Likewise.
	* testsuite/31_date_time/nanoseconds/requirements/duration.cc: Likewise.
	* testsuite/31_date_time/system_time/requirements: Likewise.
	* testsuite/31_date_time/system_time/requirements/traits.cc: Likewise.
	* testsuite/17_intro/headers/c++200x/all.cc: Adjust.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Adjust.

From-SVN: r137736
2008-07-12 10:16:16 +00:00
Chris Fairles
cfa9a96b64 type_traits: Add common_type.
2008-07-08  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/type_traits: Add common_type.
        * testsuite/20_util/common_type/requirements/
	explicit_instantiation.cc: New.
        * testsuite/20_util/common_type/requirements/
	typedefs-1.cc: Likewise.

From-SVN: r137618
2008-07-08 11:59:22 +00:00
Paolo Carlini
a7543cfdcd libstdc++.exp (check_v3_target_stdint): New.
2008-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_stdint): New.
	* testsuite/lib/dg-options.exp (dg-require-cstdint): New.
	* testsuite/20_util/ratio/cons/cons1.cc: Use it.
	* testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops1.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops2.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops3.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
	* testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
	* testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.

	* include/std/type_traits: Fix comment typo.

From-SVN: r137612
2008-07-08 01:11:18 +00:00
Roger Sayle
c9faf4654f system_error (is_error_code_enum): Use identifier _Tp instead of _T to avoid conflict with system macro on Darwin.
* include/std/system_error (is_error_code_enum): Use identifier
	_Tp instead of _T to avoid conflict with system macro on Darwin.
	(is_error_condition_enum): Likewise.

From-SVN: r137529
2008-07-06 17:38:08 +00:00
Paolo Carlini
ea31932d53 [multiple changes]
2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/ratio: Prefer __INTMAX_MAX__ to INTMAX_MAX (INTMAX_MIN).

2008-07-05  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/ratio: Documentation for std::ratio class. Add conditions 
        to ratio_less to prevent overflow.
        * testsuite/20_util/ratio/comparisons/comp2.cc: New.
        * testsuite/20_util/ratio/cons/cons_overflow.cc: Update dg-error line
        numbers.

From-SVN: r137504
2008-07-05 10:24:08 +00:00
Chris Fairles
4acedca122 ratio: New, per N2661.
2008-07-04  Chris Fairles  <chris.fairles@gmail.com>

	* include/std/ratio: New, per N2661.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.
	* testsuite/20_util/ratio/cons/cons1.cc: New.
	* testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops1.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops2.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops3.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
	* testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.

From-SVN: r137482
2008-07-04 18:45:09 +00:00
Paolo Carlini
ca0f8fd1ee [multiple changes]
2008-06-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_move.h: Rename to move.h.
	* include/std/utility: Adjust.
	* include/ext/vstring_util.h: Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_heap.h: Likewise.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.
	* testsuite/util/testsuite_iterators.h: Likewise.
	* include/Makefile.am: Likewise.
	* include/Makefile.in: Regenerate.

2008-06-21  Chris Fairles  <chris.fairles@gmail.com>

	* include/bits/unique_ptr.h: New.
	* include/std/memory: Adjust.
	* include/Makefile.am: Add.
	* testsuite/20_util/unique_ptr/requirements/explicit_instantiation/
	explicit_instantiation.cc: New.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Likewise.
	* include/Makefile.in: Regenerate.

From-SVN: r137003
2008-06-21 16:55:17 +00:00
Paolo Carlini
3fd29fa912 complex (pow(const complex<>&, int)): Do not define in C++0x mode, per DR 844.
2008-06-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (pow(const complex<>&, int)): Do not define in
	C++0x mode, per DR 844.
	* include/tr1/complex (pow(const complex<>&, int)): Remove.
	* doc/xml/manual/intro.xml: Add an entry for DR 844.
	* testsuite/26_numerics/complex/dr844.cc: New.
	* testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Adjust.

From-SVN: r136694
2008-06-12 10:17:53 +00:00
Paolo Carlini
57317d2a2c tuple: Ifndef __GXX_EXPERIMENTAL_CXX0X__ just error out.
2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple: Ifndef __GXX_EXPERIMENTAL_CXX0X__ just error out.
	* include/std/date_time: Likewise.
	* include/std/system_error: Likewise.
	* include/std/type_traits: Likewise; fix typo in macro name.
	* include/std/regex: Likewise.
	* include/std/random: Likewise.
	* include/std/unordered_map: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/unordered_set: Likewise.
	* include/std/mutex: Likewise.
	* include/std/array: Likewise.

	* include/c_std/cmath: Fix obsolete comment.
	* include/c_global/cmath: Likewise.

From-SVN: r135890
2008-05-26 02:19:57 +00:00
Paolo Carlini
23ed71c60c complex (complex<>::real(_Tp), [...]): Add per DR 387.
2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (complex<>::real(_Tp), complex<>::imag(_Tp),
	complex<float>::real(float), complex<float>::imag(float),
	complex<double>::real(double), complex<double>::imag(double),
	complex<long double>::real(long double),
	complex<long double>::imag(long double)): Add per DR 387.
	(complex<>::real(), complex<>::imag(), complex<float>::real(),
	complex<float>::imag(), complex<double>::real(),
	complex<double>::imag(), complex<long double>::real(),
	complex<long double>::imag(long double)): Adjust in C++0x mode.
	(real(complex<>&), imag(complex<>&), real(const complex<>&),
	imag(const complex<>&)): Likewise.
	* testsuite/26_numerics/complex/dr387.cc: New.
	* doc/xml/manual/intro.xml: Add an entry for DR 387.

From-SVN: r135878
2008-05-25 18:59:19 +00:00
Paolo Carlini
2acceeac67 complex: Trivial stylistic changes...
2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex: Trivial stylistic changes, define inline
	members inline, consistently with the rest of the library.
	(pow(const _Tp&, const complex<>&)): Minor tweak.

From-SVN: r135872
2008-05-25 16:55:23 +00:00
Paolo Carlini
740508bee2 tuple: Replace int -> size_t throughout per DR 775.
2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple: Replace int -> size_t throughout per DR 775. 
	* include/tr1_impl/array: Likewise.
	* include/tr1_impl/utility: Likewise.
	* doc/xml/manual/intro.xml: Add an entry for DR 775.

From-SVN: r135834
2008-05-23 23:08:41 +00:00
Paolo Carlini
3cd54fc92d complex (proj(const std::complex<>&), proj(_Tp)): Add per DR 781.
2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (proj(const std::complex<>&), proj(_Tp)):
	Add per DR 781.
	* include/tr1_impl/complex(polar(const _Tp&, const _Up&)): Move to...
	* include/tr1/complex: ... here.
	* doc/xml/manual/intro.xml: Add an entry for DR 781.
	* testsuite/26_numerics/complex/dr781.cc: Add.
	* acinclude.m4 ([GLIBCXX_ENABLE_C99]): Update.
	* configure: Regenerate.

From-SVN: r135757
2008-05-22 11:44:00 +00:00
Paolo Carlini
0fda18dd70 bitset (bitset<>::bitset(const char*)): Add per DR 778.
2008-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::bitset(const char*)): Add per DR 778.
	(bitset<>::_M_copy_from_ptr): Add.
	(bitset<>::_M_copy_from_string): Forward to the latter.
	* doc/xml/manual/intro.xml: Add an entry for DR 778.
	* testsuite/23_containers/bitset/cons/2.cc: Add.

From-SVN: r135738
2008-05-21 20:46:16 +00:00
Paolo Carlini
5fb0445da6 PR c++/33979 (partial)
2008-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/33979 (partial)
	* include/tr1_impl/functional_hash.h (hash<char16_t>,
	hash<char32_t>): Add specializations.
	* include/tr1_impl/type_traits (is_integral<char16_t>,
	is_integral<char32_t>): Likewise.
	* include/std/limits (numeric_limits<char16_t>,
	numeric_limits<char32_t>): Likewise.
	* src/limits_c++0x.cc: Add.
	* src/Makefile.am: Update.
	* testsuite/20_util/hash/requirements/explicit_instantiation.cc:
	Update.
	* testsuite/20_util/is_integral/value.cc: New.
	* testsuite/20_util/is_integral/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_integral/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.	
	* config/abi/pre/gnu.ver: Export new numeric_limits symbols at
	GLIBCXX_3.4.11.
	* configure: Regenerate.
	* src/Makefile.in: Likewise.
	* config.h.in: Likewise.

From-SVN: r135668
2008-05-20 18:11:34 +00:00
Benjamin Kosnik
70593ad2f1 system_error: Align to current draft specifications.
2008-05-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/system_error: Align to current draft specifications.
	* src/system_error.cc: Same.
	* src/functexcept.cc: Adjust for corrected system_error construction.
	* include/std/ostream: Adjust error_code inserter.
	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove sys_nerr test.
	* config/abi/pre/gnu.ver: Add new exports.
	
	* testsuite/util/testsuite_error.h: Consolidate error testing
	utilities here.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Use
	testsuite_error, adjust line numbers and constructor calls.
	* testsuite/19_diagnostics/error_code/operators/equal.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/default.cc: Same.
	* testsuite/19_diagnostics/error_category/operators/equal.cc: Same.
	* testsuite/19_diagnostics/error_category/operators/not_equal.cc: Same.
	* testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc: 
	Same.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Same.
	* testsuite/19_diagnostics/system_error/what-1.cc: Same.
	* testsuite/19_diagnostics/system_error/what-2.cc: Same.
	* testsuite/19_diagnostics/system_error/what-big.cc: Same.
	* testsuite/19_diagnostics/system_error/what-3.cc: Same.
	* testsuite/19_diagnostics/system_error/what-4.cc: Same.

From-SVN: r135446
2008-05-16 21:55:00 +00:00
Benjamin Kosnik
22ac021be4 mutex (mutex::try_lock): Eat errors.
2008-05-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/mutex (mutex::try_lock): Eat errors.
	(mutex::unlock): Same.
	(recursive_mutex::try_lock): Eat errors.
	(recursive_mutex::unlock): Same.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Add
	-pthreads, adjust line numbers.
	* testsuite/30_threads/mutex/native_handle/1.cc: Same.
	* testsuite/30_threads/mutex/cons/1.cc: Same.
	* testsuite/30_threads/mutex/try_lock/1.cc: Same.
	* testsuite/30_threads/mutex/try_lock/2.cc: Same.
	* testsuite/30_threads/mutex/lock/1.cc: Same.
	* testsuite/30_threads/mutex/unlock/1.cc: Same.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: Same.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Same.

From-SVN: r135321
2008-05-15 00:52:48 +00:00
Benjamin Kosnik
d9cdfe6a7f sstream: Adjust braces.
2008-05-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/sstream: Adjust braces.
	* include/bits/fstream.tcc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Add
	-shared-libgcc.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.

	* doc/doxygen/user.cfg.in: Remove thread include.

From-SVN: r135291
2008-05-14 13:12:02 +00:00
Benjamin Kosnik
4db6bc0f6e mutex (mutex::mutex): Fix usage of initializing macro.
2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/mutex (mutex::mutex): Fix usage of initializing macro.
	(recursive_mutex::recursive_mutex): Same.
	(once_flag::once_flag): Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Fix line numbers.
	* testsuite/30_threads/mutex/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.

From-SVN: r135015
2008-05-07 00:55:51 +00:00
Benjamin Kosnik
68a97d242c condition_variable: New.
2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/condition_variable: New.
	* include/std/mutex: New.
	* src/condition_variable.cc: New.
	* src/mutex.cc: New.
	* include/bits/functexcept.h: Add __throw_system_error varients.
	* src/functexcept.cc: Same.
	* config/abi/pre/gnu.ver: Add exports.

	* doc/xml/manual/using.xml: Add new includes.
	* doc/doxygen/user.cfg.in: Doxygen support.
	* doc/doxygen/doxygroups.cc: Same.

	* include/Makefile.am: Add mutex, condition_variable.
	* include/Makefile.in: Regenerated.
	* src/Makefile.am: Add mutex.cc, condition_variable.cc.
	* src/Makefile.in: Regenerated.

	* testsuite/30_threads: New.
	* testsuite/30_threads/lock_error: New.
	* testsuite/30_threads/mutex: New.
	* testsuite/30_threads/mutex/dest: New.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: New.
	* testsuite/30_threads/mutex/native_handle: New.
	* testsuite/30_threads/mutex/native_handle/1.cc: New.
	* testsuite/30_threads/mutex/cons: New.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: New.
	* testsuite/30_threads/mutex/cons/1.cc: New.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: New.
	* testsuite/30_threads/mutex/requirements: New.
	* testsuite/30_threads/mutex/requirements/typedefs.cc: New.
	* testsuite/30_threads/mutex/try_lock: New.
	* testsuite/30_threads/mutex/try_lock/1.cc: New.
	* testsuite/30_threads/mutex/try_lock/2.cc: New.
	* testsuite/30_threads/mutex/lock: New.
	* testsuite/30_threads/mutex/lock/1.cc: New.
	* testsuite/30_threads/mutex/unlock: New.
	* testsuite/30_threads/mutex/unlock/1.cc: New.
	* testsuite/30_threads/recursive_mutex: New.
	* testsuite/30_threads/recursive_mutex/dest: New.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: New.
	* testsuite/30_threads/recursive_mutex/native_handle: New.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: New.
	* testsuite/30_threads/recursive_mutex/cons: New.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: New.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: New.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: New.
	* testsuite/30_threads/recursive_mutex/requirements: New.
	* testsuite/30_threads/recursive_mutex/requirements/typedefs.cc: New.
	* testsuite/30_threads/lock_guard: New.
	* testsuite/30_threads/lock_guard/requirements: New.
	* testsuite/30_threads/lock_guard/requirements/typedefs.cc: New.
	* testsuite/30_threads/lock_guard/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/headers: New.
	* testsuite/30_threads/headers/mutex: New.
	* testsuite/30_threads/headers/mutex/types_std_c++0x.cc: New.
	* testsuite/30_threads/headers/mutex/std_c++0x_neg.cc: New.
	* testsuite/30_threads/headers/condition_variable: New.
	* testsuite/30_threads/headers/condition_variable/
	types_std_c++0x.cc: New.
	* testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: New.
	* testsuite/30_threads/once_flag: New.
	* testsuite/30_threads/unique_lock: New.
	* testsuite/30_threads/unique_lock/requirements: New.
	* testsuite/30_threads/unique_lock/requirements/typedefs.cc: New.
	* testsuite/30_threads/unique_lock/requirements/
	explicit_instantiation.cc: New.
	* testsuite/17_intro/headers/c++200x/all.cc: Add new includes.

From-SVN: r135007
2008-05-06 21:11:47 +00:00
Benjamin Kosnik
a93a597ae7 re PR libstdc++/35922 (std::unordered_map missing in debug mode)
2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/35922
	* include/std/unordered_map: Include debug/unordered_map if
	_GLIBCXX_DEBUG.
	* testsuite/23_containers/unordered_map/requirements/debug.cc: Move...
	* testsuite/23_containers/unordered_map/requirements/
	debug_container.cc: ...here.
	* testsuite/23_containers/unordered_map/requirements/debug_mode.cc: New.
	* testsuite/23_containers/unordered_set/requirements/debug.cc: Move...
	* testsuite/23_containers/unordered_set/requirements/
	debug_container.cc: ...here.
	* testsuite/23_containers/unordered_set/requirements/debug_mode.cc: New.

From-SVN: r134693
2008-04-26 02:21:37 +00:00
Benjamin Kosnik
4514bed67d tuple: Consistency check for include guard, doxygen file markup.
2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/tuple: Consistency check for include guard, doxygen
	file markup.	
	* include/std/date_time: Same.
	* include/std/type_traits: Same.
	* include/std/regex: Same.
	* include/std/array: Same.
	* include/std/system_error: Same, add error_code ctor.

From-SVN: r134171
2008-04-10 19:02:57 +00:00
Benjamin Kosnik
939759fcc9 run_doxygen: Remove html_output_dir.
2008-03-25  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Remove html_output_dir. Downgrade to
	Doxygen 1.5.1.
	* doc/doxygen/style.css: Delete.
	* doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.5.1.
	(INPUT): Update.
	(PREDEFINED): Update.
	(HTML_OUTPUT): Remove html_output_dir, use html.
	(HTML_STYLESHEET): Remove style.css.
	* doc/doxygen/tables.html: Remove style.css use.
	* doc/doxygen/mainpage.html: Nested lists for Namespaces and Classes.
	* doc/doxygen/doxygroups.cc: Namespace edits.
	* doc/doxygen/Intro.3: Correct typo.

	* doc/xml/api.xml: Add gcc-4.3 links.
	* doc/html/api.html: Regenerate.	
	
	* include/debug/debug.h: Document namepaces here.
	* include/parallel/base.h: Same.
	* include/ext/typelist.h: Same.
	* include/ext/pb_ds/tag_and_trait.hpp: Same.
	
	* include/tr1_impl/random: Adjust line break.
	* include/tr1_impl/unordered_map: Correct and or add markup.
	* include/tr1_impl/boost_shared_ptr.h: Correct and or add markup.
	* include/tr1_impl/functional_hash.h: Same.
	* include/tr1_impl/cmath: Same.
	* include/tr1_impl/functional: Same.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/complex: Same.
	* include/tr1_impl/type_traits: Same.
	* include/tr1_impl/regex: Same.
	* include/tr1_impl/array: Same.
	* include/std/tuple: Same.
	* include/std/date_time: Same.
	* include/std/system_error: Same.
	* include/std/type_traits: Same.
	* include/ext/enc_filebuf.h: Same.
	* include/ext/throw_allocator.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/concurrence.h: Same.
	* include/ext/codecvt_specializations.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/array_allocator.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/allocator.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/tr1/poly_laguerre.tcc: Same.
	* include/tr1/riemann_zeta.tcc: Same.
	* include/tr1/beta_function.tcc: Same.
	* include/tr1/tuple: Same.
	* include/tr1/exp_integral.tcc: Same.
	* include/tr1/gamma.tcc: Same.
	* include/tr1/hypergeometric.tcc: Same.
	* include/tr1/modified_bessel_func.tcc: Same.
	* include/tr1/legendre_function.tcc: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/special_function_util.h: Same.
	* include/tr1/bessel_function.tcc: Same.
	* include/tr1/cmath: Same.
	* include/tr1/poly_hermite.tcc: Same.
	* include/tr1/ell_integral.tcc: Same.
	* config/abi/compatibility.h: Adjust file name.

	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
	line numbers.	
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.

From-SVN: r133544
2008-03-26 06:27:35 +00:00
Paolo Carlini
41ff0d66b3 [multiple changes]
2008-03-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
	Update.
	* testsuite/17_intro/headers/c++200x/all.cc: Likewise.
	* include/precompiled/stdc++.h: Likewise.

2008-03-16  Pedro Lamarão  <pedro.lamarao@gmail.com>

	* include/std/date_time: New file.
	* src/date_time.cc: New file.
 	* config/abi/pre/gnu.ver: Added <date_time> symbols in version
 	GLIBCXX_3.4.11 and changed two patterns in version GLIBCXX_3.4
	that matched new symbols.
	* include/Makefile.am: Add date_time in std headers.
	* src/Makefile.am: Add date_time.cc to source files.
	* include/Makefile.in: Regenerate.
	* src/Makefile.in: Likewise.

2008-03-16  Pedro Lamarão  <pedro.lamarao@gmail.com>

      * testsuite/31_date_time/headers/date_time/types_std.cc: New.
      * testsuite/31_date_time/headers/date_time/std_c++0x_neg.cc: Likewise.
      * testsuite/31_date_time/headers/date_time/functions_std.cc: Likewise.
      * testsuite/31_date_time/headers/date_time/synopsis.cc: Likewise.
      * testsuite/31_date_time/nanoseconds/requirements/traits.cc: Likewise.
      * testsuite/31_date_time/nanoseconds/requirements/duration.cc: Likewise.
      * testsuite/31_date_time/system_time/requirements: Likewise.
      * testsuite/31_date_time/system_time/requirements/traits.cc: Likewise. 	

2008-03-16  Paolo Carlini  <pcarlini@suse.de>

	* config.h.in: Regenerate.

From-SVN: r133278
2008-03-16 18:35:44 +00:00
Chris Jefferson
230636fe5e re PR libstdc++/35480 (Relational operators for <tr1/tuple> don't error on different sized tuples)
2008-03-06  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/35480
	* include/tr1/tuple (operator==, operator<): Fix.
	* include/std/tuple (operator==, operator<): Likewise.
	* testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc: New.
	* testsuite/20_util/tuple/comparison_operators/35480.cc: Likewise.

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

From-SVN: r132983
2008-03-06 18:35:26 +00:00
Paolo Carlini
b5b5e640fc [multiple changes]
2008-02-18  Pedro Lamarao <pedro.lamarao@mndfck.org>

	* include/std/tuple: Fixes for moveable, non-copyable types.
	* testsuite/20_util/tuple/moveable2.cc: New.

2008-02-18  Paolo Carlini  <pcarlini@suse.de>

	* include/std/tuple (operator+(tuple<>&&, tuple<>&&): Remove.

From-SVN: r132389
2008-02-18 13:32:01 +00:00
Paolo Carlini
b3aaa61791 re PR libstdc++/16251 (bogus default constructor for std::basic_iostream)
2008-02-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/16251
	* include/std/istream (basic_istream<>::basic_istream()): Call
	this->init().
	(basic_iostream<>::basic_iostream(basic_streambuf<>*)): Don't
	do it here, per 27.6.1.5.1/1.
	* include/std/ostream (basic_ostream<>::basic_ostream()): Call
	this->init().
	* testsuite/27_io/basic_iostream/cons/16251.C: New.

	* testsuite/27_io/basic_iostream/cons/2020.cc: Minor tweaks.

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

From-SVN: r131982
2008-01-31 18:44:55 +00:00
Benjamin Kosnik
4312e020f1 [multiple changes]
2008-01-18  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/*: To...
	* doc/*: ...here.
	* testsuite/Makefile.am: Move doc-performance to...
	* Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to...
	* doc/Makefile.am: Consolidate documentation creation here.
	(doc-doxygen-html): New.
	(doc-doxygen-man): New.
	(doc-performance): New.
	* doc/Makefile.in: New.
	* acinclude.m4 (glibcxx_SUBDIRS): Add doc directory.
	* doc/doxygen/guide.html: Edit for unified html configuration.
	* doc/doxygen/mainpage.html: Same.
	* doc/doxygen/run_doxygen: Same, more namespace fixups for man
	generation.
	* doc/doxygen/user.cfg.in: Update for doxygen 1.5.4.
	
	* include/tr1_impl/random: Remove maint from doxygen markup.
	* include/tr1_impl/functional: Same.
	* include/std/tuple: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/limits: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/sstream: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/rc_string_base.h: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/postypes.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_construct.h: Same.
	* include/bits/stl_relops.h: Same.
	* include/tr1/tuple: Same.
	* include/backward/auto_ptr.h: Same.

	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Fixups for line number changes.	
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Same.

	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* scripts/make_graphs.py: Correct paths for new layout.
	
2008-01-17  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (AC_LC_MESSAGES): Remove serial.
	* linkage.m4 (AC_REPLACE_MATHFUNCS): Same.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r131625
2008-01-18 08:16:51 +00:00