Commit Graph

6492 Commits

Author SHA1 Message Date
François Dumont
51835a800d set.h (set): Implement C++11 allocator-aware container requirements.
2014-01-13  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/set.h (set): Implement C++11 allocator-aware
	container requirements.
	* include/debug/map.h (map): Likewise.
	* include/debug/multiset.h (multiset): Likewise.
	* include/debug/multimap.h (multimap): Likewise.
	* include/debug/set.h (set::operator=(set&&)): Add noexcept and
	fix implementation regarding management of safe iterators.
	* include/debug/map.h (map::operator=(map&&)): Likewise.
	* include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
	* include/debug/multimap.h (multimap::operator=(multimap&&)):
	Likewise.
	* include/debug/set.h (set::operator=(std::initializer_list<>)):
	Rely on the same operator from normal mode.
	* include/debug/map.h (map::operator=(std::initializer_list<>)):
	Likewise.
	* include/debug/multiset.h
	(multiset::operator=(std::initializer_list<>)): Likewise.
	* include/debug/multimap.h
	(multimap::operator=(std::initializer_list<>)): Likewise.
	* include/debug/set.h (set::swap(set&)): Add noexcept
	specification, add allocator equality check.
	* include/debug/map.h (map::swap(map&)): Likewise.
	* include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
	* include/debug/multimap.h (multimap::swap(multimap&)): Likewise.

From-SVN: r206588
2014-01-13 20:07:22 +00:00
Jonathan Wakely
48c7451eee re PR libstdc++/59699 (Effective C++ has moved)
PR libstdc++/59699
	* doc/xml/manual/support.xml (std.support.types.null): Update links.

From-SVN: r206526
2014-01-10 14:30:32 +00:00
Jonathan Wakely
b1fb52ca2e re PR libstdc++/59687 (The description of ios::noreplace is hilarious)
PR libstdc++/59687
	* doc/xml/manual/backwards_compatibility.xml
	(backwards.third.nocreate_noreplace): Correct and expand.

From-SVN: r206525
2014-01-10 14:30:27 +00:00
Jonathan Wakely
92bf138207 re PR libstdc++/59698 (The type of NULL is described elsewhere)
PR libstdc++/59698
	* doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
	and stylistic improvements.
	* doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
	and update for C++11.
	* doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.

From-SVN: r206524
2014-01-10 14:30:21 +00:00
Jonathan Wakely
4bc0ec3261 re PR libstdc++/59680 (Compile error in thread.cc)
PR libstdc++/59680
	* src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.

From-SVN: r206504
2014-01-09 23:39:31 +00:00
Richard Sandiford
94c13a0911 Fix up ChangeLog Copyright dates.
From-SVN: r206491
2014-01-09 21:08:22 +01:00
Jonathan Wakely
f0bc4aead8 re PR libstdc++/59738 (r206444 caused FAIL: 23_containers/vector/52591.cc)
PR libstdc++/59738
	* include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
	support for non-Movable types.

From-SVN: r206480
2014-01-09 18:38:52 +00:00
Jonathan Wakely
b248fef88f Rotate libstdc++-v3/ChangeLog
From-SVN: r206479
2014-01-09 18:38:40 +00:00
François Dumont
ace295afeb stl_vector.h (std::vector<>::_M_move_assign): Pass *this allocator instance when building temporary vector instance so that...
2014-01-08  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
	*this allocator instance when building temporary vector instance
	so that *this allocator does not get moved.
	* include/debug/safe_base.h
	(_Safe_sequence_base(_Safe_sequence_base&&)): New.
	* include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
	move constructor from _Safe_sequence_base.
	(__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
	safe iterators if the instance is moved.
	(__gnu_debug::vector<>::operator=(vector&&)): Likewise.
	* testsuite/23_containers/vector/allocator/move.cc (test01): Add
	check on a vector iterator.
	* testsuite/23_containers/vector/allocator/move_assign.cc
	(test02): Likewise.
	(test03): New, test with a non-propagating allocator.
	* testsuite/23_containers/vector/debug/move_assign_neg.cc: New.

From-SVN: r206444
2014-01-08 20:57:57 +00:00
Tim Shen
f43cc2a68d regex_compiler.h (_AnyMatcher<>::_AnyMatcher(), [...]): Fix _AnyMatcher behavior of POSIX style and move _M_flags to template parameter...
2014-01-07  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
	_AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
	_CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
	_BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
	_BracketMatcher<>::_M_add_char(),
	_BracketMatcher<>::_M_add_collating_element(),
	_BracketMatcher<>::_M_add_equivalence_class(),
	_BracketMatcher<>::_M_add_character_class(),
	_BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
	_BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
	Fix _AnyMatcher behavior of POSIX style and move _M_flags
	to template parameter; Add cache for _BracketMatcher. Adjust
	declarations from here...
	* include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
	imbuing a regex will trigger a recompilation to rebuild the cache.
	* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
	_Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
	different template bool parameters.
	* include/bits/regex_executor.h: Remove unnecessary declarations.
	* include/std/regex: Adjust including orders.
	* testsuite/28_regex/traits/char/user_defined.cc: New.
	* testsuite/28_regex/traits/wchar_t/user_defined.cc: New.

From-SVN: r206400
2014-01-07 19:17:50 +00:00
Rainer Orth
14c12d0de0 Update Solaris baselines
* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.

From-SVN: r206389
2014-01-07 12:46:53 +00:00
Richard Sandiford
aa118a03c4 Update copyright years in libstdc++-v3/
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Richard Sandiford
f9030485a3 arc-common.c, [...]: Use the standard form for the copyright notice.
gcc/
	* common/config/arc/arc-common.c, config/arc/arc-modes.def,
	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
	config/arc/arc.md, config/arc/arc.opt, config/arm/arm_neon_builtins.def,
	config/arm/crypto.def, config/i386/avx512cdintrin.h,
	config/i386/avx512erintrin.h, config/i386/avx512fintrin.h,
	config/i386/avx512pfintrin.h, config/i386/btver2.md,
	config/i386/shaintrin.h, config/i386/slm.md, config/linux-protos.h,
	config/linux.c, config/winnt-c.c, diagnostic-color.c,
	diagnostic-color.h, gimple-ssa-isolate-paths.c, vtable-verify.c,
	vtable-verify.h: Use the standard form for the copyright notice.

gcc/c-family/
	* array-notation-common.c, c-cilkplus.c: Use the standard form for
	the copyright notice.

gcc/c/
	* c-array-notation.c: Use the standard form for the copyright notice.

gcc/cp/
	* cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
	the standard form for the copyright notice.

gcc/testsuite/
	* gcc.target/arc/arc.exp: Use the standard form for the copyright
	notice.

libgcc/
	* config/arc/asm.h, config/arc/crtg.S, config/arc/crtgend.S,
	config/arc/crti.S, config/arc/crtn.S, config/arc/divtab-arc700.c,
	config/arc/dp-hack.h, config/arc/fp-hack.h,
	config/arc/ieee-754/adddf3.S, config/arc/ieee-754/addsf3.S,
	config/arc/ieee-754/arc600-dsp/divdf3.S,
	config/arc/ieee-754/arc600-dsp/divsf3.S,
	config/arc/ieee-754/arc600-dsp/muldf3.S,
	config/arc/ieee-754/arc600-dsp/mulsf3.S,
	config/arc/ieee-754/arc600-mul64/divdf3.S,
	config/arc/ieee-754/arc600-mul64/divsf3.S,
	config/arc/ieee-754/arc600-mul64/muldf3.S,
	config/arc/ieee-754/arc600-mul64/mulsf3.S,
	config/arc/ieee-754/arc600/divsf3.S,
	config/arc/ieee-754/arc600/mulsf3.S,
	config/arc/ieee-754/divdf3.S, config/arc/ieee-754/divsf3-stdmul.S,
	config/arc/ieee-754/divsf3.S, config/arc/ieee-754/divtab-arc-df.c,
	config/arc/ieee-754/divtab-arc-sf.c, config/arc/ieee-754/eqdf2.S,
	config/arc/ieee-754/eqsf2.S, config/arc/ieee-754/extendsfdf2.S,
	config/arc/ieee-754/fixdfsi.S, config/arc/ieee-754/fixsfsi.S,
	config/arc/ieee-754/fixunsdfsi.S, config/arc/ieee-754/floatsidf.S,
	config/arc/ieee-754/floatsisf.S, config/arc/ieee-754/floatunsidf.S,
	config/arc/ieee-754/gedf2.S, config/arc/ieee-754/gesf2.S,
	config/arc/ieee-754/gtdf2.S, config/arc/ieee-754/gtsf2.S,
	config/arc/ieee-754/muldf3.S, config/arc/ieee-754/mulsf3.S,
	config/arc/ieee-754/orddf2.S, config/arc/ieee-754/ordsf2.S,
	config/arc/ieee-754/truncdfsf2.S, config/arc/ieee-754/uneqdf2.S,
	config/arc/ieee-754/uneqsf2.S, config/arc/initfini.c,
	config/arc/lib1funcs.S, config/arc/t-arc, config/arc/t-arc-newlib,
	config/cris/umulsidi3.S, config/msp430/cmpsi2.S,
	config/msp430/epilogue.S, config/msp430/lib2bitcountHI.c,
	config/msp430/lib2divHI.c, config/msp430/lib2divQI.c,
	config/msp430/lib2divSI.c, config/msp430/lib2mul.c,
	config/msp430/msp430-divmod.h, config/msp430/msp430-mul.h,
	config/msp430/slli.S, config/msp430/srai.S, config/msp430/srli.S,
	config/rl78/divmodhi.S, config/rl78/divmodqi.S, config/rl78/divmodsi.S,
	config/rl78/signbit.S, vtv_end.c, vtv_end_preinit.c, vtv_start.c,
	vtv_start_preinit.c: Use the standard form for the copyright notice.

libgomp/
	* hashtab.h: Use the standard form for the copyright notice.

libstdc++-v3/
	* testsuite/18_support/new_handler.cc,
	testsuite/18_support/terminate_handler.cc,
	testsuite/18_support/unexpected_handler.cc: Use the standard form for
	the copyright notice.

From-SVN: r206288
2014-01-02 22:09:02 +00:00
Hans-Peter Nilsson
ca9431f7fe chi2_quality.h: Break out from chi2_quality.cc.
* testsuite/20_util/hash/chi2_quality.h: Break out from
	chi2_quality.cc.
	* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Ditto.
	* testsuite/20_util/hash/chi2_q_document_words.cc: Ditto.
	* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Ditto.  Increase
	SAMPLES to 35000 for simulator targets.
	* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Ditto.
	* testsuite/20_util/hash/chi2_q_uniform_random.cc: Ditto.
	* testsuite/20_util/hash/chi2_quality.cc: Remove.

From-SVN: r206167
2013-12-22 14:57:53 +00:00
Paolo Carlini
a0d026d943 value.cc: Add test.
2013-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/is_base_of/value.cc: Add test.

	* include/std/fstream: Tiny formatting tweak.

From-SVN: r205851
2013-12-10 09:48:50 +00:00
Paolo Carlini
03fd2f6092 re PR libstdc++/59427 (Opening with ios::in | ios::app does not allow appending)
2013-12-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/59427
	* include/bits/fstream.tcc (basic_filebuf<>::overflow,
	basic_filebuf<>::xsputn): Per lwg/596, ios_base::app implies
	ios_base:out.
	* include/std/fstream (basic_filebuf<>::_M_set_buffer): Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/59427.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.

From-SVN: r205837
2013-12-09 23:02:18 +00:00
Renlin Li
c38114079b chi2_quality.cc: Change -DSAMPLES=30000.
libstdc++-v3/

	* testsuite/20_util/hash/chi2_quality.cc: Change -DSAMPLES=30000.

From-SVN: r205810
2013-12-09 17:23:50 +00:00
Jonathan Wakely
da18dcc133 * testsuite/30_threads/async/async.cc: Fix race condition in test.
From-SVN: r205795
2013-12-08 22:18:19 +00:00
Paolo Carlini
ae29d0253f explicit_instantiation.cc: New.
2013-12-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/add_const/requirements/explicit_instantiation.cc:
	New.
	* testsuite/20_util/add_const/value.cc: Likewise.
	* testsuite/20_util/add_cv/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/add_cv/value.cc: Likewise.
	* testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/add_pointer/value.cc: Likewise.
	* testsuite/20_util/add_volatile/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/add_volatile/value.cc: Likewise.
	* testsuite/20_util/alignment_of/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/alignment_of/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/alignment_of/value.cc: Likewise.
	* testsuite/20_util/extent/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/extent/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/extent/value.cc: Likewise.
	* testsuite/20_util/has_virtual_destructor/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/has_virtual_destructor/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/has_virtual_destructor/value.cc: Likewise.
	* testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc:
 	Likewise.
	* testsuite/20_util/is_abstract/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_abstract/value.cc: Likewise.
	* testsuite/20_util/is_arithmetic/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_arithmetic/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_arithmetic/value.cc: Likewise.
	* testsuite/20_util/is_array/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_array/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_array/value.cc: Likewise.
	* testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_base_of/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_base_of/value.cc: Likewise.
	* testsuite/20_util/is_class/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_class/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_class/value.cc: Likewise.
	* testsuite/20_util/is_const/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_const/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_const/value.cc: Likewise.
	* testsuite/20_util/is_empty/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_empty/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_empty/value.cc: Likewise.
	* testsuite/20_util/is_enum/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_enum/requirements/typedefs.cc
	* testsuite/20_util/is_enum/value.cc: Likewise.
	* testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc
	* testsuite/20_util/is_pointer/value.cc: Likewise.
	* testsuite/20_util/is_polymorphic/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_polymorphic/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_polymorphic/value.cc: Likewise.
	* testsuite/20_util/is_same/requirements/explicit_instantiation.cc
	* testsuite/20_util/is_same/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_same/value.cc: Likewise.
	* testsuite/20_util/is_union/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_union/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_union/value.cc: Likewise.
	* testsuite/20_util/is_void/requirements/explicit_instantiation.cc
	* testsuite/20_util/is_void/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_void/value.cc: Likewise.
	* testsuite/20_util/is_volatile/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_volatile/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_volatile/value.cc: Likewise.
	* testsuite/20_util/rank/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/rank/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/rank/value.cc: Likewise.
	* testsuite/20_util/remove_all_extents/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_all_extents/value.cc: Likewise.
	* testsuite/20_util/remove_const/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_const/value.cc: Likewise.
	* testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/remove_cv/value.cc: Likewise.
	* testsuite/20_util/remove_extent/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_extent/value.cc: Likewise.
	* testsuite/20_util/remove_pointer/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_pointer/value.cc: Likewise.
	* testsuite/20_util/remove_volatile/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_volatile/value.cc: Likewise.

From-SVN: r205789
2013-12-08 09:44:48 +00:00
Paolo Carlini
44916fe15f testsuite_tr1.h (test_category, [...]): constexpr in c++11 mode.
2013-12-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_tr1.h (test_category, test_property,
	test_relationship): constexpr in c++11 mode.
	* testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert
	and change to dg-do compile testcase.
	* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
	* testsuite/20_util/aligned_storage/value.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise.
	* testsuite/20_util/is_compound/value.cc: Likewise.
	* testsuite/20_util/is_constructible/value.cc: Likewise.
	* testsuite/20_util/is_convertible/value.cc: Likewise.
	* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
	* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_floating_point/value.cc: Likewise.
	* testsuite/20_util/is_function/value.cc: Likewise.
	* testsuite/20_util/is_fundamental/value.cc: Likewise.
	* testsuite/20_util/is_integral/value.cc: Likewise.
	* testsuite/20_util/is_literal_type/value.cc: Likewise.
	* testsuite/20_util/is_lvalue_reference/value.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_pointer/value.cc: Likewise.
	* testsuite/20_util/is_move_assignable/value.cc: Likewise.
	* testsuite/20_util/is_move_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
	* testsuite/20_util/is_null_pointer/value.cc: Likewise.
	* testsuite/20_util/is_object/value.cc: Likewise.
	* testsuite/20_util/is_pod/value.cc: Likewise.
	* testsuite/20_util/is_reference/value.cc: Likewise.
	* testsuite/20_util/is_rvalue_reference/value.cc: Likewise.
	* testsuite/20_util/is_scalar/value.cc: Likewise.
	* testsuite/20_util/is_signed/value.cc: Likewise.
	* testsuite/20_util/is_standard_layout/value.cc: Likewise.
	* testsuite/20_util/is_trivial/value.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/value.cc: Likewise.
	* testsuite/20_util/is_unsigned/value.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/remove_reference/value.cc: Likewise.

From-SVN: r205766
2013-12-06 23:08:41 +00:00
Jonathan Wakely
a566cb5e81 fstream (basic_filebuf::open): Use preformatted text for table in Doxygen comment.
* include/std/fstream (basic_filebuf::open): Use preformatted text
	for table in Doxygen comment.

From-SVN: r205631
2013-12-03 12:58:15 +00:00
Tim Shen
fb5a6c6939 regex_compiler.h: Add todo comment.
2013-12-03  Tim Shen  <timshen91@gmail.com>

	* regex_compiler.h: Add todo comment.
	* regex_executor.tcc: Likewise.

From-SVN: r205624
2013-12-03 10:04:32 +00:00
Matthias Klose
be483ee77a exception, [...]: Remove empty dirs.
2013-11-29  Matthias Klose  <doko@ubuntu.com>

        * testsuite/experimental/string_view/requirements/exception,
        testsuite/experimental/string_view/capacity/wchar_t,
        testsuite/experimental/string_view/capacity/char: Remove empty dirs.

From-SVN: r205536
2013-11-29 17:04:30 +00:00
Rainer Orth
0fe530b6f0 Fix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9
* testsuite/ext/random/hypergeometric_distribution/operators/values.cc:
	Use dg-require-cmath instead.

From-SVN: r205450
2013-11-27 16:15:35 +00:00
Rainer Orth
3745a526d6 Fix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9
* testsuite/ext/random/hypergeometric_distribution/operators/values.cc
	(test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1.

From-SVN: r205446
2013-11-27 15:15:23 +00:00
François Dumont
2e5189c83a safe_local_iterator.h (_Safe_local_iterator<>): Remove _M_bucket, use same information in normal local_iterator.
2013-11-22  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>):
	Remove _M_bucket, use same information in normal local_iterator.
	(operator==): Remove redundant _M_can_compare check.
	* include/debug/safe_local_iterator.tcc: Adapt.
	* include/debug/unordered_set: Likewise.
	* include/debug/unordered_map: Likewise.

From-SVN: r205289
2013-11-22 20:55:53 +00:00
Jakub Jelinek
4e1a156d8f Makefile.am (check_DEJAGNU_normal_targets): Add 10.
* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
	(check-DEJAGNU): Add normal10, run 28_regex/[ab]*
	tests as another separate job.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r205286
2013-11-22 21:38:59 +01:00
Jonathan Wakely
237c8b9d2f re PR libstdc++/59247 (Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace')
PR libstdc++/59247
	* include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
	std::experimental::__7 as inline.
	* include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
	enclose namespace __detail.
	* include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
	* include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
	* include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.

From-SVN: r205277
2013-11-22 16:59:25 +00:00
Jonathan Wakely
2dc2114458 acinclude.m4 (libtool_VERSION): Bump.
2013-11-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* acinclude.m4 (libtool_VERSION): Bump.
	* configure: Regenerate.
	* doc/xml/manual/abi.xml: Update version information.

From-SVN: r205258
2013-11-22 13:18:42 +00:00
Paolo Carlini
72fd36d76a values.cc: Fix further thinkos.
2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/random/hypergeometric_distribution/operators/
	values.cc: Fix further thinkos.

From-SVN: r205249
2013-11-22 10:19:46 +00:00
Paolo Carlini
8a1c51c49a values.cc: Fix thinkos.
2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/random/hypergeometric_distribution/operators/
	values.cc: Fix thinkos.

From-SVN: r205248
2013-11-22 10:08:39 +00:00
Edward Smith-Rowland
32f9be169c string_view: Rep empty string with unit-length static constexpr string.
2013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/experimental/string_view: Rep empty string with unit-length
	static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce
	invariant of no nullptr string pointer.
	* include/experimental/string_view.tcc: Ditto.
	* testsuite/experimental/string_view/cons/char/1.cc: data() for empty
	string_view is no longer nullptr.
	* testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto.
	* testsuite/experimental/string_view/operations/data/char/1.cc: Ditto.
	* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
	Ditto.

From-SVN: r205213
2013-11-21 12:30:37 +00:00
Edward Smith-Rowland
d2ae7b11b5 Implement __gnu_cxx::hypergeometric_distribution.
2013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement __gnu_cxx::hypergeometric_distribution.
	* include/ext/random: Add hypergeometric_distribution.
	* include/ext/random.tcc: Add hypergeometric_distribution.
	* testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf
	for the hypergeometric discreet distribution;
	(lbincoef): New supporting function for binomial coefficients.
	* testsuite/ext/random/hypergeometric_distribution/operators/
	serialize.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/operators/
	equal.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/operators/
	inequal.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/operators/
	values.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/requirements/
	typedefs.cc: New.

From-SVN: r205212
2013-11-21 12:27:02 +00:00
Jonathan Wakely
f2f08be7ea re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
PR libstdc++/49204
	* include/std/future (__future_base::_State_base): Rename to
	__future_base::_State_baseV2.
	(__future_base::_State_baseV2::~_State_baseV2): Define as defaulted.
	(__future_base::_State_baseV2::_M_run_deferred): Rename to
	_M_complete_async.
	(__future_base::_State_baseV2::_M_has_deferred): Add new virtual.
	(__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to
	test for a deferred function, or call _M_complete_async() to join an
	async thread that has made the shared state ready.
	(__future_base::_State_baseV2::wait_until): Likewise.
	(__future_base::_Async_state_common): Rename to _Async_state_commonV2.
	(__future_base::_Async_state_commonV2::_M_run_deferred): Rename to
	_M_complete_async.
	* src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base):
	Export old definition.
	(__future_base::_Async_state_common): Likewise.
	* src/c++11/future.cc (__future_base::_State_base::~_State_base):
	Remove.
	* doc/xml/manual/status_cxx2011.xml: Update status.
	* testsuite/30_threads/async/async.cc: Test future_status::timeout
	and future_status::ready.
	* testsuite/30_threads/async/sync.cc: Test future_status::deferred.

From-SVN: r205144
2013-11-20 20:59:19 +00:00
Jonathan Wakely
f8c370af2c re PR c++/59173 (Alias template in partial specialization finds name from primary template)
PR c++/59173
	* include/ext/pointer.h (pointer_traits<>::rebind<>): Add template
	keyword in nested name.

From-SVN: r205114
2013-11-20 13:39:33 +00:00
David Edelsohn
eb7bdcb027 * testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings.
From-SVN: r205087
2013-11-19 23:38:14 -05:00
Jonathan Wakely
3c8bceb13e gnu.ver (_ZNSt11regex_errorC*): Export regex_error constructors.
* config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error
	constructors.
	* testsuite/20_util/addressof/1.cc: Remove { dg-do compile }.
	* testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
	* testsuite/20_util/allocator_traits/members/select.cc: Likewise. Fix
	failure.
	* testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
	* testsuite/28_regex/init-list.cc: Likewise.
	* testsuite/28_regex/regex_error/regex_error.cc: Likewise.
	* testsuite/28_regex/sub_match/length.cc: Likewise. Add main.
	* testsuite/28_regex/sub_match/cast_char.cc: Likewise. Fix test.
	* testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_extended.cc: Delete.

From-SVN: r205063
2013-11-19 23:22:26 +00:00
Jonathan Wakely
50875e80e1 noexcept.cc: Change to compile-only test.
* testsuite/23_containers/forward_list/allocator/noexcept.cc: Change
	to compile-only test. Adjust swap overload to handle rebound
	allocators.
	* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
	Likewise.
	* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/vector/allocator/swap.cc: Add elements
	before swapping.

From-SVN: r205056
2013-11-19 22:03:30 +00:00
Paolo Carlini
660dca797a string_view (_S_max_size): Remove.
2013-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/experimental/string_view (_S_max_size): Remove.
	(basic_string_view<>::max_size): Adjust.
	* testsuite/experimental/string_view/capacity/1.cc: Clean-up.
	* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
	Likewise.

From-SVN: r205033
2013-11-19 15:45:15 +00:00
Jonathan Wakely
04ef64d536 * doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses.
From-SVN: r205029
2013-11-19 14:58:46 +00:00
Jonathan Wakely
ad098ad133 shared_ptr_base.h (_Sp_counted_base<_S_single>): Use non-atomic operations.
* include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
	non-atomic operations.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

From-SVN: r204949
2013-11-18 13:52:39 +00:00
Edward Smith-Rowland
abe6cd5d35 I forgot the ChangeLog and a comment fix for my last checkin.
From-SVN: r204912
2013-11-17 01:58:29 +00:00
François Dumont
6c21c6d0f5 55043.cc (equal): Add missing & on rhs parameter.
2013-11-16  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/23_containers/unordered_set/55043.cc (equal): Add
	missing & on rhs parameter.

From-SVN: r204906
2013-11-16 20:17:50 +00:00
Jonathan Wakely
3aaaa651a9 stl_bvector.h (vector<bool>::emplace_back()): LWG 2187: Define.
* include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187:
	Define.
	(vector<bool>::emplace()): Likewise.
	* testsuite/23_containers/vector/bool/emplace.cc: New.

From-SVN: r204851
2013-11-15 16:34:06 +00:00
Ondřej Bílka
64e1ab1168 build_hacking.xml: Fix documentation typos.
2013-11-15  Ondřej Bílka <neleai@seznam.cz>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/build_hacking.xml: Fix documentation typos.
	* doc/xml/manual/configure.xml: Likewise.
	* include/bits/atomic_base.h: Fix typos in comments.
	* include/bits/random.h: Likewise.
	* include/ext/cast.h: Likewise.
	* libsupc++/cxxabi.h: Likewise.
	* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/testcase.h:
	Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/util/testsuite_containers.h: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r204850
2013-11-15 16:33:59 +00:00
Jonathan Wakely
ff90a89e48 stl_map.h (map): Implement C++11 allocator-aware container requirements.
* include/bits/stl_map.h (map): Implement C++11 allocator-aware
	container requirements.
	* include/bits/stl_multimap.h (multimap): Likewise.
	* include/bits/stl_multiset.h (multiset): Likewise.
	* include/bits/stl_set.h (set): Likewise.
	* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and
	add accessors for value.
	(_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node
	accessors.
	(_Rb_tree): Use allocator_traits and implement support for sets and
	maps the be allocator-aware.
	* include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do
	not zero-initialize storage buffer.
	* include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node):
	Likewise.
	* include/bits/stl_vector.h (vector(vector&&, const allocator_type&)):
	Add conditional noexcept specification.
	* doc/xml/manual/status_cxx2011.xml: Update status of containers.
	* testsuite/util/testsuite_allocator.h: Re-indent.
	* testsuite/23_containers/forward_list/allocator/copy.cc: Test
	allocator-extended copy constructor.
	* testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/allocator/copy.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/allocator/copy.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise.
	* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
	* testsuite/23_containers/forward_list/allocator/move.cc: New.
	* testsuite/23_containers/unordered_map/allocator/move.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/move.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/move.cc: New.
	* testsuite/23_containers/unordered_set/allocator/move.cc: New.
	* testsuite/23_containers/vector/allocator/move.cc: New.
	* testsuite/23_containers/map/allocator/copy.cc: New.
	* testsuite/23_containers/map/allocator/copy_assign.cc: New.
	* testsuite/23_containers/map/allocator/minimal.cc: New.
	* testsuite/23_containers/map/allocator/move.cc: New.
	* testsuite/23_containers/map/allocator/move_assign.cc: New.
	* testsuite/23_containers/map/allocator/noexcept.cc: New.
	* testsuite/23_containers/map/allocator/swap.cc: New.
	* testsuite/23_containers/multimap/allocator/copy.cc: New.
	* testsuite/23_containers/multimap/allocator/copy_assign.cc: New.
	* testsuite/23_containers/multimap/allocator/minimal.cc: New.
	* testsuite/23_containers/multimap/allocator/move.cc: New.
	* testsuite/23_containers/multimap/allocator/move_assign.cc: New.
	* testsuite/23_containers/multimap/allocator/noexcept.cc: New.
	* testsuite/23_containers/multimap/allocator/swap.cc: New.
	* testsuite/23_containers/multiset/allocator/copy.cc: New.
	* testsuite/23_containers/multiset/allocator/copy_assign.cc: New.
	* testsuite/23_containers/multiset/allocator/minimal.cc: New.
	* testsuite/23_containers/multiset/allocator/move.cc: New.
	* testsuite/23_containers/multiset/allocator/move_assign.cc: New.
	* testsuite/23_containers/multiset/allocator/noexcept.cc: New.
	* testsuite/23_containers/multiset/allocator/swap.cc: New.
	* testsuite/23_containers/set/allocator/copy.cc: New.
	* testsuite/23_containers/set/allocator/copy_assign.cc: New.
	* testsuite/23_containers/set/allocator/minimal.cc: New.
	* testsuite/23_containers/set/allocator/move.cc: New.
	* testsuite/23_containers/set/allocator/move_assign.cc: New.
	* testsuite/23_containers/set/allocator/noexcept.cc: New.
	* testsuite/23_containers/set/allocator/swap.cc: New.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r204848
2013-11-15 15:34:14 +00:00
Ulrich Weigand
b54214fe22 rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
gcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
	(RS6000_SAVE_TOC): Remove.
	(RS6000_TOC_SAVE_SLOT): New macro.
	* config/rs6000/rs6000.c (rs6000_parm_offset): New function.
	(rs6000_parm_start): Use it.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT.
	(rs6000_emit_epilogue): Likewise.
	(rs6000_call_aix): Likewise.
	(rs6000_output_function_prologue): Do not save/restore r11
	around calling _mcount for ABI_ELFv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space):
	Add prototype.
	* config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove.
	(REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space.
	* config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function.
	(rs6000_function_parms_need_stack): Likewise.
	(rs6000_reg_parm_stack_space): Likewise.
	(rs6000_function_arg): Do not replace BLKmode by Pmode when
	returning a register argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro.
	(ALTIVEC_ARG_MAX_RETURN): Likewise.
	(FUNCTION_VALUE_REGNO_P): Use them.
	* config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define.
	(rs6000_return_in_msb): New function.
	(rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates.
	Handle aggregates of up to 16 bytes for ELFv2.
	(rs6000_function_value): Handle ELFv2 homogeneous aggregates.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
	(rs6000_discover_homogeneous_aggregate): Likewise.
	(rs6000_function_arg_boundary): Handle homogeneous aggregates.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Michael Gschwind  <mkg@us.ibm.com>

	* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
	(rs6000_discover_homogeneous_aggregate): Likewise.
	(rs6000_function_arg_boundary): Handle homogeneous aggregates.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (machine_function): New member
	r2_setup_needed.
	(rs6000_emit_prologue): Set r2_setup_needed if necessary.
	(rs6000_output_mi_thunk): Set r2_setup_needed.
	(rs6000_output_function_prologue): Output global entry point
	prologue and local entry point marker if needed for ABI_ELFv2.
	Output -mprofile-kernel code here.
	(output_function_profiler): Do not output -mprofile-kernel
	code here; moved to rs6000_output_function_prologue.
	(rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2.

	(rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2.
	(rs6000_output_function_entry): Likewise.
	(rs6000_assemble_integer): Likewise.
	(rs6000_elf_encode_section_info): Likewise.
	(rs6000_elf_declare_function_name): Do not create dot symbols
	or .opd section for ABI_ELFv2.

	(rs6000_trampoline_size): Update for ABI_ELFv2 trampolines.
	(rs6000_trampoline_init): Likewise.
	(rs6000_elf_file_end): Call file_end_indicate_exec_stack
	for ABI_ELFv2.

	(rs6000_call_aix): Handle ELFv2 indirect calls.  Do not check
	for function descriptors in ABI_ELFv2.

	* config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support
	on ABI_AIX only, not ABI_ELFv2.
	("*call_value_indirect_aix<mode>"): Likewise.
	("*call_indirect_elfv2<mode>"): New pattern.
	("*call_value_indirect_elfv2<mode>"): Likewise.

	* config/rs6000/predicates.md ("symbol_ref_operand"): Do not
	check for function descriptors in ABI_ELFv2.
	("current_file_function_operand"): Likewise.

	* config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]:
	(toc): Undefine.
	(FUNC_NAME): Define ELFv2 variant.
	(JUMP_TARGET): Likewise.
	(FUNC_START): Likewise.
	(HIDDEN_FUNC): Likewise.
	(FUNC_END): Likeiwse.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1
	and --with-abi=elfv2.
	* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi".
	* config/rs6000/rs6000.opt (mabi=elfv1): New option.
	(mabi=elfv2): Likewise.
	* config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2.
	* config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI
	if !RS6000_BI_ARCH.
	(ELFv2_ABI_CHECK): New macro.
	(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
	rs6000_current_abi to ABI_AIX or ABI_ELFv2.
	(GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
	_CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2.
	(debug_stack_info): Likewise.
	(rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX.
	(rs6000_legitimize_tls_address): Likewise.
	(rs6000_conditional_register_usage): Likewise.
	(rs6000_emit_move): Likewise.
	(init_cumulative_args): Likewise.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.
	(rs6000_output_function_entry): Likewise.
	(rs6000_assemble_integer): Likewise.
	(rs6000_savres_strategy): Likewise.
	(rs6000_stack_info): Likewise.
	(rs6000_function_ok_for_sibcall): Likewise.
	(rs6000_emit_load_toc_table): Likewise.
	(rs6000_savres_routine_name): Likewise.
	(ptr_regno_for_savres): Likewise.
	(rs6000_emit_prologue): Likewise.
	(rs6000_emit_epilogue): Likewise.
	(rs6000_output_function_epilogue): Likewise.
	(output_profile_hook): Likewise.
	(output_function_profiler): Likewise.
	(rs6000_trampoline_size): Likewise.
	(rs6000_trampoline_init): Likewise.
	(rs6000_elf_output_toc_section_asm_op): Likewise.
	(rs6000_elf_encode_section_info): Likewise.
	(rs6000_elf_reloc_rw_mask): Likewise.
	(rs6000_elf_declare_function_name): Likewise.
	(rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX,
	except that rs6000_compat_align_parm is always assumed false.
	(rs6000_gimplify_va_arg): Likewise.
	(rs6000_call_aix): Update comment.
	(rs6000_sibcall_aix): Likewise.
	* config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"):
	Treat ABI_ELFv2 the same as ABI_AIX.
	("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
	("load_toc_aix_si"): Likewise.
	("load_toc_aix_di"): Likewise.
	("call"): Likewise.
	("call_value"): Likewise.
	("*call_local_aix<mode>"): Likewise.
	("*call_value_local_aix<mode>"): Likewise.
	("*call_nonlocal_aix<mode>"): Likewise.
	("*call_value_nonlocal_aix<mode>"): Likewise.
	("*call_indirect_aix<mode>"): Likewise.
	("*call_value_indirect_aix<mode>"): Likewise.
	("sibcall"): Likewise.
	("sibcall_value"): Likewise.
	("*sibcall_aix<mode>"): Likewise.
	("*sibcall_value_aix<mode>"): Likewise.
	* config/rs6000/predicates.md ("symbol_ref_operand"): Likewise.
	("current_file_function_operand"): Likewise.

gcc/testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove
	compiler and linker field if _CALL_ELF == 2.
	* gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise.
	* gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise.
	* gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro.
	(WRAPPER): Use it.
	* gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2.
	* gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2.
	* gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* lib/target-supports.exp (check_effective_target_powerpc_elfv2):
	New function.
	* gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2.
	* gcc.target/powerpc/pr57949-2.c: Likewise.

libgcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define.
	(frob_update_context): Use it.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]:
	(trampoline_initial): Provide ELFv2 variant.
	(__trampoline_setup): Likewise.

	* config/rs6000/linux-unwind.h (frob_update_context): Do not
	check for AIX indirect function call sequence if _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (get_regs): Do not support
	old kernel versions if _CALL_ELF == 2.
	(frob_update_context): Do not support PLT stub variants only
	generated by old linkers if _CALL_ELF == 2.

libitm/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
	(FUNC): Define ELFv2 variant.
	(END): Likewise.
	(HIDDEN): Likewise.
	(CALL): Likewise.
	(BASE): Likewise.
	(LR_SAVE): Likewise.

libstdc++/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* scripts/extract_symvers.in: Ignore <localentry: > fields
	in readelf --symbols output.


Co-Authored-By: Alan Modra <amodra@gmail.com>
Co-Authored-By: Michael Gschwind <mkg@us.ibm.com>

From-SVN: r204808
2013-11-14 18:50:48 +00:00
Jonathan Wakely
8ed13e2757 alloc_traits.h (__allow_copy_cons): Remove.
* include/bits/alloc_traits.h (__allow_copy_cons): Remove.
	(__check_copy_constructible): Likewise.
	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
	Do not derive from __check_copy_constructible.
	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
	Likewise.
	* testsuite/23_containers/unordered_map/55043.cc: It is no longer
	necessary for is_copy_constructible to be correct to use nested
	unordered containers.
	* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
	* testsuite/23_containers/unordered_set/55043.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.

From-SVN: r204790
2013-11-14 12:43:00 +00:00
Marc Glisse
b62c62f4b0 re PR libstdc++/59087 (Issues including complex.h in C++11/1y mode because of C's complex.h)
2013-11-13  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/59087
	* include/ext/pod_char_traits.h: Uglify V, I and S.

From-SVN: r204750
2013-11-13 15:47:04 +00:00
Jonathan Wakely
6162239973 re PR libstdc++/54562 (mutex and condition variable timers)
PR libstdc++/54562
	* include/std/mutex (__timed_mutex_impl::__clock_t): Use
	high_resolution_clock for absolute timeouts, because
	pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC.
	(__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative
	timeouts as per [thread.req.timing].
	(__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to
	__clock_t time point instead of using _M_try_lock_for.

From-SVN: r204672
2013-11-11 13:33:48 +00:00