Commit Graph

760 Commits

Author SHA1 Message Date
Benjamin Kosnik 32ade5590e ios_locale.cc: Fixes for -pedantic.
2010-02-16  Benjamin Kosnik  <bkoz@redhat.com>

	* src/ios_locale.cc: Fixes for -pedantic.
	* src/system_error.cc: Same.
	* src/locale.cc: Same.
	* src/list.cc: Same.
	* src/locale_facets.cc: Same.
	* src/locale_init.cc: Same.
	* src/ios.cc: Same.
	* config/locale/darwin/ctype_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.cc: Same.
	* config/locale/generic/collate_members.cc: Same.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/generic/monetary_members.cc: Same.
	* config/locale/generic/time_members.cc: Same.
	* config/io/basic_file_stdio.cc: Same.

	* libsupc++/pbase_type_info.cc: Fixes for -fno-rtti.
	* libsupc++/pointer_type_info.cc: Same.
	* libsupc++/eh_personality.cc: Same.

	* include/std/system_error: Throw spacing.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/ios_base.h: Same.

	* testsuite/17_intro/headers/c++200x/all_no_rtti.cc: New.
	* testsuite/17_intro/headers/c++1998/all_no_rtti.cc: New

From-SVN: r156822
2010-02-17 05:43:24 +00:00
Paolo Carlini f7e657cc3a gnu.ver: Revert last changes.
2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Revert last changes.

From-SVN: r156727
2010-02-11 23:49:20 +00:00
Paolo Carlini 13b7990c1a gnu.ver: Avoid exporting inadvertently std::nested_exception symbols at GLIBCXX_3.4.
2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Avoid exporting inadvertently
	std::nested_exception symbols at GLIBCXX_3.4.

From-SVN: r156698
2010-02-11 14:59:46 +00:00
Paolo Carlini 240c7f7f57 re PR libstdc++/16896 (Use of non-reserved names in stl_list.h)
2010-02-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/16896
	* include/bits/stl_list.h (_List_node_base::transfer): Rename
	to _M_transfer.
	(_List_node_base::reverse): Rename to _M_reverse.
	(_List_node_base::hook): Rename to _M_hook.
	(_List_node_base::unhook): Rename to _M_unhook; adjust callers.
	* include/bits/list.tcc: Adjust callers.
	* src/list.cc: Adjust.
	* src/compatibility.cc: Likewise.
	* src/compatibility-list.cc: New.
	* src/compatibility-debug_list.cc: Likewise.
	* src/compatibility-parallel_list.cc: Likewise.
	* src/Makefile.am: Add.
	* src/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Export _M_* symbols.

	* src/hash.cc: Rename to hash-aux.cc.
	* src/compatibility-ldbl.cc: Adjust.
	* src/compatibility-c++0x.cc: Likewise.
	* src/hash_tr1.cc: Likewise.

	* src/hashtable.cc: Rename to hashtable-aux.cc.
	* src/hashtable_c++0x.cc: Adjust.
	* src/hashtable_tr1.cc: Likewise.

	* src/limits_c++0x.cc: Fold...
	* src/limits.cc... here.

From-SVN: r156578
2010-02-07 18:36:48 +00:00
Paolo Carlini 75a631c5c9 re PR libstdc++/42989 (operator= for rvalue reference for wstring disappears in libstdc++.so.6.0.14)
2010-02-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42989
	* config/abi/pre/gnu.ver: Fix wstring move assignment operator typo.

From-SVN: r156556
2010-02-06 21:30:52 +00:00
Jonathan Wakely b7200e3fbe condition_variable (condition_variable_any): Provide definitions for all members.
2010-02-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/condition_variable (condition_variable_any): Provide
	definitions for all members.
	* src/condition_variable.cc (condition_variable_any): Adjust
	definitions.
	* config/abi/pre/gnu.ver: Adjust exports for condition_variable_any.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc: New.
	* testsuite/30_threads/condition_variable_any/members/2.cc: New.
	* testsuite/30_threads/condition_variable_any/requirements/
	standard_layout.cc: Remove.
	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: Remove.

From-SVN: r156479
2010-02-03 20:16:22 +00:00
Paolo Carlini cdf5f5a34d condition_variable (enum class cv_status): Add and use it throughout, per N3000.
2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/condition_variable (enum class cv_status): Add and
	use it throughout, per N3000.
	(condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate),
	wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)):
	Provide definitions.
	* src/condition_variable.cc (condition_variable_any::notify_one,
	condition_variable_any::notify_all): Likewise.
	* config/abi/pre/gnu.ver: Export.
	* testsuite/30_threads/condition_variable_any/requirements/
	typedefs.cc: New.
	* testsuite/30_threads/condition_variable_any/requirements/
	standard_layout.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Adjust.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.

From-SVN: r156358
2010-01-29 16:59:55 +00:00
Andreas Krebbel b4b04ed67d gnu.ver: Avoid time_get pattern conflicts.
2010-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/abi/pre/gnu.ver: Avoid time_get pattern conflicts.

From-SVN: r156275
2010-01-27 09:15:19 +00:00
Paolo Carlini 10154e0d52 basic_string.h (basic_string<>:: basic_string(basic_string&&), [...]): Add.
2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (basic_string<>::
	basic_string(basic_string&&), operator=(basic_string&&),
	assign(basic_string&&)): Add.
	* config/abi/pre/gnu.ver: Export new symbols.
	* include/ext/vstring.h (__versa_string<>::assign(__versa_string&&)):
	Add.
	(operator=(__versa_string&&)): Don't call clear unnecessarily.
	* include/ext/rc_string_base.h (__rc_string_base<>::
	__rc_string_base(__rc_string_base&&)): Simplify a tad.
	* testsuite/21_strings/basic_string/cons/char/moveable.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
	* testsuite/ext/vstring/assign/move_assign.cc: Likewise.
	* testsuite/21_strings/basic_string/assign/char/move_assign.cc:
	Likewise.
	* testsuite/21_strings/basic_string/assign/wchar_t/move_assign.cc:
	Likewise.

From-SVN: r155788
2010-01-10 13:38:47 +00:00
Paolo Carlini 79667f82ad re PR libstdc++/42573 ([C++0x] shrink_to_fit() missing)
2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42573
	* include/bits/allocator.h (struct __shrink_to_fit): Add.
	* include/bits/stl_deque.h (deque<>::shrink_to_fit): Add.
	* include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::shrink_to_fit): Likewise.
	* include/bits/basic_string.h (basic_string<>::shrink_to_fit):
	Likewise.
	* include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise.
	* include/debug/deque: Add corresponding using declaration.
	* include/debug/vector: Likewise.
	* include/debug/string: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/vector: Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New.
	* testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
	Likewise.
	* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
	Likewise.
	* testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r155733
2010-01-08 13:01:24 +00:00
Paolo Carlini ac2bb43770 re PR libstdc++/38081 (time_get<>::do_get_weekday does not always recognize full names of weekdays)
2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38081
	* include/bits/locale_facets_nonio.h (time_get<>::
	_M_extract_wday_or_month): New, declare.
	* include/bits/locale_facets_nonio.tcc (time_get<>::
	_M_extract_wday_or_month): Define.
	(time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it.
	* config/abi/pre/gnu.ver: Export new symbols.
	* doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and
	ru_RU.ISO-8859-5.
	* testsuite/lib/libstdc++.exp: Adjust.
	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New.
	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.

From-SVN: r155659
2010-01-05 20:05:20 +00:00
Benjamin Kosnik ac2e5c890a re PR libstdc++/42456 (Revision 155377 failed some C++ atomic tests)
2009-12-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42456
	* src/atomic.cc: Move _GLIBCXX_ASM_SYMVER define within guard.
	* config/abi/pre/gnu.ver: Add non-volatile exports.

From-SVN: r155393
2009-12-22 08:23:08 +00:00
Dave Korn ce7611f2f8 re PR target/42377 (libstdc++.dll.a misses a definition of std::string::reserve)
PR target/42377
	* config/abi/pre/gnu.ver: Adjust mangled function signatures to permit
	LLP64 sizetypes throughout.

From-SVN: r155318
2009-12-17 15:25:36 +00:00
Jonathan Wakely ec903a9c42 functional (function::function): Move construct target.
2009-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/functional (function::function): Move construct target.
	(function::operator=): Use perfect forwarding for argument.
	(function::operator()): Use new __throw_bad_function_call.
	* include/bits/functexcept.h (__throw_bad_function_call): Declare.
	* src/functexcept.cc (__throw_bad_function_call): Define.
	* config/abi/pre/gnu.ver: Add new symbol.
	* testsuite/20_util/function/cons/move_target.cc: New.
	* testsuite/20_util/function/assign/move_target.cc: New.

From-SVN: r155261
2009-12-15 17:42:47 +00:00
Jakub Jelinek b66887e4d0 re PR c++/42317 (Issues with comdat virtual dtors)
PR c++/42317
	* cgraph.h (struct cgraph_node): Add same_comdat_group field.
	* cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group
	circular list.
	(cgraph_node_can_be_local_p): Return false for DECL_COMDAT with
	node->same_comdat_group.
	* ipa.c (cgraph_remove_unreachable_nodes): For any reachable node
	mark all its same_comdat_group nodes as also reachable.
	(cgraph_externally_visible_p): Return true even if any of
	same_comdat_group nodes has address taken.
	* lto-cgraph.c (lto_output_node): Stream out same_comdat_group.
	(output_cgraph): Ensure other same_comdat_group nodes are also
	included.
	(input_node): Stream in same_comdat_group.
	(input_cgraph_1): Fix up same_comdat_group fields from references
	to pointers.
	* cgraphunit.c (cgraph_analyze_functions): Mark all other
	same_comdat_group nodes as reachable.
	(cgraph_mark_functions_to_output): For each node->process process
	also other same_comdat_group nodes.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes
	with same_comdat_group non-NULL.
	(cgraph_mark_inline_edge): Likewise.

	* decl2.c (cp_write_global_declarations): Clear DECL_EXTERNAL
	also on all other functions in the same comdat group.
	* optimize.c (maybe_clone_body): Also optimize virtual implicit
	dtors.  For virtual comdat dtors tell cgraph that base and deleting
	dtor are in the same comdat group.

	* config/abi/pre/gnu.ver: Don't export certain base dtors that
	weren't previously exported.

	* g++.dg/opt/dtor2.C: New test.
	* g++.dg/opt/dtor2.h: New file.
	* g++.dg/opt/dtor2-aux.cc: New file.

From-SVN: r155143
2009-12-10 22:58:49 +01:00
Paolo Carlini df4d18ad80 PR libstdc++/42261 (take 2)
2009-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261 (take 2)
	* include/bits/basic_string.h (_S_construct_aux_2(size_type, _CharT,
	const _Alloc&)): Add.
	(_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)):
	Call it.
	* include/ext/sso_string_base.h (_M_construct_aux_2(size_type,
	_CharT): Add.
	(_M_construct_aux(_Integer, _Integer, std::__true_type)): Call it.
	* include/ext/rc_string_base.h (_S_construct_aux_2(size_type, _CharT,
	const _Alloc&)): Add.
	(_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)):
	Call it.
	* config/abi/pre/gnu.ver: Export basic_string::_S_construct_aux_2.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

From-SVN: r155137
2009-12-10 19:17:27 +00:00
Dave Korn 2e6623d8fa os_defines.h (_GLIBCXX_PSEUDO_VISIBILITY): Provide empty definition.
* config/os/hpux/os_defines.h (_GLIBCXX_PSEUDO_VISIBILITY): Provide
	empty definition.

From-SVN: r155008
2009-12-05 06:13:44 +00:00
Dave Korn f7e413e2d4 configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
gcc/ChangeLog:

2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>

	* configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect
	status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
	* configure: Regenerate.
	* config.in: Regenerate.

	* config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Define list of --wrap
	options for Cygwin DLL libstdc++ support wrappers.
	(CXX_WRAP_SPEC_OPT): Define spec to use wrappers or not by default
	according to defined value of USE_CYGWIN_LIBSTDCXX_WRAPPERS.
	(CXX_WRAP_SPEC): Define entire wrapper spec in or out according to
	whether USE_CYGWIN_LIBSTDCXX_WRAPPERS is even defined or not.
	(LINK_SPEC): Include CXX_WRAP_SPEC.
	* gcc/config/i386/winnt.c (wrapper_strcmp): New qsort helper function.
	(i386_find_on_wrapper_list): Check if a function is found on the list
	of libstdc++ wrapper options.
	(i386_pe_file_end): If we are importing a wrapped function, also emit
	an external declaration for the real version.
	* config/i386/cygming.opt (muse-libstdc-wrappers): New option for
	Cygwin targets. Update copyright year.

libstdc++-v3/ChangeLog:

2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>

	* libstdc++-v3/acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Don't disable
	on PE targets.
	* libstdc++-v3/configure: Regenerate.
	* libstdc++-v3/configure.host: Add libtool DLL options for Cygwin
	and MinGW platforms.

	* libstdc++-v3/include/bits/c++config (_GLIBCXX_VISIBILITY_ATTR): On
	platforms that don't support visibility, allow them to declare a macro
	_GLIBCXX_PSEUDO_VISIBILITY that is applied in place of visibility.
	(_GLIBCXX_PSEUDO_VISIBILITY): Supply empty default if not declared by
	CPU- or OS-specific headers.

	* libstdc++-v3/config/os/newlib/os_defines.h
	(_GLIBCXX_PSEUDO_VISIBILITY_default): New macro for dllimport.
	(_GLIBCXX_PSEUDO_VISIBILITY_hidden): New empty macro.
	(_GLIBCXX_PSEUDO_VISIBILITY): Evaluate to one of the above.
	* libstdc++-v3/config/os/mingw32/os_defines.h
	(_GLIBCXX_PSEUDO_VISIBILITY_default,
	_GLIBCXX_PSEUDO_VISIBILITY_hidden,
	_GLIBCXX_PSEUDO_VISIBILITY): Likewise.

From-SVN: r154853
2009-11-30 23:22:04 +00:00
Jason Merrill fae927d3bd re PR c++/39131 (decimal float point: ICE on typeid( 0.dd ))
PR c++/39131
	* rtti.c (emit_support_tinfos): Add DFP types.
	* config/abi/pre/gnu.ver: Add DFP types.
	* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.4.

From-SVN: r154113
2009-11-11 23:44:24 -05:00
Paolo Carlini 927dc7c69e re PR libstdc++/41773 (Many libstdc++ failures)
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41773
	Revert:
	2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (_S_construct(const _CharT*, size_type,
	const _Alloc&)): New, declare.
	(_S_construct(_CharT*, _CharT*, const _Alloc&),
	_S_construct(const _CharT*, const _CharT*, const _Alloc&),
	_S_construct(iterator, iterator, const _Alloc&),
	_S_construct(const_iterator, const_iterator, const _Alloc&)): New,
	forward to the latter.
	* include/bits/basic_string.tcc (_S_construct(const _CharT*,
	size_type, const _Alloc&)): Define.
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&), basic_string(const _CharT*, size_type,
	const _Alloc&), basic_string(const _CharT*, const _Alloc&),
	basic_string(initializer_list<>, const _Alloc&)): Call the latter.
	* config/abi/pre/gnu.ver: Remove recently added exports.
	* src/string-inst.cc: Remove instantiations.

From-SVN: r153040
2009-10-20 21:54:22 +00:00
Paolo Carlini 50e9ed7c6c basic_string.h (_S_construct(const _CharT*, size_type, const _Alloc&)): New, declare.
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (_S_construct(const _CharT*, size_type,
	const _Alloc&)): New, declare.
	(_S_construct(_CharT*, _CharT*, const _Alloc&),
	_S_construct(const _CharT*, const _CharT*, const _Alloc&),
	_S_construct(iterator, iterator, const _Alloc&),
	_S_construct(const_iterator, const_iterator, const _Alloc&)): New,
	forward to the latter.
	* include/bits/basic_string.tcc (_S_construct(const _CharT*,
	size_type, const _Alloc&)): Define.
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&), basic_string(const _CharT*, size_type,
	const _Alloc&), basic_string(const _CharT*, const _Alloc&),
	basic_string(initializer_list<>, const _Alloc&)): Call the latter.
	* config/abi/pre/gnu.ver: Remove recently added exports.
	* src/string-inst.cc: Remove instantiations.

From-SVN: r153023
2009-10-20 16:24:18 +00:00
Paolo Carlini 7fee263aa4 gnu.ver: Export the _S_construct<> helpers.
2009-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Export the _S_construct<> helpers.

From-SVN: r152796
2009-10-15 02:39:28 +00:00
Paolo Carlini 38bf8621d9 gnu.ver: Adjust exports.
2009-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Adjust exports.

From-SVN: r152559
2009-10-08 14:12:54 +00:00
Andrew Stubbs 3cec90b456 atomicity.h (__exchange_and_add): Set earlyclobber constraint.
2009-09-14  Andrew Stubbs  <ams@codesourcery.com>

	* config/cpu/sh/atomicity.h (__exchange_and_add): Set earlyclobber
	constraint.

From-SVN: r151682
2009-09-14 10:18:41 +00:00
Benjamin Kosnik 3d1be5be4c gnu.ver: Fixups for string member functions.
2009-08-26  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/pre/gnu.ver: Fixups for string member functions.

From-SVN: r151137
2009-08-27 05:54:56 +00:00
Jonathan Wakely 41bc3c4a82 re PR libstdc++/41005 ([C++0x] Unable to link fstream open and ctor with std::string argument.)
2009-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/41005
	* configure.ac: Bump libtool_VERSION to 6:14:0.
	* configure: Regenerate.
	* src/Makefile.am: Compile fstream-inst.cc as C++0x.
	* src/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Add new symbols and disambiguate old ones,
	move <future> symbols to 3.4.14 version.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.14 version.

From-SVN: r151126
2009-08-26 20:03:24 +01:00
Benjamin Kosnik 439a0f5a2a basic_string.h (basic_string): Add cbegin(), cend(), crbegin(), crend() in C++0x mode.
2009-08-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.h (basic_string): Add cbegin(),
	cend(), crbegin(), crend() in C++0x mode.
	* config/abi/pre/gnu.ver: Add exports.

	* testsuite/util/testsuite_containers.h: New.
	* testsuite/util/testsuite_container_traits.h: New.
	* testsuite/21_strings/basic_string/requirements/citerators.cc: New.
	* testsuite/21_strings/basic_string/requirements/typedefs.cc: New.
	* testsuite/ext/vstring/requirements/citerators.cc: Edit.
	* testsuite/ext/vstring/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_map/requirements/typedefs.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation.cc: Move to nested directory.
	* testsuite/23_containers/queue/requirements/typedefs.cc: New.
	* testsuite/23_containers/priority_queue/requirements/typedefs.cc: New.
	* testsuite/23_containers/multimap/requirements/citerators.cc: Edit.
	* testsuite/23_containers/multimap/requirements/typedefs.cc: New.
	* testsuite/23_containers/set/requirements/citerators.cc: Edit.
	* testsuite/23_containers/set/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/2.cc: Edit.: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	typedefs.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Move to nested.
	* testsuite/23_containers/forward_list/requirements/citerators.cc: New.
	* testsuite/23_containers/forward_list/requirements/1.cc: Remove.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor.cc: New.
	* testsuite/23_containers/forward_list/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_set/requirements/typedefs.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation.cc: Move to nested.
	* testsuite/23_containers/vector/requirements/citerators.cc: Edit.
	* testsuite/23_containers/vector/requirements/dr438/bool/
	constructor.cc: Move.
	* testsuite/23_containers/vector/requirements/typedefs.cc: New.
	* testsuite/23_containers/vector/bool/requirements/citerators.cc: Edit.
	* testsuite/23_containers/vector/bool/requirements/dr438/
	constructor.cc: New.
	* testsuite/23_containers/deque/requirements/citerators.cc: Edit.
	* testsuite/23_containers/deque/requirements/typedefs.cc
	* testsuite/23_containers/stack/requirements/typedefs.cc
	* testsuite/23_containers/multiset/requirements/citerators.cc: Edit.
	* testsuite/23_containers/multiset/requirements/typedefs.cc: New.
	* testsuite/23_containers/list/requirements/citerators.cc: Edit.
	* testsuite/23_containers/list/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_multiset/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Move.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
	* testsuite/23_containers/map/requirements/citerators.cc: Edit.
	* testsuite/23_containers/map/requirements/typedefs.cc: New.
	* testsuite/23_containers/array/requirements/citerators.cc: Edit.
	* testsuite/23_containers/array/requirements/explicit_instantiation.cc:
	Move.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/array/requirements/typedefs.cc: New.

From-SVN: r151106
2009-08-25 22:29:08 +00:00
Benjamin Kosnik 8d1b99e26a future: Fixes for -fno-exceptions.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Fixes for -fno-exceptions.
	* include/bits/functexcept.h: Same.
	* libsupc++/exception_ptr.h: Same.
	* src/pool_allocator.cc: Same.
	* src/future.cc: Same.
	* src/functexcept.cc: Same.
	* config/abi/pre/gnu.ver: New exports.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

	* testsuite/23_containers/deque/operators/1.cc: Separate in two...
	* testsuite/23_containers/deque/operators/2.cc: New.

From-SVN: r150633
2009-08-10 18:24:47 +00:00
Paolo Carlini 0699748fe0 re PR libstdc++/40908 (FAIL: abi_check)
2009-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40908
	* config/abi/pre/gnu.ver: Avoid exporting inadvertently std::mutex
	symbols at GLIBCXX_3.4.

From-SVN: r150228
2009-07-29 21:00:10 +00:00
Paolo Carlini 95bfca5ed6 gnu.ver: Add GLIBCXX_3.4.13, move a symbol into it.
2009-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Add GLIBCXX_3.4.13, move a symbol into it.
	* testsuite/util/testsuite_abi.cc: Adjust.
	* configure.ac: Bump libtool_VERSION to 6:13:0.
	* configure: Regenerate.

From-SVN: r150220
2009-07-29 18:40:39 +00:00
Paolo Carlini af90c8c9ae re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale)
2009-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40712
	* config/locale/gnu/numeric_members.cc (numpunct<>::
	_M_initialize_numpunct): Dynamically allocate _M_data->_M_grouping
	and copy the langinfo data into it.
	(numpunct<>::~numpunct): Free the allocated memory.
	* config/locale/gnu/monetary_members.cc (moneypunct<>::
	_M_initialize_moneypunct): Dynamically allocate _M_data->_M_grouping,
	_M_data->_M_positive_sign, _M_data->_M_negative_sign,
	_M_data->_M_curr_symbol.
	(moneypunct<>::~moneypunct): Free the allocated memory.
	* testsuite/22_locale/moneypunct/40712.cc: New.

	* include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache):
	Do not leak memory if new throws.
	* include/bits/locale_facets_nonio.tcc
	(__moneypunct_cache<>::_M_cache): Likewise.

From-SVN: r149782
2009-07-18 22:58:10 +00:00
Paolo Carlini 0dca215363 re PR libstdc++/40511 (Bootstrap Failure in stage3: c++locale - Recent SVN)
2009-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40511
	* config/locale/gnu/c_locale.cc: Don't use LC_CTYPE_MASK together
	with glibc2.2.x.

From-SVN: r149089
2009-06-30 10:45:54 +00:00
Jonathan Wakely c910ceff6a future: New.
2009-06-21  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* src/future.cc: New.
	* src/Makefile.am: Add.
	* src/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Add export.
	* testsuite/30_threads/headers/future/std_c++0x_neg.cc: New.
	* testsuite/30_threads/headers/future/types_std_c++0x.cc: New.
	* testsuite/30_threads/packaged_task/cons/1.cc: New.
	* testsuite/30_threads/packaged_task/cons/2.cc: New.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: New.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: New.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc: New.
	* testsuite/30_threads/packaged_task/cons/move.cc: New.
	* testsuite/30_threads/packaged_task/members/boolconv.cc: New.
	* testsuite/30_threads/packaged_task/members/get_future.cc: New.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: New.
	* testsuite/30_threads/packaged_task/members/reset.cc: New.
	* testsuite/30_threads/packaged_task/members/reset2.cc: New.
	* testsuite/30_threads/packaged_task/members/swap.cc: New.
	* testsuite/30_threads/packaged_task/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/promise/cons/1.cc: New.
	* testsuite/30_threads/promise/cons/assign_neg.cc: New.
	* testsuite/30_threads/promise/cons/copy_neg.cc: New.
	* testsuite/30_threads/promise/cons/move_assign.cc: New.
	* testsuite/30_threads/promise/cons/move.cc: New.
	* testsuite/30_threads/promise/members/get_future.cc: New.
	* testsuite/30_threads/promise/members/get_future2.cc: New.
	* testsuite/30_threads/promise/members/set_exception.cc: New.
	* testsuite/30_threads/promise/members/set_exception2.cc: New.
	* testsuite/30_threads/promise/members/set_value.cc: New.
	* testsuite/30_threads/promise/members/set_value2.cc: New.
	* testsuite/30_threads/promise/members/set_value3.cc: New.
	* testsuite/30_threads/promise/members/swap.cc: New.
	* testsuite/30_threads/promise/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: New.
	* testsuite/30_threads/shared_future/cons/copy.cc: New.
	* testsuite/30_threads/shared_future/cons/default_neg.cc: New.
	* testsuite/30_threads/shared_future/cons/move.cc: New.
	* testsuite/30_threads/shared_future/members/get.cc: New.
	* testsuite/30_threads/shared_future/members/get2.cc: New.
	* testsuite/30_threads/shared_future/members/has_exception.cc: New.
	* testsuite/30_threads/shared_future/members/has_value.cc: New.
	* testsuite/30_threads/shared_future/members/is_ready.cc: New.
	* testsuite/30_threads/shared_future/members/wait.cc: New.
	* testsuite/30_threads/shared_future/members/wait_for.cc: New.
	* testsuite/30_threads/shared_future/members/wait_until.cc: New.
	* testsuite/30_threads/shared_future/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/default_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/move.cc: New.
	* testsuite/30_threads/unique_future/members/get.cc: New.
	* testsuite/30_threads/unique_future/members/get2.cc: New.
	* testsuite/30_threads/unique_future/members/has_exception.cc: New.
	* testsuite/30_threads/unique_future/members/has_value.cc: New.
	* testsuite/30_threads/unique_future/members/is_ready.cc: New.
	* testsuite/30_threads/unique_future/members/wait.cc: New.
	* testsuite/30_threads/unique_future/members/wait_for.cc: New.
	* testsuite/30_threads/unique_future/members/wait_until.cc: New.
	* testsuite/30_threads/unique_future/requirements/
	explicit_instantiation.cc: New.
	* testsuite/performance/30_threads/future/polling.cc: New.

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

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

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

From-SVN: r147714
2009-05-19 18:20:47 +00:00
Paolo Carlini 9fcf9c24a1 throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions.
2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

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

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

From-SVN: r147077
2009-05-03 16:51:50 +00:00
Paolo Carlini cca36d72b9 2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last commit.

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

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

From-SVN: r146785
2009-04-25 21:14:27 +01:00
Jan Hubicka 09f2a1e440 * include/ext/atomicity.h
(__exchange_and_add, __atomic_add): Mark throw ().
	* config/os/aix/atomicity.h
	* config/os/aix/atomicity.h
	* config/os/irix/atomicity.h
	* config/cpu/cris/atomicity.h
	* config/cpu/m68k/atomicity.h
	* config/cpu/hppa/atomicity.h
	* config/cpu/sparc/atomicity.h
	* config/cpu/i386/atomicity.h
	* config/cpu/i486/atomicity.h
	* config/cpu/sh/atomicity.h
	* config/cpu/generic/atomicity_mutex/atomicity.h
	* config/cpu/generic/atomicity_builtins/atomicity.h
	(__exchange_and_add, __atomic_add): Mark throw ().

From-SVN: r146576
2009-04-22 13:13:55 +00:00
Uros Bizjak e31f581411 baseline_symbols.txt: Regenerated.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.

From-SVN: r146252
2009-04-17 14:10:22 +02:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Adam Nemet 0b83c44bdf baseline_symbols.txt: Regenerate.
* config/abi/post/mips64-linux-gnu/baseline_symbols.txt:
	Regenerate.
	* config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: New
	file.

From-SVN: r145779
2009-04-08 21:47:24 +00:00
Andrew Stubbs 8f2b104d09 atomicity.h: Put the SH4A specific functions in the __gnu_cxx namespace.
2009-04-06  Andrew Stubbs  <ams@codesourcery.com>

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

From-SVN: r145613
2009-04-06 16:47:32 +00:00
Jakub Jelinek 4bb7dbf60e baseline_symbols.txt: Regenerated.
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.

From-SVN: r145437
2009-04-02 08:50:55 +02:00
Benjamin Kosnik 9b3003d590 system_error (system_category): To system_category().
2009-02-17  Benjamin Kosnik  <bkoz@redhat.com>

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

From-SVN: r144259
2009-02-18 07:35:36 +00:00
Chris Fairles 626dda69bc thread (_Impl_base): Move _M_id out and into ...
2009-02-13  Chris Fairles  <cfairles@gcc.gnu.org>
	    Benjamin Kosnik  <bkoz@redhat.com>

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


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

From-SVN: r144171
2009-02-13 23:08:50 +00:00
Adam Nemet 8deecedf4c configure.host: Set abi_baseline_pair for mips64*-linux.
* configure.host: Set abi_baseline_pair for mips64*-linux.
	* config/abi/post/mips64-linux-gnu/baseline_symbols.txt: New file.

From-SVN: r144041
2009-02-09 20:24:08 +00:00
Chris Fairles 8644ecf59d thread (__thread_data_base): Nest class in std::thread.
2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
            Benjamin Kosnik  <bkoz@redhat.com>

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


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

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

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

From-SVN: r143913
2009-02-03 23:44:53 +00:00
Benjamin Kosnik 2319eb4e23 os_defines.h: Remove superfluous __NO_STRING_INLINES.
2009-02-02  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

From-SVN: r143577
2009-01-22 22:33:02 +00:00
Benjamin Kosnik 954a782e53 re PR libstdc++/38834 (FAIL: abi_check on alpha)
2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
	    Uros Bizjak  <ubizjak@gmail.com>

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


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

From-SVN: r143538
2009-01-21 04:04:24 +00:00
Benjamin Kosnik 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
Benjamin Kosnik 9982752346 re PR libstdc++/36801 (config/cpu/generic/atomicity_mutex/atomicity.h incorrectly relies on global constructor ordering)
2009-01-07  Benjamin Kosnik  <bkoz@redhat.com>
	    Jonathan Larmour  <jifl@eCosCentric.com>

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

From-SVN: r143182
2009-01-08 03:14:24 +00:00
Benjamin Kosnik 50ce8d3d78 cstdatomic: Update to N2798.
2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
	    Richard Henderson  <rth@redhat.com>

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

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


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

From-SVN: r142714
2008-12-12 17:10:16 +00:00
Paolo Carlini 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 c8a5f8f292 re PR libstdc++/38067 (monetary_members.cc: 4 * call to wrong C++ delete)
2008-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38067
	* config/locale/gnu/monetary_members.cc (moneypunct<>::
	_M_initialize_moneypunct(__c_locale, const char*)): Use correct vector
	delete for __wcs_ps and __wcs_ns.

From-SVN: r141740
2008-11-10 13:47:12 +00:00
Paolo Carlini 83b83ae97a re PR libstdc++/37522 (Incorrect vswprintf prototype breaks __to_xstring)
2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r141382
2008-10-27 15:01:28 +00:00
Paolo Carlini 918bf5c10e error_constants.h (enum errc): Remove no_posix_equivalent.
2008-10-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/os/generic/error_constants.h (enum errc): Remove
	no_posix_equivalent.
	* config/os/mingw32/error_constants.h (enum errc): Likewise.
	* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
	Adjust.

From-SVN: r141341
2008-10-24 10:41:42 +00:00
Chris Fairles 1fa8718bc8 error_constants.h (errc): Use long type.
2008-10-23  Chris Fairles  <cfairles@gcc.gnu.org>

        * config/os/generic/error_constants.h (errc): Use long type.
        * config/os/mingw32/error_constants.h (errc): Likewise.

From-SVN: r141324
2008-10-23 15:16:45 +00:00
Chris Fairles 92010a793b system_error (is_error_code_enum): Specialize for errc.
2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>

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

From-SVN: r141297
2008-10-22 15:27:44 +00:00
Jason Merrill 38179091cc PR c++/37376, other mangling issues
gcc/cp/:
        PR c++/37376, other mangling issues
        * mangle.c (write_type): Update TYPE_PACK_EXPANSION mangling.
        (write_member_name): Break out from...
        (write_expression): ...here.  Handle dependent COMPONENT_REF.
        (write_template_arg): Wrap an argument pack in 'I'/'E'.
        (write_builtin_type): Update char16/32_t mangling.
        (write_nested_name, write_prefix): Don't forget template args
        for typename types.
        * operators.def: Add ARROW_EXPR, update COMPONENT_REF and
        EXPR_PACK_EXPANSION.
libstdc++-v3/:
        * config/abi/pre/gnu.ver: Update char16/32_t manglings.
include/:
        * demangle.h (enum demangle_component_type): Add
        DEMANGLE_COMPONENT_PACK_EXPANSION.
libiberty/:
        * cp-demangle.c (struct d_print_info): Add pack_index.
        (d_dump): Add DEMANGLE_COMPONENT_PACK_EXPANSION.
        (d_make_comp): Likewise.  DEMANGLE_COMPONENT_ARGLIST and
        DEMANGLE_COMPONENT_TEMPLATE_ARGLIST can have two null args.
        (cplus_demangle_builtin_types): Add char16/32_t.
        (cplus_demangle_type): Recognize them.
        (d_template_args): Handle empty argument packs.
        (d_template_arg): Handle argument packs.
        (d_expression): Handle dependent name.
        (d_index_template_argument): New fn.
        (d_lookup_template_argument): New fn.
        (d_find_pack, d_pack_length): New fn.
        (d_print_subexpr): Split out...
        (d_print_comp): ...from here.  Use d_*_template_argument.
        Handle empty arg lists.  Support pack expansions.
        * cp-demangle.h (D_BUILTIN_TYPE_COUNT): Increase to 32.

From-SVN: r140916
2008-10-06 18:29:42 -04:00
Andrew Pinski ffecec4dce c_locale.cc (__convert_to_v): Fix !__FLT_HAS_INFINITY__ case.
2008-10-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/locale/generic/c_locale.cc (__convert_to_v): Fix
        !__FLT_HAS_INFINITY__ case.

From-SVN: r140823
2008-10-01 16:16:19 -07:00
Chris Fairles 8839907955 chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined...
2008-09-23  Chris Fairles <cfairles@gcc.gnu.org>

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

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

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

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

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

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

From-SVN: r140332
2008-09-13 00:32:37 +00:00
Paolo Carlini 1834f167ee ctype_members.cc (ctype<char>::_M_narrow_init, [...]): Don't define here.
2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
	ctype<char>::_M_widen_init): Don't define here.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* config/locale/generic/ctype_members.cc: Likewise.
	* src/ctype.cc: Define here.

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

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

From-SVN: r140238
2008-09-10 16:48:47 +00:00
Paolo Carlini 37383ef55e gnu.ver: Also export __once_functor_lock...
2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

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

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

From-SVN: r139943
2008-09-03 17:46:09 +00:00
Paolo Carlini 30a333ceeb [multiple changes]
2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
	* testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
	* testsuite/18_support/exception_ptr/current_exception.cc: Use it.
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
        * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.

2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>

	Add (again) exception propagation support as per N2179.  Feature is
	available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
	* libsupc++/exception_ptr.h (exception_ptr, current_exception,
        copy_exception, rethrow_exception): New file, implement exception
	propagation.
        * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
        rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
	(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
        __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
        __gxx_dependent_exception_class, __get_object_from_ue,
        __get_object_from_ambiguous_exception): Add.
        (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
        (__is_gxx_exception_class): Handle dependent exceptions.
        * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
        * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
        * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
        * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
        * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception): Add.
        * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
        counting.
        * libsupc++/exception: Conditionally include exception_ptr.h.
        * libsupc++/Makefile.am: Register new files.
        * libsupc++/Makefile.in: Regenerate.
        * config/abi/pre/gnu.ver: Add new symbols.
        * testsuite/18_support/exception_ptr/current_exception.cc: Test the
        core functionality of current_exception().
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
        core functionality of rethrow_exception().
        * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
        exception objects during exception propagation.

From-SVN: r139509
2008-08-23 11:28:30 +00:00
Paolo Carlini 9b410dd0ec 2008-08-22 Paolo Carlini <paolo.carlini@oracle.com>
Revert again the N2179 patch.

From-SVN: r139497
2008-08-22 18:59:41 +00:00
Paolo Carlini 6d419a6ef3 Re-instate last patch...
2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	Re-instate last patch, amended to use __exchange_and_add_dispatch
	and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.

From-SVN: r139091
2008-08-14 01:17:09 +00:00
Paolo Carlini ec001bc928 2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last patch.

From-SVN: r139074
2008-08-13 20:08:55 +00:00
Sebastian Redl 0292e6d2bb Add exception propagation support as per N2179.
2008-08-13  Sebastian Redl <sebastian.redl@getdesigned.at>

	Add exception propagation support as per N2179.
        * libsupc++/exception_ptr.h (exception_ptr, current_exception,
        copy_exception, rethrow_exception): New file, implement exception
	propagation.
        * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
        rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
	(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
        __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
        __gxx_dependent_exception_class, __get_object_from_ue,
        __get_object_from_ambiguous_exception): Add.
        (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
        (__is_gxx_exception_class): Handle dependent exceptions.
        * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
        * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
        * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
        * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
        * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception): Add.
        * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
        counting.
        * libsupc++/exception: Conditionally include exception_ptr.h.
        * libsupc++/Makefile.am: Register new files.
        * libsupc++/Makefile.in: Regenerate.
        * config/abi/pre/gnu.ver: Add new symbols.
        * testsuite/18_support/exception_ptr/current_exception.cc: Test the
        core functionality of current_exception().
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
        core functionality of rethrow_exception().
        * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
        exception objects during exception propagation.

From-SVN: r139064
2008-08-13 18:14:51 +00:00
Paolo Carlini 4d5670aa93 c_locale.cc: Include <cstdio>.
2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/locale/generic/c_locale.cc: Include <cstdio>.

From-SVN: r138966
2008-08-11 19:28:35 +00:00
Paolo Carlini a031f958a6 ctype_members.cc: Include <cstdio>.
2008-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/locale/darwin/ctype_members.cc: Include <cstdio>.

From-SVN: r138905
2008-08-09 15:02:30 +00:00
Paolo Carlini 1814157e88 acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for common values of EOF, SEEK_CUR, SEEK_END.
2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r138829
2008-08-06 23:17:05 +00:00
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
Mark Mitchell 5194c5c129 arm-eabi-extra.ver: New file.
* config/os/gnu-linux/arm-eabi-extra.ver: New file.
	* configure.host: Use it for arm*-*-linux-*eabi.

From-SVN: r138041
2008-07-21 19:21:45 +00:00
Kris Van Hees c466b2cd13 c-common.c (c_stddef_cpp_builtins): Define __CHAR16_TYPE__ and __CHAR32_TYPE__.
gcc/ChangeLog:
2008-07-16  Kris Van Hees <kris.van.hees@oracle.com>

        * c-common.c (c_stddef_cpp_builtins): Define __CHAR16_TYPE__
        and __CHAR32_TYPE__.
        * c-typeck.c (digest_init): Support char16_t and char32_t.
        (set_nonincremental_init_from_string): Idem.

gcc/cp/ChangeLog:
2008-07-16  Kris Van Hees <kris.van.hees@oracle.com>

        * rtti.c (emit_support_tinfos): Add char16_type_node and
        char32_type_node.
        * typeck2.c (digest_init): Support char16_t and char32_t.

gcc/testsuite/ChangeLog:
2008-07-16  Kris Van Hees <kris.van.hees@oracle.com>

        Tests for char16_t and char32_t support.
        * g++.dg/ext/utf-array.C: New
        * g++.dg/ext/utf-array-short-wchar.C: New
        * g++.dg/ext/utf-rtti.C: New
        * g++.dg/ext/utf-type.c: New
        * gcc.dg/utf-array.c: New
        * gcc.dg/utf-array-short-wchar.c: New
        * gcc.dg/utf-inc-init.c: New
        * gcc.dg/utf-type.c: New

libstdc++-v3/ChangeLog:
2008-07-16  Kris Van Hees <kris.van.hees@oracle.com>
            Holger Hopp <holger.hopp@sap.com>

        * config/abi/pre/gnu.ver: Support char16_t and char32_t.
        * testsuite/util/testsuite_abi.cc (check_version): Add
        CXXABI_1.3.3 to known_versions.

From-SVN: r137965
2008-07-18 20:23:42 +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
Paolo Carlini a5a6b58639 string_conversions.cc: Remove.
2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/string_conversions.cc: Remove.
	* config/abi/pre/gnu.ver: Delete exports.
	* src/Makefile.am: Update.
	* include/ext/string_conversions.h: Add.
	* include/Makefile.am: Update.
	* include/bits/basic_string.h: Include string_conversions.h,
	define numeric conversion functions.
	* include/ext/vstring.h: Likewise.
	* src/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.

From-SVN: r137253
2008-06-29 15:46:50 +00:00
Paolo Carlini 7364f2868c basic_string.h (stod, [...]): Declare in C++0x mode.
2008-06-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
	stoul, stoull, to_string, to_wstring): Declare in C++0x mode.
	* src/string_conversions.cc: Add.
	* src/Makefile.am: Update.
	* config/abi/pre/gnu.ver: Adjust exports.
	* src/Makefile.in: Regenerate.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	New.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	to_string.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stod.cc: New.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stof.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoi.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stol.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stold.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoll.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoul.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoull.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	to_wstring.cc: Likewise.

From-SVN: r136841
2008-06-16 09:58:54 +00:00
Joseph Myers cd985f6672 MAINTAINERS (mt port): Remove.
* MAINTAINERS (mt port): Remove.
	(sco5, unixware, sco udk): Remove.
	(Kean Johnston): Add to Write After Approval.

fixincludes:
	* inclhack.def (AAB_svr4_replace_byteorder,
	AAB_ultrix_ansi_compat, AAB_ultrix_limits, AAB_ultrix_memory,
	libc1_G_va_list, libc1_ifdefd_memx, nested_motorola,
	ptx_sys_mc_param_h, sco_regset, sco_static_func, sco_utime,
	solaris_mutex_init_1, solaris_socket, solaris_unistd,
	solaris_widec, svr4_krnl, ultrix_atexit_param, ultrix_atof_param,
	ultrix_const3, ultrix_fix_fixproto, ultrix_ifdef, ultrix_locale,
	ultrix_math_ifdef, ultrix_nested_ioctl, ultrix_nested_svc,
	ultrix_stat, ultrix_static, ultrix_stdlib, ultrix_strings,
	ultrix_strings2, ultrix_sys_time, ultrix_unistd,
	unicosmk_restrict, uw7_byteorder_fix, windiss_math1,
	windiss_math2, windiss_valist): Remove.
	* fixincl.x: Regenerate.
	* mkfixinc.sh: (arm-semi-aof, hppa1.1-*-osf*, hppa1.1-*-bsd*,
	i370-*-openedition, i?86-*-moss*, i?86-*-uwin*,
	powerpc-*-eabiaix*): Remove.
	* tests/base/math.h: Update.
	* tests/base/pthread.h: Update.
	* tests/base/stdio.h: Update.
	* tests/base/stdlib.h: Update.
	* tests/base/string.h: Update.
	* tests/base/strings.h: Update.
	* tests/base/sys/file.h: Update.
	* tests/base/sys/limits.h: Update.
	* tests/base/sys/socket.h: Update.
	* tests/base/sys/stat.h: Update.
	* tests/base/sys/time.h: Update.
	* tests/base/testing.h: Update.
	* tests/base/unistd.h: Update.
	* tests/base/_G_config.h: Remove.
	* tests/base/arpa: Remove directory.
	* tests/base/fs: Remove directory.
	* tests/base/locale.h: Remove.
	* tests/base/machine: Remove directory.
	* tests/base/rpc/svc.h: Remove.
	* tests/base/sys/ioctl.h: Remove.
	* tests/base/sys/regset.h: Remove.
	* tests/base/sys/times.h: Remove.
	* tests/base/sys/utsname.h: Remove.
	* tests/base/widec.h: Remove.

gcc:
	* config.gcc (Obsolete configurations): Remove list of
	configurations.
	(Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*,
	*-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*.  Remove other
	targets matched by those patterns.
	(strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*,
	m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
	alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
	arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
	hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
	i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
	i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
	i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
	i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
	mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
	powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
	powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
	strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
	vax-*-ultrix*, xscale-*-elf, xscale-*-coff,
	i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove.
	Make code for Solaris 7 and greater unconditional for Solaris.
	(ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*):
	Remove --with-* handling.
	* config/rs6000/sysv4.h (-mwindiss): Remove from all specs.
	(LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC,
	ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC,
	LINK_OS_WINDISS_SPEC): Remove.
	* config/rs6000/sysv4.opt (mwindiss): Remove.
	* configure.ac (strongarm*-*-*, xscale*-*-*): Remove.
	* configure: Regenerate.
	* doc/cpp.texi: Don't mention BeOS.
	* doc/extend.texi (interrupt): Don't mention MS1.
	* doc/install.texi: (i386-@var{any}-sysv, m68k-bull-sysv,
	m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv,
	alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout,
	i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4,
	powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix):
	Remove.
	* doc/invoke.texi (MT Options): Remove.
	(-mwindiss): Remove.
	(CRIS Options): Remove cris-axis-aout references.
	(HPPA Options): Don't mention hppa1.1-*-pro.
	* doc/md.texi: (MorphoTech family): Remove.
	* libgcc2.c: Don't handle UWIN.
	* config/alpha/t-unicosmk: Remove.
	* config/alpha/unicosmk.h: Remove.
	* config/arm/kaos-arm.h: Remove.
	* config/arm/kaos-strongarm.h: Remove.
	* config/arm/strongarm-coff.h: Remove.
	* config/arm/strongarm-elf.h: Remove.
	* config/arm/strongarm-pe.h: Remove.
	* config/arm/t-strongarm-pe: Remove.
	* config/arm/t-xscale-coff: Remove.
	* config/arm/t-xscale-elf: Remove.
	* config/arm/xscale-coff.h: Remove.
	* config/arm/xscale-elf.h: Remove.
	* config/chorus.h: Remove.
	* config/cris/aout.h: Remove.
	* config/cris/aout.opt: Remove.
	* config/cris/t-aout: Remove.
	* config/i386/beos-elf.h: Remove.
	* config/i386/kaos-i386.h: Remove.
	* config/i386/ptx4-i.h: Remove.
	* config/i386/sco5.h: Remove.
	* config/i386/sco5.opt: Remove.
	* config/i386/sysv4-cpp.h: Remove.
	* config/i386/sysv5.h: Remove.
	* config/i386/t-beos: Remove.
	* config/i386/t-sco5: Remove.
	* config/i386/t-uwin: Remove.
	* config/i386/uwin.asm: Remove.
	* config/i386/uwin.h: Remove.
	* config/kaos.h: Remove.
	* config/mips/windiss.h: Remove.
	* config/mt: Remove directory.
	* config/pa/pa-osf.h: Remove.
	* config/pa/pa-pro-end.h: Remove.
	* config/pa/t-pro: Remove.
	* config/ptx4.h: Remove.
	* config/rs6000/beos.h: Remove.
	* config/rs6000/kaos-ppc.h: Remove.
	* config/rs6000/t-beos: Remove.
	* config/rs6000/windiss.h: Remove.
	* config/sh/kaos-sh.h: Remove.
	* config/sol2-6.h: Remove.
	* config/sparc/sol26-sld.h: Remove.
	* config/sparc/sysv4-only.h: Remove.
	* config/vax/bsd.h: Remove.
	* config/vax/t-memfuncs: Remove.
	* config/vax/ultrix.h: Remove.
	* config/vax/vaxv.h: Remove.
	* config/windiss.h: Remove.

gcc/testsuite:
	* g++.dg/abi/arm_cxa_vec1.C: Don't handle xscale*-*-*.
	* g++.dg/eh/spbp.C: Don't handle *-*-solaris2.[56]*.
	* g++.dg/warn/miss-format-1.C: Don't handle Solaris before Solaris
	7.
	* gcc.c-torture/compile/981006-1.c: Don't handle xscale*-*-*,
	strongarm*-*-* and cris-*-aout*.
	* gcc.c-torture/execute/941014-1.x: Don't handle xscale*-*-* and
	strongarm*-*-*.
	* gcc.dg/20030909-1.c: Don't handle xscale*-*-* and
	strongarm*-*-*.
	* gcc.dg/20031108-1.c: Don't handle xscale*-*-* and
	strongarm*-*-*.
	* gcc.dg/20040813-1.c: Don't handle *-*-sysv5*.
	* gcc.dg/arm-asm.c: Don't handle strongarm*-*-* and xscale*-*-*.
	* gcc.dg/arm-scd42-1.c: Use target arm*-*-*.
	* gcc.dg/arm-scd42-3.c: Use target arm*-*-*.
	* gcc.dg/cpp/assert4.c: Don't handle BeOS.
	* gcc.dg/debug/pr35154.c: Don't handle *-*-sysv5*.
	* gcc.dg/intmax_t-1.c: Don't handle *-*-solaris2.5.1 and
	xscale*-*-elf*.
	* gcc.dg/pragma-align.c: Don't handle i?86-*-sco3.2v5*.
	* gcc.dg/pthread-init-2.c: Don't handle *-*-solaris2.5.1.
	* gcc.misc-tests/arm-isr.exp: Use target arm*-*-*.
	* gcc.target/powerpc/ppc-sdata-1.c: Don't handle powerpc-*-sysv*.
	* gcc.target/powerpc/ppc-sdata-2.c: Don't handle powerpc-*-sysv*.
	* gcc.target/powerpc/ppc-stackalign-1.c: Don't handle
	powerpc-*-sysv*.
	* gfortran.dg/debug/pr35154-stabs.f: Don't handle *-*-sysv5*.
	* lib/target-supports.exp: Don't handle strongarm*-*-elf,
	xscale*-*-elf and *-*-windiss.
	* obj-c++.dg/dwarf-2.mm: Don't handle *-*-solaris2.[56]*.
	* objc.dg/dwarf-1.m: Don't handle *-*-solaris2.[56]*.
	* objc.dg/dwarf-2.m: Don't handle *-*-solaris2.[56]*.
	* gcc.dg/mt-loopi1.c: Remove.

gnattools:
	* configure.ac (xscale*-wrs-vx*, xscale*-wrs-coff): Remove.
	* configure: Regenerate.

libcpp:
	* configure.ac (parisc*64*-*-*): Remove.
	* configure: Regenerate.

libffi:
	* configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
	powerpc-*-beos*): Remove.
	* configure: Regenerate.

libgcc:
	* config.host (strongarm*-*-*, ep9312*-*-*, xscale-*-*,
	parisc*-*-*, m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
	alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
	arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
	hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
	i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
	i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
	i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
	i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
	mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
	powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
	powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
	strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
	vax-*-ultrix*, xscale-*-elf, xscale-*-coff): Remove.

libjava:
	* configure.host (strongarm*-elf, xscale*-elf): Remove.

libstdc++-v3:
	* configure.host (xscale, ep9312, m680[246]0, solaris2.5,
	solaris2.5.[0-9], solaris2.6, windiss*): Remove.
	* crossconfig.m4 (*-solaris2.5, *-solaris2.6, *-windiss*): Remove.
	* configure: Regenerate.
	* config/os/solaris/solaris2.5: Remove directory.
	* config/os/solaris/solaris2.6: Remove directory.
	* config/os/windiss: Remove directory.

From-SVN: r136534
2008-06-07 19:00:15 +01: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
David Daney 9be33399ba atomicity.h: Remove file.
2008-05-13  David Daney  <ddaney@avtrex.com>

	* config/cpu/mips/atomicity.h: Remove file.
	* config/cpu/mips: Remove directory.
	* configure.host: Remove host specific handling for mips*-*-*.

From-SVN: r135268
2008-05-13 17:42:46 +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 cb45715664 os_defines.h: Use _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_BEGIN_EXTERN_C, etc.
2008-04-23  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/hpux/os_defines.h: Use _GLIBCXX_BEGIN_NAMESPACE,
	_GLIBCXX_BEGIN_EXTERN_C, etc.

From-SVN: r134607
2008-04-23 23:28:45 +00:00
Benjamin Kosnik d466a7e21c [multiple changes]
2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_global/cstdatomic: C++ types only, format, doxygen markup.
	* include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup.
	* src/atomic.c: Format, doxygen markup, edits.

	* include/Makefile.am (cstdatomic, stdatomic.h): Add.
	* src/Makefile.am (atomic.c): Add.
	* acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New.
	* configure.ac: Call it.	
	* include/Makefile.in: Regenerate.
	* src/Makefile.in: Same.
	* Makefile.in: Same.
	* doc/Makefile.in: Same.
	* po/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* include/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* config.h.in: Same.
	* configure: Same.
	
	* config/abi/pre/gnu.ver: Add atomics exports.

	* include/ext/typelist.h (apply_generator): New.
	* include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New.
	(_GLIBCXX_END_EXTERN_C): New.
	Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when
	compiling as C.	
	* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L
	flag for libstdc++.
	* testsuite/util/testsuite_common_types.h (integral_types): New
	typelist.
	(atomics, atomics_tl): Same.
	(assignable, default_constructible, copy_constructible,
	explicit_value_constructible): New.	
	* testsuite/17_intro/headers/c++200x/all.cc: Test new headers.
	* testsuite/29_atomics: New.
	* testsuite/29_atomics/atomic_address: Same.
	* testsuite/29_atomics/atomic_address/cons: Same.
	* testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same.
	* testsuite/29_atomics/atomic_flag: Same.
	* testsuite/29_atomics/atomic_flag/cons: Same.
	* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements: Same.
	* testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc: 
	Same.
	* testsuite/29_atomics/atomic_flag/
	atomic_global_fence_compatibility.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same.
	* testsuite/29_atomics/headers: Same.
	* testsuite/29_atomics/headers/cstdatomic: Same.
	* testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
	* testsuite/29_atomics/headers/stdatomic.h: Same.
	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
	* testsuite/29_atomics/atomic: Same.
	* testsuite/29_atomics/atomic/cons: Same.
	* testsuite/29_atomics/atomic/cons/explicit_value.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/default.cc: Same.
	* testsuite/29_atomics/atomic/requirements: Same.
	* testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same.
	* testsuite/29_atomics/atomic/requirements/explicit_instantiation/
	1.cc: Same.
	
2008-04-10  Lawrence Crowl  <crowl@google.com>

	* include/c_global/cstdatomic: New.
	* include/c_compatibility/stdatomic.h: New.
	* src/atomic.c: New.

From-SVN: r134174
2008-04-10 20:26:45 +00:00
Matthias Klose 2d2ca637d9 baseline_symbols.txt: Update.
2008-03-29  Matthias Klose  <doko@ubuntu.com>

	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/mips-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r133713
2008-03-29 09:23:13 +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 5ae8cf8c41 [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: r133276
2008-03-16 17:13:04 +00:00
Jakub Jelinek 31908b799e gnu.ver: Move <system_error> related symbols to GLIBCXX_3.4.11 symbol version.
* config/abi/pre/gnu.ver: Move <system_error> related
	symbols to GLIBCXX_3.4.11 symbol version.
	* testsuite/util/testsuite_abi.cc (check_version): Allow
	GLIBCXX_3.4.11.

From-SVN: r133006
2008-03-07 12:09:49 +01:00
Jakub Jelinek fafcb222d8 baseline_symbols.txt: Update.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Likewise.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r132805
2008-03-01 20:17:28 +01:00