François Dumont
1bb59e05ad
hashtable_policy.h: Fix some long lines.
...
2014-01-15 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h: Fix some long lines.
* include/bits/hashtable.h (__hash_code_base_access): Define and
use it to check its _M_bucket_index noexcept qualification. Use
also in place of...
(__access_protected_ctor): ...this.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adapt line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
From-SVN: r206632
2014-01-15 16:53:02 +00:00
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
Edward Smith-Rowland
b032ec0d50
Changed reference to Ch21 Strings in comments in experimental/string_view*.
...
Forgot this in the main patch. Sorry.
From-SVN: r204903
2013-11-16 18:03:40 +00:00
Edward Smith-Rowland
77cba5af77
Implement N3762 string_view: a non-owning reference to a string.
...
2013-11-16 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement N3762 string_view: a non-owning reference to a string.
* include/Makefile.am: Add string_view and string_view.tcc.
* include/Makefile.in: Regenerate.
* include/experimental/string_view: Implement basic_string_view.
* include/experimental/string_view.tcc: Implement basic_string_view.
* testsuite/experimental/string_view/capacity/1.cc: New.
* testsuite/experimental/string_view/cons/char/1.cc: New.
* testsuite/experimental/string_view/cons/char/2.cc: New.
* testsuite/experimental/string_view/cons/char/3.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/2.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/3.cc: New.
* testsuite/experimental/string_view/element_access/char/1.cc: New.
* testsuite/experimental/string_view/element_access/char/2.cc: New.
* testsuite/experimental/string_view/element_access/char/empty.cc: New.
* testsuite/experimental/string_view/element_access/char/front_back.cc:
New.
* testsuite/experimental/string_view/element_access/wchar_t/1.cc: New.
* testsuite/experimental/string_view/element_access/wchar_t/2.cc: New.
* testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
New.
* testsuite/experimental/string_view/element_access/wchar_t/
front_back.cc: New.
* testsuite/experimental/string_view/include.cc: New.
* testsuite/experimental/string_view/inserters/char/1.cc: New.
* testsuite/experimental/string_view/inserters/char/2.cc: New.
* testsuite/experimental/string_view/inserters/char/3.cc: New.
* testsuite/experimental/string_view/inserters/pod/10081-out.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/1.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/2.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/3.cc: New.
* testsuite/experimental/string_view/literals/types.cc: New.
* testsuite/experimental/string_view/literals/values.cc: New.
* testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
New.
* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
1.cc: New.
* testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
New.
* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
1.cc: New.
* testsuite/experimental/string_view/operations/compare/char/1.cc: New.
* testsuite/experimental/string_view/operations/compare/char/13650.cc:
New.
* testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
New.
* testsuite/experimental/string_view/operations/compare/wchar_t/
13650.cc: New.
* testsuite/experimental/string_view/operations/data/char/1.cc: New.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/find/char/1.cc: New.
* testsuite/experimental/string_view/operations/find/char/2.cc: New.
* testsuite/experimental/string_view/operations/find/char/3.cc: New.
* testsuite/experimental/string_view/operations/find/char/4.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/1.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/2.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/3.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New.
* testsuite/experimental/string_view/operations/substr/char/1.cc: New.
* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
New.
* testsuite/experimental/string_view/operators/char/2.cc: New.
* testsuite/experimental/string_view/operators/wchar_t/2.cc: New.
* testsuite/experimental/string_view/range_access/char/1.cc: New.
* testsuite/experimental/string_view/range_access/wchar_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char16_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char32_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/wchar_t/1.cc: New.
* testsuite/experimental/string_view/requirements/typedefs.cc: New.
* testsuite/experimental/string_view/types/1.cc: New.
From-SVN: r204902
2013-11-16 17:44:48 +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
Jonathan Wakely
5275f3e546
re PR libstdc++/58982 (std::vector<std::atomic<int>> vai(10); does not compile anymore)
...
PR libstdc++/58982
* include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
to prevent using memmove() on non-assignable types.
(__copy_move_backward::__copy_move_b): Likewise.
* include/bits/stl_uninitialized.h (uninitialized_copy
uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
__uninitialized_default, __uninitialized_default_n): Check for
assignable as well as trivial.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_fill/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
58982.cc: New.
* testsuite/25_algorithms/copy/58982.cc: New.
* testsuite/25_algorithms/copy_n/58982.cc: New.
From-SVN: r204615
2013-11-09 12:38:00 +00:00
François Dumont
9fc0e24b6c
safe_iterator.h (_BeforeBeginHelper<>::_S_Is): Take only a const safe iterator reference.
...
2013-11-08 François Dumont <fdumont@gcc.gnu.org>
* include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is):
Take only a const safe iterator reference.
(_BeforeBeginHelper<>::_S_Is_beginnest): Likewise.
(__get_distance): Take only one type of iterator.
(_Safe_iterator<>::_M_valid_range<>): Not template anymore.
(_Safe_iterator<>::_M_get_sequence()): Return pointer to const
sequence from a const_iterator and a pointer to sequence from an
iterator.
* include/debug/safe_iterator.tcc: Adapt.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator<>::_M_valid_range<>): Not template anymore.
(_Safe_local_iterator<>::_M_get_sequence()): Return pointer to
const sequence from a const_iterator and a pointer to sequence
from an iterator.
* include/debug/safe_local_iterator.tcc: Adapt.
* include/debug/forward_list
(_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt.
From-SVN: r204598
2013-11-08 21:03:58 +00:00
Jonathan Wakely
e15c474a34
regex_compiler.h (__detail::__has_contiguous_iter): vector<bool> storage is not contiguous.
...
* include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
vector<bool> storage is not contiguous.
From-SVN: r204582
2013-11-08 17:33:31 +00:00
Jonathan Wakely
34d1ff06bf
regex_compiler.h (__detail::__compile_nfa): Overload so that std::basic_string<C> and std::vector<C> iterators dispatch to...
...
* include/bits/regex_compiler.h (__detail::__compile_nfa): Overload
so that std::basic_string<C> and std::vector<C> iterators dispatch to
the const C* compiler.
From-SVN: r204574
2013-11-08 14:30:40 +00:00
Jonathan Wakely
bb038ece8f
regex_compiler.h (__detail::_AnyMatcher, [...]): Remove redundant _CharT template parameters.
...
* include/bits/regex_compiler.h (__detail::_AnyMatcher,
__detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant
_CharT template parameters.
* include/bits/regex_compiler.tcc: Likewise.
From-SVN: r204573
2013-11-08 14:30:34 +00:00
Jonathan Wakely
68e69ce27f
regex_automaton.h (__detail::_State, [...]): Remove redundant _CharT template parameters.
...
* include/bits/regex_automaton.h (__detail::_State, __detail::_NFA,
__detail::_StateSeq): Remove redundant _CharT template parameters.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_compiler.h (__detail::_Compiler): Likewise.
(__compile_nfa): Add object generator for _Compiler.
* include/bits/regex_compiler.tcc: Remove _CharT template parameters.
* include/bits/regex_executor.h: Likewise.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex.h (basic_regex): Assert char_type matches. Use
__compile_nfa object generator. Remove _CharT template parameter.
From-SVN: r204572
2013-11-08 14:30:29 +00:00
Jonathan Wakely
7d9d218516
regex_automaton.h (__detail::_State): Split non-dependent parts into new _State_base.
...
* include/bits/regex_automaton.h (__detail::_State): Split
non-dependent parts into new _State_base.
(__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid
copies when inserting _MatcherT and _StateT objects.
* include/bits/regex_automaton.tcc: Move member definitions to base
class. Qualify dependent names.
* include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make
non-const and use std::move to avoid copying.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use
array, so past-the-end iterator is valid.
From-SVN: r204571
2013-11-08 14:30:22 +00:00
Jonathan Wakely
f054ff5b7c
regex_automaton.h (_S_opcode_word_boundry): Rename to _S_opcode_word_boundary.
...
* include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
_S_opcode_word_boundary.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
Rename to _M_word_boundary.
* include/bits/regex_executor.tcc: Likewise.
From-SVN: r204449
2013-11-06 09:47:51 +00:00
Jonathan Wakely
4457e88ce1
N3655 C++1y TransformationTraits Redux
...
N3655 C++1y TransformationTraits Redux
* include/std/type_traits (remove_const_t, remove_volatile_t,
remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
make_unsigned_t, remove_extent_t, remove_all_extents_t,
remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
enable_if_t, conditional_t, common_type_t, underlying_type_t,
result_of_t): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
* testsuite/20_util/decay/requirements/typedefs-2.cc: New.
* testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
* testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
* testsuite/20_util/result_of/requirements/typedefs.cc: New.
* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
compile-only test.
* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r204426
2013-11-05 22:57:36 +00:00
Jonathan Wakely
ae40b2ffce
status_cxx2011.xml: Document aligned_union as missing.
...
* doc/xml/manual/status_cxx2011.xml: Document aligned_union as
missing.
From-SVN: r204416
2013-11-05 19:59:21 +00:00
Jonathan Wakely
b1705a6388
optional: Use __and_<> and __not_<> in conditions.
...
2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/experimental/optional: Use __and_<> and __not_<> in
conditions. Style fixes.
(__constexpr_addressof, swap): Make inline.
* testsuite/experimental/optional/cons/copy.cc: Adjust constants for
32-bit targets.
* testsuite/experimental/optional/cons/move.cc: Likewise.
* testsuite/experimental/optional/cons/value.cc: Likewise.
* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r204402
2013-11-05 15:24:08 +00:00
Jonathan Wakely
654a6bb421
Fix date of previous ChangeLog entry.
...
From-SVN: r204300
2013-11-01 20:10:51 +00:00
Michael Brune
2b5ab1e438
enable_special_members.h: New.
...
2013-10-31 Michael Brune <lucdanton@free.fr>
* include/bits/enable_special_members.h: New.
* include/experimental/optional: New.
* include/Makefile.am: Handle include/experimental.
* include/Makefile.in: Regenerate.
* testsuite/libstdc++-dg/conformance.exp: Run tests from
testsuite/experimental sub-directory.
* testsuite/experimental/optional/assignment/1.cc: New.
* testsuite/experimental/optional/assignment/2.cc: New.
* testsuite/experimental/optional/assignment/3.cc: New.
* testsuite/experimental/optional/assignment/4.cc: New.
* testsuite/experimental/optional/assignment/5.cc: New.
* testsuite/experimental/optional/assignment/6.cc: New.
* testsuite/experimental/optional/cons/copy.cc: New.
* testsuite/experimental/optional/cons/default.cc: New.
* testsuite/experimental/optional/cons/move.cc: New.
* testsuite/experimental/optional/cons/value.cc: New.
* testsuite/experimental/optional/constexpr/cons/default.cc: New.
* testsuite/experimental/optional/constexpr/cons/value.cc: New.
* testsuite/experimental/optional/constexpr/in_place.cc: New.
* testsuite/experimental/optional/constexpr/make_optional.cc: New.
* testsuite/experimental/optional/constexpr/nullopt.cc: New.
* testsuite/experimental/optional/constexpr/observers/1.cc: New.
* testsuite/experimental/optional/constexpr/observers/2.cc: New.
* testsuite/experimental/optional/constexpr/observers/3.cc: New.
* testsuite/experimental/optional/constexpr/observers/4.cc: New.
* testsuite/experimental/optional/constexpr/observers/5.cc: New.
* testsuite/experimental/optional/constexpr/relops/1.cc: New.
* testsuite/experimental/optional/constexpr/relops/2.cc: New.
* testsuite/experimental/optional/constexpr/relops/3.cc: New.
* testsuite/experimental/optional/constexpr/relops/4.cc: New.
* testsuite/experimental/optional/constexpr/relops/5.cc: New.
* testsuite/experimental/optional/constexpr/relops/6.cc: New.
* testsuite/experimental/optional/in_place.cc: New.
* testsuite/experimental/optional/make_optional.cc: New.
* testsuite/experimental/optional/nullopt.cc: New.
* testsuite/experimental/optional/observers/1.cc: New.
* testsuite/experimental/optional/observers/2.cc: New.
* testsuite/experimental/optional/observers/3.cc: New.
* testsuite/experimental/optional/observers/4.cc: New.
* testsuite/experimental/optional/observers/5.cc: New.
* testsuite/experimental/optional/relops/1.cc: New.
* testsuite/experimental/optional/relops/2.cc: New.
* testsuite/experimental/optional/relops/3.cc: New.
* testsuite/experimental/optional/relops/4.cc: New.
* testsuite/experimental/optional/relops/5.cc: New.
* testsuite/experimental/optional/relops/6.cc: New.
* testsuite/experimental/optional/requirements.cc: New.
* testsuite/experimental/optional/swap/1.cc: New.
From-SVN: r204299
2013-11-01 20:08:39 +00:00
Jonathan Wakely
bef49287da
* include/bits/stl_function.h (logical_not<void>): Add noexcept.
...
From-SVN: r204293
2013-11-01 11:59:51 +00:00
Paolo Carlini
7115d32a36
re PR libstdc++/58952 (Construct "std::getchar()" rejected when getchar is macro in C library)
...
2013-11-01 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58952
* include/c_global/cstdio: Undef getchar.
From-SVN: r204291
2013-11-01 11:10:55 +00:00
Jonathan Wakely
d081231ab5
N3421 C++1y Transparent functors
...
N3421 C++1y Transparent functors
* include/bits/stl_function.h (plus<void>, minus<void>,
multiplies<void>, divides<void>, modulus<void>, negate<void>,
equal_to<void>, not_equal_to<void>, greater<void>, less<void>,
greater_equal<void>, less_equal<void>, logical_and<void>,
logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>,
bit_xor<void>, bit_not<void>): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/function_objects/comparisons_void.cc: New.
* include/bits/stl_function.h: Implement N3421.
* testsuite/20_util/function_objects/comparisons_void.cc: New.
From-SVN: r204290
2013-11-01 11:07:15 +00:00
Jonathan Wakely
1b1bdc03f8
tuple (_Index_tuple, [...]): Move to <utility>.
...
* include/std/tuple (_Index_tuple, _Build_index_tuple): Move to
<utility>.
* include/std/utility (integer_sequence, make_integer_sequence,
index_sequence, make_index_sequence, index_sequence_for): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/integer_sequence/intseq.cc: New.
* testsuite/20_util/integer_sequence/requirements/typedefs.cc: New.
From-SVN: r204275
2013-10-31 19:23:54 +00:00
Steve Ellcey
5e5f34bf63
configure.ac: Add header checks for fenv.h and complex.h.
...
2013-10-31 Steve Ellcey <sellcey@mips.com>
* configure.ac: Add header checks for fenv.h and complex.h.
* configure: Regenerate.
From-SVN: r204270
2013-10-31 17:12:35 +00:00
Edward Smith-Rowland
7057e6452b
Implement C++14 digit separators.
...
libcpp:
2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement C++14 digit separators.
* include/cpplib.h (cpp_options): Add digit_separators flag.
* internal.h (DIGIT_SEP(c)): New macro.
* expr.c (cpp_classify_number): Check improper placement of digit sep;
(cpp_interpret_integer): Skip over digit separators.
* init.c (lang_flags): Add digit_separators flag; (lang_defaults): Add
digit separator flags per language; (cpp_set_lang): Set
digit_separators
* lex.c (lex_number): Add digits separator to allowable characters for
C++14.
gcc/c-family:
2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement C++14 digit separators.
* c-lex.c (interpret_float): Remove digit separators from scratch string
before building real literal.
gcc/testsuite:
2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement C++14 digit separators.
* g++.dg/cpp1y/digit-sep.C: New.
* g++.dg/cpp1y/digit-sep-neg.C: New.
* g++.dg/cpp1y/digit-sep-cxx11-neg.C: New.
libstdc++-v3:
2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement C++14 digit separators.
* include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
to struct _Digit<_Base, '\''>.
From-SVN: r204260
2013-10-31 14:01:23 +00:00
Paolo Carlini
0a466ec0c7
48631_neg.cc: Tweak dg-prune.
...
2013-10-31 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.
From-SVN: r204253
2013-10-31 12:38:02 +00:00
Jonathan Wakely
2283f03ac9
pointer_partial_void.cc: Fix and enable VERIFY tests.
...
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
and enable VERIFY tests.
From-SVN: r204231
2013-10-30 22:05:17 +00:00
Jonathan Wakely
8d52ed5c81
shared_ptr (__shared_ptr): Assert non-void pointer.
...
* include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
* include/bits/shared_ptr (default_delete): Likewise.
* testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
default_delete<void>.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
* testsuite/20_util/default_delete/void_neg.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
From-SVN: r204225
2013-10-30 19:48:52 +00:00
Jonathan Wakely
c8c0f5577d
re PR libstdc++/58839 (dereferencing void* in shared_ptr(unique_ptr&& u) constructor)
...
PR libstdc++/58839
* include/bits/shared_ptr_base.h
(__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof
when unique_ptr<U,D>::pointer is not a built-in pointer type.
* testsuite/20_util/shared_ptr/cons/58839.cc: New.
* testsuite/20_util/enable_shared_from_this/members/assign.cc: New.
* testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New.
From-SVN: r204184
2013-10-29 21:33:29 +00:00
Jonathan Wakely
da2e699194
hashtable.cc (__access_protected_ctor): Define and use new type instead of _Hashtable_ebo_helper.
...
* include/bits/hashtable.cc (__access_protected_ctor): Define and use
new type instead of _Hashtable_ebo_helper.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Adjust line number.
From-SVN: r204182
2013-10-29 21:19:34 +00:00
Tim Shen
caaf33fa57
regex_executor.tcc: Add comments.
...
2013-10-28 Tim Shen <timshen91@gmail.com>
* regex_executor.tcc: Add comments.
From-SVN: r204117
2013-10-28 03:55:12 +00:00
Tim Shen
9f0d9611e7
regex.h: Remove unnecessary friends.
...
2013-10-26 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Remove unnecessary friends.
* include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
to here.
* include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
they are merged into _Executor. Eliminate quantifier tracking part, so
it's faster.
* include/bits/regex_executor.tcc: Implement _Executor.
* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
duplicate testcases.
* testsuite/performance/28_regex/split.h: New.
* testsuite/performance/28_regex/split_bfs.cc: New.
* testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
agreement judger: do not compare match_results when executor return
false.
From-SVN: r204093
2013-10-26 16:09:28 +00:00
François Dumont
3ff4317f1c
formatter.h (__check_singular): Add const on iterator reference.
...
2013-10-25 François Dumont <fdumont@gcc.gnu.org>
* include/debug/formatter.h (__check_singular): Add const on
iterator reference.
* include/debug/functions.h (__check_singular): Likewise.
(__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
(__check_dereferenceable(const _Ite&)): Add const on iterator
reference.
(__check_dereferenceable(const _Safe_local_iterator<>&)): New.
* include/debug/safe_iterator.h (__check_singular_aux): Review
comment.
* testsuite/23_containers/vector/debug/debug_functions.cc: New.
* testsuite/23_containers/unordered_set/debug/debug_functions.cc:
New.
From-SVN: r204075
2013-10-25 19:25:06 +00:00
Chris Jefferson
c2240038a6
testsuite_containergen.h: New.
...
2013-10-23 Chris Jefferson <chris@bubblescope.net>
Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/util/testsuite_containergen.h: New.
* testsuite/util/testsuite_iterators.h (test_container<>::val): Add.
* testsuite/25_algorithms/nth_element/random_test.cc: New, use the
above.
* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
* testsuite/25_algorithms/sort/random_test.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r203995
2013-10-23 22:19:30 +00:00
Gerald Pfeifer
ecdbd01aa1
Fix up ChangeLog entries (name, e-mail, formatting, otherwise).
...
From-SVN: r203992
2013-10-23 21:30:54 +00:00
Jason Merrill
d4c579b561
* include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
...
From-SVN: r203984
2013-10-23 14:08:46 -04:00
Paolo Carlini
66caf47a50
re PR libstdc++/58850 (Conversion error in chrono)
...
2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58850
* include/std/chrono (minutes, hours): Change typedefs to uniformly
use int64_t.
* testsuite/20_util/duration/arithmetic/58850.cc: New.
From-SVN: r203978
2013-10-23 15:31:26 +00:00
Paolo Carlini
f361277750
contrib.texi ([Fran@,{c}ois Dumont], [...]): New entries.
...
2013-10-22 Paolo Carlini <paolo.carlini@oracle.com>
* doc/contrib.texi ([Fran@,{c}ois Dumont], [Tim Shen],
[Ed Smith-Rowland]): New entries.
([Stephen M. Webb]): Update.
From-SVN: r203959
2013-10-23 11:59:07 +00:00
Paolo Carlini
1a0e9d1cb9
re PR libstdc++/58815 (Casting/Conversion operator for std::decimal not supported)
...
2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58815
* include/decimal/decimal (decimal32::operator long long(),
decimal64::operator long long(), decimal128::operator long long()):
Add in c++11 mode per n3407.
* testsuite/decimal/pr58815.cc: New.
From-SVN: r203956
2013-10-23 11:48:26 +00:00
Edward Smith-Rowland
e9a6449215
basic_string.h (operator""s): Remove space between quotes and literal identifier.
...
2013-10-22 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/basic_string.h (operator""s): Remove space between quotes
and literal identifier.
* include/std/chrono (operator""h, operator""min, operator""s,
operator""ms, operator""us, operator""ns): Ditto.
From-SVN: r203941
2013-10-23 00:12:36 +00:00
Ed Smith-Rowland
ae5543e662
Implement N3779 - User-defined Literals for std::complex, part 2 of UDL for Standard Library Types
...
2013-09-27 Ed Smith-Rowland <3dw4rd@verizon.net>
Implement N3779 - User-defined Literals for std::complex,
part 2 of UDL for Standard Library Types
* include/std/complex: Add complex literal operators.
* testsuite/26_numerics/complex/literals/types.cc: New.
* testsuite/26_numerics/complex/literals/values.cc: New.
From-SVN: r203940
2013-10-23 00:09:19 +00:00
Edward Smith-Rowland
390dafb79d
re PR libstdc++/58804 (dynamic_bitset<> uses popcountl on long long)
...
2013-10-20 Edward Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/58804
PR libstdc++/58729
* include/tr2/dynamic_bitset
(__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux,
__dynamic_bitset_base<_WordT, _Alloc>::_M_do_count):
Use __builtin_popcountll() instead of __builtin_popcountl().
* include/tr2/dynamic_bitset.tcc
(__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first,
__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next):
Use __builtin_ctzll() instead of __builtin_ctzl().
From-SVN: r203893
2013-10-21 13:52:39 +00:00
Tim Shen
603b781be4
regex.h: Remove virtual class _Automaton.
...
2013-10-20 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Remove virtual class _Automaton.
* include/bits/regex_automaton.h: Likewise.
* include/bits/regex.tcc: Adjust comment for policy changing.
* include/bits/regex_executor.h: Update comments of complexity.
* include/bits/regex_executor.tcc: Adjust executor choosing
policy. Now DFS executor is the default one.
* testsuite/util/testsuite_regex.h (regex_match_debug,
regex_search_debug): Adjust for policy changing.
From-SVN: r203875
2013-10-20 10:07:29 +00:00
Chris Jefferson
f5b9d5e877
re PR libstdc++/58800 (std::nth_element segfaults on valid input)
...
2013-10-20 Chris Jefferson <chris@bubblescope.net>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58800
* include/bits/stl_algo.h (__unguarded_partition_pivot): Change
__last - 2 to __last - 1.
* testsuite/25_algorithms/nth_element/58800.cc: New
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r203872
2013-10-20 09:07:36 +00:00
Edward Smith-Rowland
6b8fe121af
re PR libstdc++/58729 (tr2::dynamic_bitset::resize fails)
...
2013-10-18 Edward Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/58729
* include/tr2/dynamic_bitset (_M_resize, resize): Use input value
to set bits; (_M_do_left_shift, _M_do_right_shift, _M_do_to_ulong,
_M_do_to_ullong, _M_do_find_first, _M_do_find_next, _M_copy_from_ptr,
operator>>): Move long methods outline to...
* include/tr2/dynamic_bitset.tcc: New.
* include/Makefile.am: Add dynamic_bitset.tcc.
* include/Makefile.in: Add dynamic_bitset.tcc.
* testsuite/tr2/dynamic_bitset/pr58729.cc: New.
From-SVN: r203841
2013-10-19 01:31:19 +00:00
Tim Shen
7948838864
regex_scanner.tcc: (_Scanner<>::_M_scan_normal...
...
2013-10-18 Tim Shen <timshen91@gmail.com>
* include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal,
_Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix,
_Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
New.
From-SVN: r203827
2013-10-18 16:13:07 +00:00
Tim Shen
ab1c993b94
regex.h (regex_token_iterator<>::regex_token_iterator): Fix initialization orders in initialization list and add explicit braces for...
...
2013-10-17 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
Fix initialization orders in initialization list and add explicit braces
for potentially ambiguous(actually not) `else` branch to eliminate
warnings.
* include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise.
* include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher,
_BracketMatcher<>::_BracketMatcher): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_Compiler,
_Compiler<>::_M_atom): Likewise.
* include/bits/regex_executor.h (_Executor<>::_Executor): Likewise.
* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs,
_Executor<>::_M_word_boundry): Likewise.
* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner,
_Scanner<>::_M_eat_class): Likewise.
* include/bits/regex.tcc (__regex_algo_impl<>,
regex_iterator<>::operator++): Likewise, and remove unused typedef.
From-SVN: r203798
2013-10-17 20:46:50 +00:00
Tim Shen
703344ca91
regex.h (regex_token_iterator<>::regex_token_iterator): Add initialization for _M_has_m1.
...
2013-10-16 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
Add initialization for _M_has_m1.
* include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return
statment.
From-SVN: r203732
2013-10-16 22:28:28 +00:00
Diego Novillo
37ea0d87a3
Add missing function in 20_util/exchange/1.cc.
...
When this test is compiled at -O0, the compiler does not remove the
address comparison. This causes a link failure, since the body of f()
is missing.
* testsuite/20_util/exchange/1.cc: Add missing function
bodies.
From-SVN: r203629
2013-10-15 14:51:37 -04:00
Tim Shen
96937d47ac
re PR libstdc++/58737 (leak in std::regex_match)
...
2013-10-15 Tim Shen <timshen91@gmail.com>
PR libstdc++/58737
* include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
leak by adding it.
* include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.
From-SVN: r203610
2013-10-15 15:01:44 +00:00
H.J. Lu
39aeb94e3d
Update x32 baseline_symbols.txt
...
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
From-SVN: r203456
2013-10-11 11:46:22 -07:00
Marcus Shawcroft
000ebb9242
Adding missing dg-require-atomic-builtins to libstdc++ test case.
...
From-SVN: r203425
2013-10-11 11:15:01 +00:00
Jonathan Wakely
fd673f296a
58659.cc: Use VERIFY instead of aborting.
...
* testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
aborting.
From-SVN: r203325
2013-10-09 19:37:26 +01:00
Marcus Shawcroft
57b4899877
Fix unprototyped abort() introduced in libstdc++/58659.cc testcase.
...
From-SVN: r203321
2013-10-09 14:26:52 +00:00
Jonathan Wakely
9ae63018d7
* testsuite/*: Remove stray semi-colons after function definitions.
...
From-SVN: r203279
2013-10-08 14:54:26 +01:00
Jonathan Wakely
61bf02e007
re PR libstdc++/58659 (Construction of shared_ptr from unique_ptr mismatches new/delete and std::allocator for __shared_ptr_count)
...
PR libstdc++/58659
* include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
Delegate to constructor taking allocator.
(__shared_count::_S_create_from_up): Inline into ...
(__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
std::conditional instead of constrained overloads. Allocate memory
using the allocator type that will be used for deallocation.
* testsuite/20_util/shared_ptr/cons/58659.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
From-SVN: r203274
2013-10-08 13:33:37 +01:00
Tim Shen
18971f1fc3
regex_executor.h: Add _TodoList class.
...
2013-10-08 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.h: Add _TodoList class.
* include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
_M_match_stack and _M_stack to make everything faster. Break if
_M_stack is empty, to reduce unnecessary idling.
* testsuite/performance/28_regex/split.cc: New.
From-SVN: r203261
2013-10-08 03:41:14 +00:00
Tim Shen
6cb4308702
regex.h: (regex_token_iterator<>::regex_token_iterator): Fix compile error.
...
2013-10-06 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
Fix compile error.
* include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
2013-10-06 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
regex_search<>): New abstract function for regex_match and regex_search.
* include/bits/regex.tcc (__regex_algo_impl<>): Implement.
* include/bits/regex_executor.h
(_Executor<>::_M_lookahead,
_DFSExecutor<>::_M_clone,
_BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
use.
* include/bits/regex_executor.tcc (__get_executor<>): Update the
definition to support __policy.
* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
*_debug.
* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_bracket_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_questionmark.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_01_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
Same.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
* testsuite/28_regex/match_results/format.cc: Same.
* testsuite/util/testsuite_regex.h
(regex_match_debug<>, regex_search_debug<>): Implement.
From-SVN: r203231
2013-10-06 17:53:14 +00:00
Oleg Endo
c3ddbdce59
re PR libstdc++/58625 (std::signbit always converts to double)
...
2013-10-06 Oleg Endo <olegendo@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58625
* include/c_global/cmath (signbit): Use __builtin_signbitf and
__builtin_signbitl.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r203228
2013-10-06 13:44:47 +00:00
Tim Shen
468146e0b5
regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong backup variable initialization.
...
2013-10-03 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
backup variable initialization.
From-SVN: r203190
2013-10-03 20:54:01 +00:00
John Woolverton
d358f34868
re PR libstdc++/58604 (Text truncation in comments of /usr/include/c++/4.7/vector)
...
2013-10-03 John Woolverton <jdwoolverton@gmail.com>
PR libstdc++/58604
* include/std/vector: Fix garbled line in HP Copyright.
From-SVN: r203187
2013-10-03 20:33:05 +00:00
Marc Glisse
fc7657bb38
del_op.cc (operator delete): Don't test for 0 before free.
...
2013-10-03 Marc Glisse <marc.glisse@inria.fr>
* libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
* libsupc++/del_opnt.cc (free): Only declare if freestanding.
(operator delete): Qualify free with std::.
From-SVN: r203164
2013-10-03 16:16:40 +00:00
Jonathan Wakely
44d209d7e2
re PR libstdc++/58569 (Compilation error when a class contains multiple std::function)
...
2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
Daniel Krugler <daniel.kruegler@gmail.com>
PR libstdc++/58569
* include/std/functional (function::_CheckResult): Move to namespace
scope and rename to __check_func_return_type.
* testsuite/20_util/function/58569.cc: New.
Co-Authored-By: Daniel Kruegler <daniel.kruegler@gmail.com>
From-SVN: r203132
2013-10-02 21:21:52 +01:00
Jonathan Wakely
3fd113d7f1
re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
...
PR libstdc++/58594
* include/bits/shared_ptr_base.h
(_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
* testsuite/20_util/shared_ptr/creation/58594.cc: New.
From-SVN: r203131
2013-10-02 20:55:14 +01:00
Tim Shen
756aa0c302
2013-10-02 Tim Shen <timshen91@gmail.com>
...
* include/bits/regex_compiler.h
(_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly.
* include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()):
Add _M_equiv_set support.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_bracket_01.cc: Add new "[[=a=]]" testcase.
From-SVN: r203117
2013-10-02 15:13:18 +00:00
Tim Shen
c877c34248
status_cxx2011.xml: Change "is not implemented" to "is not correctly implemented".
...
2013-10-01 Tim Shen <timshen91@gmail.com>
* doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
"is not correctly implemented".
From-SVN: r203097
2013-10-01 23:56:45 +00:00
Tim Shen
7d48a109d3
status_cxx2011.xml: Update regex status.
...
2013-10-01 Tim Shen <timshen91@gmail.com>
* doc/xml/manual/status_cxx2011.xml: Update regex status.
* include/bits/regex.h (match_results<>::begin,
match_results<>::cbegin, match_results<>::end, match_results<>::cend):
[28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2).
From-SVN: r203096
2013-10-01 23:44:04 +00:00
François Dumont
089ccc04e4
algobase.h (mismatch, equal): Provide parallel version for N3671 overloads.
...
2013-10-01 François Dumont <fdumont@gcc.gnu.org>
* include/parallel/algobase.h (mismatch, equal): Provide parallel
version for N3671 overloads.
From-SVN: r203082
2013-10-01 19:35:01 +00:00
Paul Pluzhnikov
4167a189f6
Fix build break when configured with --enable-symvers=gnu-versioned-namespace
...
2013-10-01 Paul Pluzhnikov <ppluzhnikov@google.com>
* src/c++11/snprintf_lite.cc: Add missing
_GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
From-SVN: r203076
2013-10-01 11:20:36 -07:00
Joern Rennecke
53426f6c14
Configuration bits for ARC port:
...
toplevel:
2013-02-25 Simon Cook <simon.cook@embecosm.com>
Changes to build configuration to allow big endian ARC ELF toolchain
* configure.ac: Also add target-libgloss to noconfigdirs for arceb-*-*.
* configure: Regenerate.
gcc:
2013-04-03 Joern Rennecke <joern.rennecke@embecosm.com>
Brendan Kehoe <brendan@zen.org>
Simon Cook <simon.cook@embecosm.com>
* config.gcc (arc*-*-elf*, arc*-*-linux-uclibc*): New configurations.
libstdc++-v3:
2012-08-16 Joern Rennecke <joern.rennecke@embecosm.com>
* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for
_Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions.
* configure: Regenerate.
contrib:
2013-09-05 Joern Rennecke <joern.rennecke@embecosm.com>
* config-list.mk: Add arc configurations.
From-SVN: r203070
2013-10-01 17:34:40 +01:00
Tim Shen
70b50ed7b5
re PR libstdc++/58576 (std::regex_match() reports mismatched braces on a valid regex)
...
2013-10-01 Tim Shen <timshen91@gmail.com>
PR libstdc++/58576
* include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy)
(_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch.
* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New.
From-SVN: r203067
2013-10-01 15:26:50 +00:00
Paolo Carlini
a52906946a
algo.h (__find_switch): Use __binder2nd.
...
2013-09-30 Paolo Carlini <paolo.carlini@oracle.com>
* include/parallel/algo.h (__find_switch): Use __binder2nd.
From-SVN: r203040
2013-09-30 19:17:07 +00:00
Chris Jefferson
a10bad862f
re PR libstdc++/58437 (Sorting value in reverse order is much slower compare to gcc44)
...
2013-09-30 Chris Jefferson <chris@bubblescope.net>
PR libstdc++/58437
* include/bits/stl_algo.h (__move_median_first): Rename to
__move_median_to_first, change to take an addition argument.
(__unguarded_partition_pivot): Adjust.
* testsuite/performance/25_algorithms/sort.cc: New.
* testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
* testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
From-SVN: r203035
2013-09-30 17:42:31 +00:00
François Dumont
3bd2644c00
stl_algo.h (remove_copy, [...]): Declare inline.
...
2013-09-28 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
inline.
(rotate_copy, stable_partition, partial_sort_copy): Likewise.
(lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
(includes, next_permutation, prev_permutation): Likewise.
(replace_copy, replace_copy_if, is_sorted_until): Likewise.
(minmax_element, is_permutation, adjacent_find): Likewise.
(count, count_if, search, search_n, merge): Likewise.
(set_intersection, set_difference): Likewise.
(set_symmetric_difference, min_element, max_element): Likewise.
* include/bits/stl_algobase.h (lower_bound): Likewise.
(lexicographical_compare, mismatch): Likewise.
From-SVN: r203008
2013-09-28 20:30:51 +00:00
Tim Shen
8d60fca50e
regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix): Let ordinary char escaping in POSIX be valid.
...
2013-09-28 Tim Shen <timshen91@gmail.com>
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
Let ordinary char escaping in POSIX be valid.
* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
change.
From-SVN: r203005
2013-09-28 13:41:09 +00:00
François Dumont
ea89b2482f
predefined_ops.h: New.
...
2013-09-27 François Dumont <fdumont@gcc.gnu.org>
* include/bits/predefined_ops.h: New.
* include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
(__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
algo duplication.
(__is_heap): Adapt.
(__make_heap): New.
(make_heap): Adapt to use latter.
(__sort_heap): New.
(sort_heap): Adapt to use latter.
* include/bits/algobase.h: Include <bits/predefined_ops.h>.
(__lexicographical_compare_impl): New.
(__lexicographical_compare<false>::__lc): Adapt to use latter.
(lexicographical_compare): Likewise.
(__lower_bound): New.
(lower_bound): Adapt to use latter.
(equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
(__mismatch): New.
(mismatch): Use latter.
* include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
<functional> include.
(__move_median_first, __find, __find_if, __find_if_not): Remove
algo duplication.
(__find_end): Likewise.
(__search_n): Rename into ...
(__search_n_aux): ... this.
(__search_n): Renew, use latter.
(search_n): Use latter.
(__search): New.
(search): Use latter.
(__find_end): Likewise.
(__remove_copy_if): New.
(remove_copy): Use latter.
(__adjacent_find): New.
(adjacent_find): Use latter.
(__unique): New.
(unique): Use latter.
(__unique_copy): Remove algo duplication.
(__stable_partition): New.
(stable_partition): Use latter.
(__heap_select): Remove algo duplication, use __make_heap.
(__partial_sort): New, use latter.
(partial_sort): Use latter.
(__partial_sort_copy): New.
(partial_sort_copy): Use latter.
(__unguarded_linear_insert, __insertion_sort): Remove algo
duplication.
(__unguarded_insertion_sort, __final_insertion_sort): Likewise.
(__unguarded_partition, __unguarded_partition_pivot): Likewise.
(__partial_sort): New.
(partial_sort): Use latter.
(__sort): New.
(sort): Use latter.
(lower_bound): Use __lower_bound.
(__upper_bound): New.
(upper_bound): Use latter.
(__equal_range): New.
(equal_range): Use latter.
(__move_merge_adaptive, __move_merge_adaptive_backward): Remove
algo duplication.
(__merge_adaptive, __merge_without_buffer): Likewise.
(__inplace_merge): New.
(inplace_merge): Use latter.
(__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
algo duplication.
(__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
(__inplace_stable_sort): Likewise.
(__include): New.
(includes): Use latter.
(__next_permutation): New.
(next_permutation): Use latter.
(__prev_permutation): New.
(prev_permutation): Use latter.
(__replace_copy_if): New.
(replace_copy): Use latter.
(__is_sorted_until): New.
(is_sorted_unitl): Use latter.
(__minmax_element): New.
(minmax_element): Use latter.
(__is_permutation): New.
(is_permutation): Use latter.
(__adjacent_find): New.
(adjacent_find): Use latter.
(__count_if): New.
(count): Use latter.
(count_if): Likewise.
(__merge): New.
(merge): Use latter.
(__stable_sort): New.
(stable_sort): Use latter.
(__set_union): New.
(set_union): Use latter.
(__set_intersection): New.
(set_intersection): Use latter.
(__set_difference): New.
(set_difference): Use latter.
(__set_symmetric_difference): New.
(set_symmetric_difference): Use latter.
(__min_element): New.
(min_element): Use latter.
(__max_element): New.
(max_element): Use latter.
* include/Makefile.am: Add predefined_ops.h.
* include/Makefile.in: Regenerate.
* include/parallel/algobase.h (equal, mismatch): Add overloads
from N3671.
* testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
* testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
* testsuite/25_algorithms/find/vectorbool.cc: Likewise.
* testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
* testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
* testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
* testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
* testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
From-SVN: r202992
2013-09-27 21:17:36 +00:00
Jonathan Wakely
d02dae41e3
re PR libstdc++/57465 (Failed postcondition for std::function constructed with null function pointer)
...
PR libstdc++/57465
* include/std/functional
(_Function_base::_Base_manager::_M_not_empty_function): Fix overload
for pointers.
* testsuite/20_util/function/cons/57465.cc: New.
From-SVN: r202974
2013-09-27 15:06:09 +01:00
Tim Shen
d4e1260101
regex_error.h: Remove _S_error_last to follow the standard.
...
2013-09-26 Tim Shen <timshen91@gmail.com>
* regex_error.h: Remove _S_error_last to follow the standard.
* regex_scanner.tcc:
(_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
error_badbrace.
(_Scanner<>::_M_eat_escape_posix): Extended doesn't support
back-reference.
* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
Move here from ../../extended.
* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
Likewise.
From-SVN: r202958
2013-09-26 21:48:04 +00:00
Marc Glisse
34e6625aa2
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-25 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
* include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
Mark as noexcept.
(_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
operator++, operator==, operator!=, _M_next]: Likewise.
(_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
operator->, operator++, operator==, operator!=, _M_next]: Likewise.
(operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
Likewise.
* include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
_Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
_Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
const _Node_iterator_base&)): Likewise.
(_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
Likewise.
(_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
operator++]: Likewise.
* include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
operator=, operator*, operator->, operator++, operator--, operator[],
operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
Likewise.
(operator==(const _Safe_iterator&, const _Safe_iterator&),
operator!=(const _Safe_iterator&, const _Safe_iterator&),
operator<(const _Safe_iterator&, const _Safe_iterator&),
operator<=(const _Safe_iterator&, const _Safe_iterator&),
operator>(const _Safe_iterator&, const _Safe_iterator&),
operator>=(const _Safe_iterator&, const _Safe_iterator&),
operator-(const _Safe_iterator&, const _Safe_iterator&),
operator+(difference_type, const _Safe_iterator&)): Likewise.
* include/profile/iterator_tracker.h (__iterator_tracker)
[__iterator_tracker, base, operator _Iterator, operator->, operator++,
operator--, operator=, operator*, operator[], operator+=, operator+,
operator-=, operator-]: Likewise.
(operator==(const __iterator_tracker&, const __iterator_tracker&),
operator!=(const __iterator_tracker&, const __iterator_tracker&),
operator<(const __iterator_tracker&, const __iterator_tracker&),
operator<=(const __iterator_tracker&, const __iterator_tracker&),
operator>(const __iterator_tracker&, const __iterator_tracker&),
operator>=(const __iterator_tracker&, const __iterator_tracker&),
operator-(const __iterator_tracker&, const __iterator_tracker&),
operator+(difference_type, const __iterator_tracker&)): Likewise.
From-SVN: r202924
2013-09-25 20:28:12 +00:00
Marc Glisse
63ebd8f129
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-24 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
PR libstdc++/56166
* include/bits/basic_string.h (basic_string)
[basic_string(basic_string&&)]: Make the noexcept conditional.
[operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
[begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
[pop_back]: Comment on the lack of noexcept.
* include/debug/string (basic_string) [basic_string(const _Allocator&),
basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
operator[](size_type), pop_back]: Comment out noexcept, until vstring
replaces basic_string.
From-SVN: r202861
2013-09-24 10:07:32 +00:00
Tim Shen
c2669da93d
Makefile.am: Add regex.tcc.
...
2013-09-24 Tim Shen <timshen91@gmail.com>
* include/Makefile.am: Add regex.tcc.
* include/Makefile.in: Regenerate.
* include/bits/regex.h: Remove definitions to regex.tcc.
* include/bits/regex.tcc: New.
(match_results::format, regex_replace): Implement;
* include/bits/regex_compiler.h: Move _M_flags to the top of class
member list, because other members' initialization depend on it.
* include/bits/regex_compiler.tcc
(_Compiler<>::_Compiler): Adjust member initializations.
(_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
* include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
In the future, all regex classes may refactor to *Impl style.
* include/bits/regex_executor.tcc (_Executor::_M_set_results):
Merge identical code from _*Executor classes.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
caller for new __get_executors interface.
* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
New.
* testsuite/28_regex/match_results/format.cc: New.
* testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
testcase.
* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
From-SVN: r202858
2013-09-24 02:05:00 +00:00
Paul Pluzhnikov
dfff7c4692
snprintf_lite.cc (__concat_size_t): Use unsigned long long conditionally.
...
2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
* src/c++11/snprintf_lite.cc (__concat_size_t): Use
unsigned long long conditionally.
From-SVN: r202836
2013-09-23 09:36:11 -07:00
Paul Pluzhnikov
5303f3a48f
Unbreak i386 and other builds where size_t != unsigned long.
...
2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
* src/c++11/snprintf_lite.cc (__concat_size_t): Use only
std::__int_to_char<unsigned long long>()
From-SVN: r202832
2013-09-23 08:29:14 -07:00
Paul Pluzhnikov
9779c871af
Print additional info when various out-of-range conditions are detected.
...
2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com>
* include/bits/functexcept.h (__throw_out_of_range_fmt): New.
* src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
* src/c++11/snprintf_lite.cc: New.
* src/c++11/Makefile.am: Add snprintf_lite.cc.
* src/c++11/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
* include/std/array (at): Use __throw_out_of_range_fmt.
* include/debug/array (at): Likewise.
* include/profile/array (at): Likewise.
* include/std/bitset (_M_check_initial_position, _M_check): New.
(bitset::bitset): Use _M_check_initial_position.
(set, reset, flip, test): Use _M_check.
* include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
* include/bits/stl_vector.h (_M_range_check): Likewise.
* include/bits/stl_bvector.h (_M_range_check): Likewise.
* include/bits/stl_deque.h (_M_range_check): Likewise.
* include/bits/basic_string.h (_M_check, at): Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
* 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.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
* 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/array/tuple_interface/tuple_element_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
* testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
From-SVN: r202818
2013-09-21 19:04:13 -07:00
Jakub Jelinek
bd599dea43
re PR testsuite/57605 (colors break note pruning in the testsuite)
...
PR testsuite/57605
libstdc++-v3/
* testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
-fdiagnostics-color=never to cxxflags.
libmudflap/
* testsuite/lib/libmudflap.exp (libmudflap-init): Append
-fdiagnostics-color=never to cxxflags.
libgomp/
* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
ALWAYS_CFLAGS.
From-SVN: r202791
2013-09-20 19:52:29 +02:00
Marc Glisse
d15ac9d9a3
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-20 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
* include/bits/allocator.h (__alloc_swap::_S_do_it,
__shrink_to_fit_aux::_S_do_it): Mark as noexcept.
* include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
_M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
_M_set_length_and_sharable, _M_dispose]: Likewise.
(basic_string::_Alloc_hider::_Alloc_hider): Likewise.
(basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
_M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
_S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
Likewise.
[clear]: Link to PR 56166.
[swap]: Link to PR 58265.
* include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
_Deque_iterator, _M_const_cast, operator*, operator->, operator++,
operator--, operator+=, operator+, operator-=, operator-, operator[],
_M_set_node]: Mark as noexcept.
(operator==(const _Deque_iterator&, const _Deque_iterator&),
operator!=(const _Deque_iterator&, const _Deque_iterator&),
operator<(const _Deque_iterator&, const _Deque_iterator&),
operator>(const _Deque_iterator&, const _Deque_iterator&),
operator<=(const _Deque_iterator&, const _Deque_iterator&),
operator>=(const _Deque_iterator&, const _Deque_iterator&),
operator-(const _Deque_iterator&, const _Deque_iterator&),
operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
(_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
_M_initialize_map.
[~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
Mark as noexcept.
(_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
_Deque_impl(_Tp_alloc_type&&)]: Likewise.
(deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
front, back, pop_front, pop_back, swap]: Likewise.
[deque(), deque(const allocator_type&)]: Merge.
* include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
* include/profile/deque (deque) [operator=(deque&&), operator[], front,
back, pop_front, pop_back, swap]: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust line number.
* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r202781
2013-09-20 15:50:09 +00:00
Alan Modra
3cbe17f7de
libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match.
...
* libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical
ppc host match. Support little-endian powerpc linux hosts.
Regenerate configure throughout.
From-SVN: r202773
2013-09-20 19:17:52 +09:30
Marc Glisse
0e1a966a86
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-19 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
* include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
Mark as noexcept.
(_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
operator++, operator--, operator==, operator!=]: Likewise.
(_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
operator*, operator->, operator++, operator--, operator==, operator!=]:
Likewise.
(operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
Likewise.
(_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
_M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
_S_maximum]: Likewise.
* include/debug/string (basic_string) [basic_string(const _Allocator&),
shrink_to_fit, operator[], pop_back]: Likewise.
* include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
_M_ibegin, _M_iend, __versa_string(const _Alloc&),
operator=(__versa_string&&), shrink_to_fit, operator[], front,
back, assign(__versa_string&&), swap]: Likewise.
(__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
Merge.
From-SVN: r202737
2013-09-19 11:40:29 +00:00
Marc Glisse
b4efa80e56
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-18 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
* include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
_M_const_cast, operator*, operator->, operator++, operator--,
operator[], operator+=, operator+, operator-=, operator-, base]:
Mark as noexcept.
(operator==(const __normal_iterator&, const __normal_iterator&),
operator!=(const __normal_iterator&, const __normal_iterator&),
operator<(const __normal_iterator&, const __normal_iterator&),
operator>(const __normal_iterator&, const __normal_iterator&),
operator<=(const __normal_iterator&, const __normal_iterator&),
operator>=(const __normal_iterator&, const __normal_iterator&),
operator-(const __normal_iterator&, const __normal_iterator&),
operator+(difference_type, const __normal_iterator&)): Likewise.
* include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
Likewise.
(list::_M_check_equal_allocators): Abort instead of throwing.
* include/debug/array (array) [operator[], front, back]: Mark as
noexcept.
* include/profile/array (array) [operator[], front, back]: Likewise.
* include/std/array (array) [operator[], front, back]: Likewise.
* include/debug/list (list::splice): Likewise.
* include/profile/list (list::splice): Likewise.
* testsuite/23_containers/list/operations/5.cc: Remove file.
* testsuite/23_containers/list/operations/5.h: Likewise.
From-SVN: r202716
2013-09-18 18:31:01 +00:00
Tim Shen
b21abceec3
regex.h: Add friend classes.
...
2013-09-18 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Add friend classes.
(match_results<>::position, regex_iterator<>::operator++):
Implement position specification in regex_iterator.
(regex_match<>, regex_search<>):
Move match_results initializations to these function. Remove `todo`.
* include/bits/regex_compiler.tcc:
(_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
* include/bits/regex_constants.h:
Fix indentation. Change match_flag_type to enum type.
* include/bits/regex_executor.h:
Merge identical code to the base class _Executor.
Support flags in regex_constants.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex_scanner.h: Add comments.
* include/bits/regex_scanner.tcc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
Add a testcase.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc: Remove `xfail`.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
Remove `xfail` and make the case really work.
From-SVN: r202706
2013-09-18 15:56:20 +00:00
Paolo Carlini
64bc8861e9
search_n.cc: Fix typo.
...
2013-09-18 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/performance/25_algorithms/search_n.cc: Fix typo.
From-SVN: r202704
2013-09-18 14:49:28 +00:00
Marc Glisse
837bf5116d
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-18 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
* include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
noexcept.
* include/bits/stl_list.h (_List_iterator) [_List_iterator,
_M_const_cast, operator*, operator->, operator++, operator--,
operator==, operator!=]: Likewise.
(_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
operator->, operator++, operator--, operator==, operator!=]: Likewise.
(operator==(const _List_iterator&, const _List_const_iterator&),
operator!=(const _List_iterator&, const _List_const_iterator&)):
Likewise.
(_List_impl) [_List_impl(const _Node_alloc_type&),
_List_impl(_Node_alloc_type&&)]: Likewise.
(_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
_List_base(_List_base&&), _M_clear, _M_init]: Likewise.
(list) [list(), list(const allocator_type&)]: Merge.
(list) [list(const allocator_type&), front, back, pop_front, pop_back,
erase, _M_erase]: Mark as noexcept.
* include/debug/list (list) [list(const _Allocator&), front, back,
pop_front, pop_back, _M_erase, erase]: Likewise.
* include/profile/list (list) [list(const _Allocator&), front, back,
pop_front, pop_back, erase]: Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust line number.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r202699
2013-09-18 11:21:51 +00:00
Marc Glisse
757b16440b
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-17 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
* include/bits/stl_vector.h (vector::vector(),
vector::vector(const allocator_type&)): Merge.
(_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
_Vector_impl::_Vector_impl(_Tp_alloc_type&&),
_Vector_impl::_M_swap_data,
_Vector_base::_Vector_base(const allocator_type&),
_Vector_base::_Vector_base(allocator_type&&),
_Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
vector::vector(const allocator_type&), vector::operator[],
vector::operator[] const, vector::front, vector::front const,
vector::back, vector::back const, vector::pop_back,
vector::_M_erase_at_end): Mark as noexcept.
* include/debug/vector (vector::vector(const _Allocator&),
vector::operator[], vector::operator[] const, vector::front,
vector::front const, vector::back, vector::back const, vector::pop_back,
_M_requires_reallocation, _M_update_guaranteed_capacity,
_M_invalidate_after_nth): Mark as noexcept.
* include/profile/vector (vector::vector(const _Allocator&),
vector::operator[], vector::operator[] const, vector::front,
vector::front const, vector::back, vector::back const): Mark as
noexcept.
(vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust 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: r202650
2013-09-17 12:23:54 +00:00
Tim Shen
7b86458e38
regex.h (regex_match<>, [...]): Change regex_executor caller.
...
2013-09-14 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (regex_match<>, regex_search<>):
Change regex_executor caller. Now use their return value instead
of checking __m[0].matched to find out if it's successful.
(regex_search<>): Move the search logic to regex_executor.
* include/bits/regex_automaton.h: Add some new _Opcode. Refactor
_NFA::_M_insert_*.
* include/bits/regex_automaton.tcc: Add DEBUG dump for new
_Opcode. Refactor _NFA::_M_insert_*.
* include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
Use make_shared instead of construct by hand.
* include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
* include/bits/regex_constants.h: Fix indentation and line breaking.
* include/bits/regex_executor.h: Add _ResultsEntry to support
greedy/ungreedy mode. Move regex_search logic here.
* include/bits/regex_executor.tcc: Implement assertions and
greedy/ungreedy matching.
* include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
* include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
Fix comment.
From-SVN: r202591
2013-09-14 14:23:44 +00:00
Paolo Carlini
4f03875418
re PR libstdc++/58415 (__sso_string_base move constructor does not null terminate local data when moving from empty string)
...
2013-09-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58415
* include/ext/sso_string_base.h (__sso_string_base<>::
__sso_string_base(__sso_string_base&&)): Fix thinkos about
_M_length vs _M_set_length.
* testsuite/ext/vstring/cons/58415-1.cc: New.
* testsuite/ext/vstring/cons/58415-2.cc: Likewise.
From-SVN: r202574
2013-09-13 18:32:42 +00:00
Paolo Carlini
274ddab613
re PR libstdc++/58403 (__normal_iterator triggers odr-use)
...
2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58403
* include/bits/stl_iterator.h (__normal_iterator<>::operator[],
operator+=, operator+, operator-=, operator-): Take the argument
by value.
* testsuite/24_iterators/normal_iterator/58403.cc: New.
From-SVN: r202531
2013-09-12 15:15:34 +00:00
Mitsuru Kariya
4b47d65500
re PR libstdc++/58358 (search_n has a Complexity violation for random access iterator)
...
2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
Chris Jefferson <chris@bubblescope.net>
PR libstdc++/58358
* include/bits/stl_algo.h (search_n): Fix to guarantee a number
of comparisons <= number of elements in the range.
* testsuite/25_algorithms/search_n/58358.cc: New.
* testsuite/25_algorithms/search_n/iterator.cc: Extend.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r202510
2013-09-11 22:24:50 +00:00
Ed Smith-Rowland
df7d9dfde3
value.cc: Change template args from char to wchar_t, literals from 'x' to L'x'.
...
2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
* testsuite/28_regex/traits/wchar_t/value.cc: Change template args
from char to wchar_t, literals from 'x' to L'x'.
From-SVN: r202487
2013-09-11 01:27:31 +00:00
Kai Tietz
1329f0c4e2
Add PR's section
...
From-SVN: r202473
2013-09-10 18:18:34 +02:00
Kai Tietz
6da10826b2
gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS* like in gnu.ver.
...
PR/54314
* config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
like in gnu.ver.
From-SVN: r202472
2013-09-10 18:17:25 +02:00
Paolo Carlini
9a7fb488e3
re PR libstdc++/58341 (Doc conflicts with standard on forbidden range of result
in copy_backward())
...
2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58341
* include/bits/stl_algobase.h (copy_backward): Fix documentation
per DR 1206.
From-SVN: r202357
2013-09-07 22:57:49 +00:00
Tim Shen
7c812a2a57
regex_automaton.h: Add dummy node type.
...
2013-09-05 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.h: Add dummy node type. Rewrite
_StateSeq.
* include/bits/regex_automaton.tcc: Implement them.
* include/bits/regex_compiler.h: Rewrite _Compiler to use new
_StateSeq interfaces.
* include/bits/regex_compiler.tcc: Implement them.
* include/bits/regex_scanner.h: Add word boundry assertion token.
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
Support word boundry.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_02_03.cc: Remove "xfail".
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_questionmark.cc: Remove xfail and get correct length of
c-string.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
New.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
New.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
From-SVN: r202290
2013-09-05 15:20:39 +00:00
Paolo Carlini
e5fbc9fc72
re PR libstdc++/58302 (compilation error : std::negative_binomial_distribution::operator(e, p))
...
2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58302
* include/bits/random.tcc (negative_binomial_distribution<>::
operator()(_UniformRandomNumberGenerator&, const param_type&):
Fix typo in template argument.
* testsuite/26_numerics/random/negative_binomial_distribution/
operators/58302.cc: New.
From-SVN: r202208
2013-09-03 10:12:19 +00:00
Tim Shen
e350969184
regex_automaton.h: Rearrange _NFA's layout.
...
2013-09-02 Tim Shen <timshen91@gmail.com>
* regex_automaton.h: Rearrange _NFA's layout.
* include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
Rearrange _BracketMatcher's layout.
(_BracketMatcher<>::_M_add_char): Use set instead of vector for
_M_char_set.
(_BracketMatcher<>::_M_add_collating_element): Likewise.
(_BracketMatcher<>::_M_make_range): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
apropriate constructors of matchers above.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
New.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
From-SVN: r202189
2013-09-02 22:20:56 +00:00
François Dumont
32bb816a91
re PR libstdc++/58148 (Fails to insert iterator range into sequence container with -D_GLIBCXX_DEBUG when conversion is needed)
...
2013-08-30 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/58148
* include/debug/functions.h (__foreign_iterator_aux4): Use
sequence const_pointer as common type to compare pointers. Add a
fallback overload in case pointers cannot be cast to sequence
const_pointer.
* testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
From-SVN: r202121
2013-08-30 20:55:37 +00:00
François Dumont
8915a229ad
re PR libstdc++/58191 (Can't use boost transform_iterator with _GLIBCXX_DEBUG)
...
2013-08-30 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/58191
* include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
__gnu_debug::__base calls on iterators passed to internal debug
check.
(__glibcxx_check_partitioned_lower_pred): Likewise.
(__glibcxx_check_partitioned_upper): Likewise.
(__glibcxx_check_partitioned_upper_pred): Likewise.
(__glibcxx_check_sorted): Likewise.
(__glibcxx_check_sorted_pred): Likewise.
(__glibcxx_check_sorted_set): Likewise.
(__glibcxx_check_sorted_set_pred): Likewise.
* include/debug/functions.h (__check_partitioned_lower):
Remove code to detect safe iterators.
(__check_partitioned_upper): Likewise.
(__check_sorted): Likewise.
From-SVN: r202119
2013-08-30 20:16:03 +00:00
Tim Shen
9222fb6f08
regex.h (basic_regex<>::assign): Don't lose _M_traits.
...
2013-08-29 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
(regex_iterator<>::regex_iterator): Return nullptr when regex_search
failed.
(regex_token_iterator<>::_M_end_of_seq): Should be defined true when
_M_result is(not isn't) nullptr.
* include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
instead of by value.
* include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
_M_traits to _DFSExecutor.
* include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
_DFSExecutor too.
* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
New.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
wstring_02.cc: New.
From-SVN: r202082
2013-08-29 18:33:07 +00:00
Tim Shen
33fbbb766c
Makefile.am: Add regex_scanner.{h,tcc}.
...
2013-08-26 Tim Shen <timshen91@gmail.com>
* include/Makefile.am: Add regex_scanner.{h,tcc}.
* include/Makefile.in: Regenerate.
* include/bits/regex.h (match_search): Handle the `__first == __last`
situation correctly.
* include/bits/regex_compiler.h: Move _Scanner...
* include/bits/regex_scanner.h: ...to here. New.
* include/bits/regex_compiler.tcc: Move _Scanner...
* include/bits/regex_scanner.tcc: ...to here, too. New.
* include/bits/regex_executor.tcc: Use value instead of reference for
submatch.
* include/std/regex: Add regex_scanner.h
* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
From-SVN: r202015
2013-08-27 02:49:22 +00:00
Tim Shen
e280b6ffe7
regex.h: Replace 8 spaces in indentation with a tab.
...
2013-08-22 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Replace 8 spaces in indentation with a tab.
* include/bits/regex_automaton.h: Same.
* include/bits/regex_automaton.tcc: Same.
* include/bits/regex_compiler.h: Same.
* include/bits/regex_compiler.tcc: Same.
* include/bits/regex_constants.h: Same.
* include/bits/regex_executor.h: Same.
* include/bits/regex_executor.tcc: Same.
From-SVN: r201916
2013-08-22 09:01:38 +00:00
Tim Shen
1b488e33b6
regex.h: Executor caller.
...
2013-08-22 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Executor caller.
* include/bits/regex_executor.h: Fix empty grouping problem.
* include/bits/regex_executor.tcc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
New.
From-SVN: r201914
2013-08-22 00:58:28 +00:00
Phil Muldoon
c77efe8f42
re PR libstdc++/53477 (pretty printer fails with: Python Exception <type 'exceptions.IndexError'> list index out of range)
...
2013-08-20 Phil Muldoon <pmuldoon@redhat.com>
PR libstdc++/53477
http://sourceware.org/bugzilla/show_bug.cgi?id=15195
* python/libstdcxx/v6/printers.py (Printer.__call__): If a value
is a reference, fetch referenced value.
(RxPrinter.invoke): Ditto.
* testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
flag. Add referenced value tests.
From-SVN: r201888
2013-08-20 19:20:42 +00:00
Tim Shen
f6f0407c4c
regex_constants.h: Add underlying unsigned int
for enum syntax_option_type.
...
2013-08-20 Tim Shen <timshen91@gmail.com>
* include/bits/regex_constants.h: Add underlying `unsigned int` for
enum syntax_option_type.
From-SVN: r201872
2013-08-20 10:36:42 +00:00
Tim Shen
ce645eb091
regex_automaton.h: _S_opcode_backref.
...
2013-08-18 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.h: _S_opcode_backref.
* include/bits/regex_automaton.tcc: Backref automaton support.
* include/bits/regex_compiler.tcc: Parsing support.
* include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
* include/bits/regex_executor.tcc: Add _S_opcode_backref support.
* testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
From-SVN: r201825
2013-08-18 13:55:48 +00:00
Tim Shen
5073d50905
regex.h (regex_traits<>::transform_primary): Avoid past-the-end dereferences.
...
2013-08-16 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (regex_traits<>::transform_primary):
Avoid past-the-end dereferences.
From-SVN: r201783
2013-08-16 09:06:31 +00:00
Paolo Carlini
56b5d3b48b
re PR libstdc++/58163 ([C++11] Pedantic assert on str[str.size()] is wrong in C++11)
...
2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58163
* include/bits/basic_string.h (basic_string<>::operator[]): Fix
_GLIBCXX_DEBUG_PEDASSERT check vs C++11.
* include/ext/vstring.h: Likewise.
* testsuite/21_strings/basic_string/element_access/char/58163.cc:
New.
* testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
Likewise.
* testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
* testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
From-SVN: r201755
2013-08-15 00:15:12 +00:00
Uros Bizjak
b5ff10f3ad
compatibility.cc (_ZTIe): Use reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
...
* src/c++98/compatibility.cc (_ZTIe): Use
reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
(_ZTIPe): Ditto.
(ZTIPKe): Ditto.
From-SVN: r201729
2013-08-14 16:59:46 +02:00
Uros Bizjak
aec9ba36b1
compatibility.cc (_ZTIe): Use (const cast *) to avoid -Wcast-qual warnings.
...
* src/c++98/compatibility.cc (_ZTIe): Use (const cast *)
to avoid -Wcast-qual warnings.
(_ZTIPe): Ditto.
(ZTIPKe): Ditto.
From-SVN: r201727
2013-08-14 16:22:56 +02:00
Uros Bizjak
346334d240
compatibility.cc (_ZTIe): Use const_cast to avoid warning.
...
* src/c++98/compatibility.cc (_ZTIe): Use const_cast to avoid warning.
(_ZTIPe): Ditto.
(ZTIPKe): Ditto.
From-SVN: r201723
2013-08-14 13:27:56 +02:00
Tim Shen
6646d624d0
regex_constants.h: Change syntax_option_type to enum type.
...
2013-08-09 Tim Shen <timshen91@gmail.com>
* include/bits/regex_constants.h: Change syntax_option_type to enum
type.
From-SVN: r201621
2013-08-09 07:53:28 +00:00
Rainer Orth
374cf1652d
Don't use _B etc. in libstdc++
...
* include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp,
_Cp, _Rp.
From-SVN: r201596
2013-08-08 13:34:12 +00:00
François Dumont
b09bcf83e8
hashtable_policy.h (_Hashtable_alloc): New.
...
2013-08-08 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Hashtable_alloc): New.
(_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
_Hashtable.
(_Before_begin<>): Remove.
* include/bits/hashtable.h (_Hashtable): Inherit from
_Hashtable_alloc and adapt. Restore _M_before_begin field.
* src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
* python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
access to hashtable before begin.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Adapt dg-error line number.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Likewise.
From-SVN: r201592
2013-08-08 09:47:29 +00:00
Tim Shen
6cb784b639
Makefile.am: Adjust to new files.
...
2013-08-07 Tim Shen <timshen91@gmail.com>
* include/Makefile.am: Adjust to new files.
* include/Makefile.in: Regenerate.
* include/bits/regex.h: Adjust to new interfaces.
* include/bits/regex_automaton.h: New.
* include/bits/regex_automaton.tcc: New.
* include/bits/regex_compiler.h: Adjust to new files.
* include/bits/regex_compiler.tcc: New.
* include/bits/regex_constants.h: Tail spaces.
* include/bits/regex_error.h: Likewise.
* include/bits/regex_executor.h: New.
* include/bits/regex_executor.tcc: New.
* include/std/regex: Adjust to new files.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: Adjust to new interfaces.
From-SVN: r201573
2013-08-07 16:27:36 +00:00
Paolo Carlini
aeb1f2be12
atomicity.h: Add #pragma GCC system_header.
...
2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/atomicity.h: Add #pragma GCC system_header.
From-SVN: r201567
2013-08-07 14:26:15 +00:00
Paolo Carlini
a803975d9c
re PR libstdc++/58098 (wrong return value of normal_distribution::min())
...
2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58098
* include/bits/random.h (cauchy_distribution<>::min,
extreme_value_distribution<>::min, normal_distribution<>::min,
student_t_distribution<>::min): Fix.
* include/ext/random (normal_mv_distribution<>::min): Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
Adjust.
testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/
parms.cc: Likewise.
testsuite/26_numerics/random/extreme_value_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
Minor tweak.
* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
Likewise.
* testsuite/ext/von_mises_distribution/*: Move to...
* testsuite/ext/random/von_mises_distribution/*: ... here.
* testsuite/ext/triangular_distribution/*: Move to...
* testsuite/ext/random/triangular_distribution/*: ... here.
From-SVN: r201562
2013-08-07 11:41:30 +00:00
Caroline Tice
2077db1be5
Commit the vtable verification feature.
...
Commit the vtable verification feature. This feature is designed to
detect, at run time, if/when the vtable pointer in a C++ object has
been corrupted, before allowing virtual calls through that pointer.
If pointer corruption is detected, execution of the program is halted.
libstdc++-v3 ChangeLog:
2013-08-06 Caroline Tice <cmtice@google.com>
* fragment.am: Add XTEMPLATE_FLAGS.
* configure.ac: Add definitions for --enable-vtable-verify.
* acinclude.m4: Add --enable-vtable-verify and
--disable-vtable-verify; define --enable-vtable-verify; define
VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
* config/abi/pre/gnu.ver: Export symbols for vtable verification.
* libsupc++/Makefile.am: Define vtv_sources and add it to
libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
* libsupc++/vtv_stubs.cc: New file.
* include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
* src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
VTV_CXXLINKFLAGS to CXXLINK.
* src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
* src/C++11/Makefile.am: Ditto.
* doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
* scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
* testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
cxxvtvflags to cxx_final.
* testsuite/18_support/bad_exception/23591_thread-1.c: Add
-fvtable-verify=none to compiler flags.
* testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
to compiler flags.
* configure: Regenerated.
* Makefile.in: Regenerated.
* python/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* config.h.in: Regenerated.
* po/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
top level ChangeLog:
2013-08-06 Caroline Tice <cmtice@google.com>
* configure.ac: Add target-libvtv to target_libraries; disable libvtv
on non-linux systems; add target-libvtv to noconfigdirs; add
libsupc++/.libs to C++ library search paths.
* configure: Regenerated.
* Makefile.def: Add libvtv to target_modules; make libvtv depend on
libstdc++ and libgcc.
* Makefile.in: Regenerated.
include/ChangeLog:
2013-08-06 Caroline Tice <cmtice@google.com>
* vtv-change-permission.h: New file.
contrib/ChangeLog:
2013-08-06 Caroline Tice4 <cmtice@google.com>
* gcc_update: Add libvtv files.
libgcc/ChangeLog:
2013-08-06 Caroline Tice <cmtice@google.com>
config.host (extra_parts): Add vtv_start.o, vtv_end.o
vtv_start_preinit.o and vtv_end_preinit.o.
configure.ac: Add code to check/set enable_vtable_verify.
Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is
true.
vtv_start_preinit.c: New file.
vtv_end_preinit.c: New file.
vtv_start.c: New file.
vtv_end.c: New file.
configure: Regenerated.
gcc/ChangeLog:
2013-08-06 Caroline Tice <cmtice@google.com>
* gcc.c (VTABLE_VERIFICATION_SPEC): New definition.
(LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC.
* tree-pass.h: Add pass_vtable_verify.
* varasm.c (assemble_variable): Add code to properly set the comdat
section and name for the .vtable_map_vars section.
(assemble_vtyv_preinit_initializer): New function.
(default_sectin_type_flags): Make sure .vtable_map_vars section has
LINK_ONCE flag.
* output.h: Add function decl for assemble_vtv_preinit_initializer.
* vtable-verify.c: New file.
* vtable-verify.h: New file.
* flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify
initialiation levels.
* timevar.def (TV_VTABLE_VERIFICATION): New definition.
* passes.def: Insert pass_vtable_verify.
* aclocal.m4: Reorder includes.
* doc/invoke.texi: Add documentation for the flags -fvtable-verify=,
-fvtv-debug and -fvtv-counts.
* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o,
as appropriate, if -fvtable-verify=... is used.
(GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if
-fvtable-verify=... is used.
* Makefile.in (OBJS): Add vtable-verify.o to list.
(vtable-verify.o): Add new build rule.
(GTFILES): Add vtable-verify.c to list.
* common.opt (fvtable-verify=): New flag.
(vtv_priority): Values for fvtable-verify= flag.
(fvtv-counts): New flag.
(fvtv-debug): New flag.
* tree.h (save_vtable_map_decl): New extern function decl.
gcc/cp/ChangeLog:
2013-08-06 Caroline Tice <cmtice@google.com>
* Make-lang.in (*CXX_AND_OBJCXX_OBJS): Add vtable-class-hierarchy.o to
list.
(vtable-class-hierarchy.o): Add build rule.
* cp-tree.h (vtv_start_verification_constructor_init_function): New
extern function decl.
(vtv_finish_verification_constructor_init_function): New extern
function decl.
(build_vtbl_address): New extern function decl.
(get_mangled_vtable_map_var_name): New extern function decl.
(vtv_compute_class_hierarchy_transitive_closure): New extern function
decl.
(vtv_generate_init_routine): New extern function decl.
(vtv_save_class_info): New extern function decl.
(vtv_recover_class_info): New extern function decl.
(vtv_build_vtable_verify_fndecl): New extern function decl.
* class.c (finish_struct_1): Add call to vtv_save_class_info if
flag_vtable_verify is true.
* config-lang.in: Add vtable-class-hierarchy.c to gtfiles list.
* vtable-class-hierarchy.c: New file.
* mangle.c (get_mangled_vtable_map_var_name): New function.
* decl2.c (start_objects): Update function comment.
(cp_write_global_declarations): Call vtv_recover_class_info,
vtv_compute_class_hierarchy_transitive_closure and
vtv_build_vtable_verify_fndecl, before calling
finalize_compilation_unit, and call vtv_generate_init_rount after, IFF
flag_vtable_verify is true.
(vtv_start_verification_constructor_init_function): New function.
(vtv_finish_verification_constructor_init_function): New function.
* init.c (build_vtbl_address): Remove static qualifier from function.
libvtv/ChangeLog:
2013-08-06 Caroline Tice <cmtice@google.com>
Initial check-in of new vtable verification feature.
* configure.ac : New file.
* acinclude.m4 : New file.
* Makefile.am : New file.
* aclocal.m4 : New file.
* configure.tgt : New file.
* configure: New file (generated).
* Makefile.in: New file (generated).
* vtv_set.h : New file.
* vtv_utils.cc : New file.
* vtv_utils.h : New file.
* vtv_malloc.cc : New file.
* vtv_rts.cc : New file.
* vtv_malloc.h : New file.
* vtv_rts.h : New file.
* vtv_fail.cc : New file.
* vtv_fail.h : New file.
* vtv_map.h : New file.
* scripts/run-testsuite.sh : New file.
* scripts/sum-vtv-counts.c : New file.
* testsuite/parts-test-main.h : New file.
* testusite/dataentry.cc : New file.
* testsuite/temp_deriv.cc : New file.
* testsuite/register_pair.cc : New file.
* testsuite/virtual_inheritance.cc : New file.
* testsuite/field-test.cc : New file.
* testsuite/nested_vcall_test.cc : New file.
* testsuite/template-list-iostream.cc : New file.
* testsuite/register_pair_inserts.cc : New file.
* testsuite/register_pair_inserts_mt.cc : New file.
* testsuite/event.list : New file.
* testsuite/parts-test-extra-parts-views.cc : New file.
* testsuite/parts-test-extra-parts-views.h : New file.
* testsuite/environment-fail-32.s : New file.
* testsuite/parts-test-extra-parts.h : New file.
* testsuite/temp_deriv2.cc : New file.
* testsuite/dlopen_mt.cc : New file.
* testsuite/event.h : New file.
* testsuite/template-list.cc : New file.
* testsuite/replace-fail.cc : New file.
* testsuite/Makefile.am : New file.
* testsuite/Makefile.in: New file (generated).
* testsuite/mempool_negative.c : New file.
* testsuite/parts-test-main.cc : New file.
* testsuite/event-private.cc : New file.
* testsuite/thunk.cc : New file.
* testsuite/event-defintiions.cc : New file.
* testsuite/event-private.h : New file.
* testsuite/parts-test.list : New file.
* testusite/register_pair_mt.cc : New file.
* testsuite/povray-derived.cc : New file.
* testsuite/event-main.cc : New file.
* testsuite/environment.cc : New file.
* testsuite/template-list2.cc : New file.
* testsuite/thunk_vtable_map_attack.cc : New file.
* testsuite/parts-test-extra-parts.cc : New file.
* testsuite/environment-fail-64.s : New file.
* testsuite/dlopen.cc : New file.
* testsuite/so.cc : New file.
* testsuite/temp_deriv3.cc : New file.
* testsuite/const_vtable.cc : New file.
* testsuite/mempool_positive.c : New file.
* testsuite/dup_name.cc : New file.
From-SVN: r201555
2013-08-06 20:38:59 -07:00
Paolo Carlini
6ffd1096cf
2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert the last commit.
From-SVN: r201525
2013-08-06 11:11:07 +00:00
François Dumont
a3d4b3d7db
hashtable_policy.h (_Hashtable_alloc): New.
...
2013-08-06 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Hashtable_alloc): New.
(_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
_Hashtable.
(_Before_begin<>): Remove.
* include/bits/hashtable.h (_Hashtable): Inherit from
_Hashtable_alloc and adapt. Restore _M_before_begin field.
* python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
access to hashtable before begin.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Adapt dg-error line number.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Likewise.
From-SVN: r201522
2013-08-06 08:38:58 +00:00
Tim Shen
399eeef978
Implement bracket expression.
...
2013-08-03 Tim Shen <timshen91@gmail.com>
Implement bracket expression.
* include/bits/regex.h: Remove constexpr from "|=", etc.
* include/bits/regex_compiler.h: Parse bracket expression.
* include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
_RangeMatcher).
* include/bits/regex_nfa.tcc: Implement them.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
from regex_search to regex_match.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_bracket_01.cc: New.
From-SVN: r201465
2013-08-03 14:32:54 +00:00
Paolo Carlini
257e6ab3df
functions.h (__foreign_iterator_aux4): Initialize __l and __ge.
...
2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/functions.h (__foreign_iterator_aux4):
Initialize __l and __ge.
From-SVN: r201428
2013-08-02 08:12:20 +00:00
Paolo Carlini
7dec245a8c
functions.h (__foreign_iterator_aux4): Initialize __l and __ge.
...
2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/functions.h (__foreign_iterator_aux4):
Initialize __l and __ge.
From-SVN: r201426
2013-08-02 07:53:01 +00:00
Paolo Carlini
a1a0abac54
re PR libstdc++/58049 (libstdc++ bootstrap failure for fix to PR libstdc++/57779)
...
2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58049
* include/debug/functions.h: Include <bits/move.h>; minor formatting
changes.
(__foreign_iterator_aux4): Declare __l and __ge constexpr.
* include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
Use __addressof.
* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
operator->): Likewise.
From-SVN: r201424
2013-08-02 07:34:55 +00:00
François Dumont
5720787ada
re PR libstdc++/57779 (vector insert fails to diagnose iterators pointing into *this in debug mode)
...
2013-08-01 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/57779
* include/debug/formatter.h (_Debug_msg_id): Add
__msg_insert_itself_range entry.
* include/debug/functions.h (_Insert_range_from_self_is_safe<>):
New, indicate container types supporting self range insertion in
GNU implementation.
(__foreign_iterator): New, check if an iterator points to a given
sequence.
* include/debug/macros.h (__glibcxx_check_insert_range): Add check
using __foreign_iterator.
(__gibcxx_check_insert_range_after): Likewise.
* include/debug/string (_Insert_range_from_self_is_safe<>):
Partially specialized to mark __gnu_debug::basic_string<> as
supporting self range insert.
* include/debug/list (_Insert_range_from_self_is_safe<>):
Partially specialized to mark std::list as supporting self range
insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
* include/debug/forward_list (_Insert_range_from_self_is_safe<>):
Likewise.
* src/c++11/debug.cc (_S_debug_messages): Add
__msg_insert_itself_range_entry message.
(_Error_formatter::_Parameter::_M_print_description): Display
iterator sequence address rather than sequence address when the
parameter type is an iterator.
(_Error_formatter::_M_print_word): Enhance behavior when
displaying a word with an appended '\n'.
* testsuite/util/debug/checks.h (check_insert4<>): New.
* testsuite/23_containers/deque/debug/insert5_neg.cc: New.
* testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
* testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
* testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
Likewise.
From-SVN: r201416
2013-08-01 19:54:46 +00:00
Fabien Chêne
fb23b69e14
re PR c++/54537 (undiagnosed using-declaration conflicting with used function)
...
gcc/cp/
PR c++/54537
* cp-tree.h: Check OVL_USED with OVERLOAD_CHECK.
* name-lookup.c (do_nonmember_using_decl): Make sure we have an
OVERLOAD before calling OVL_USED. Call diagnose_name_conflict
instead of issuing an error without mentioning the conflicting
declaration.
libstdc++-v3/
PR c++/54537
* include/tr1/cmath: Remove pow(double,double) overload, remove a
duplicated comment about DR 550. Add a comment to explain the
issue.
* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
gcc/testsuite/
PR c++/54537
* g++.dg/overload/using3.C: New.
* g++.dg/overload/using2.C: Adjust.
* g++.dg/lookup/using9.C: Likewise.
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
From-SVN: r201414
2013-08-01 14:24:37 -05:00
Tim Shen
95c7d82816
Thompson matcher refactored.
...
2013-07-31 Tim Shen <timshen91@gmail.com>
Thompson matcher refactored. Fix grouping problem.
* include/bits/regex.h: Use a dispatcher _M_get_matcher().
* include/bits/regex_compiler.h: Tweak for auto switching.
* include/bits/regex_grep_matcher.h: Class structure.
* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
matcher) refactoring.
* include/bits/regex_nfa.h: Change _Results's interfaces.
* include/std/regex: Includes <map> and <queue>.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: New.
From-SVN: r201391
2013-07-31 22:36:11 +00:00
Paolo Carlini
4333e4dcf7
re PR libstdc++/56627 (class hash instead of struct hash)
...
2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56627
* include/bits/stl_bvector.h: Use friend struct hash intead of
friend class hash to work around useless warnings produced by
some compilers.
* include/std/bitset: Likewise.
From-SVN: r201377
2013-07-31 14:36:13 +00:00
Paolo Carlini
a781834e44
functexcept.cc: Do not include the whole <regex>.
...
2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
* src/c++11/functexcept.cc: Do not include the whole <regex>.
* src/c++11/regex.cc: Likewise.
From-SVN: r201369
2013-07-31 12:36:37 +00:00
Tim Shen
1151053225
Revert last commit.
...
From-SVN: r201360
2013-07-31 03:36:37 +00:00
Tim Shen
abf1719efe
Thompson matcher refactored.
...
2013-07-31 Tim Shen <timshen91@gmail.com>
Thompson matcher refactored. Fix grouping problem.
* include/bits/regex.h: Use a dispatcher _M_get_matcher().
* include/bits/regex_compiler.h: Tweak for auto switching.
* include/bits/regex_grep_matcher.h: Class structure.
* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
matcher) refactoring.
* include/bits/regex_nfa.h: Change _Results's interfaces.
* include/std/regex: Includes <map> and <queue>.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: New.
From-SVN: r201358
2013-07-31 00:20:06 +00:00
Paolo Carlini
9a92fa8b66
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert last commit.
From-SVN: r201349
2013-07-30 18:16:33 +00:00
Paolo Carlini
5034aa2102
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert last commit.
From-SVN: r201348
2013-07-30 18:13:15 +00:00
Tim Shen
a6dc77bc3d
Thompson matcher refactored.
...
2013-07-30 Tim Shen <timshen91@gmail.com>
Thompson matcher refactored. Fix grouping problem.
* include/bits/regex.h: Use a dispatcher _M_get_matcher().
* include/bits/regex_compiler.h: Tweak for auto switching.
* include/bits/regex_grep_matcher.h: Class structure.
* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
matcher) refactoring.
* include/bits/regex_nfa.h: Change _Results's interfaces.
* include/std/regex: Includes <map> and <queue>.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/string_dispatch_01.cc:
New.
From-SVN: r201334
2013-07-30 12:02:55 +00:00
Nathan Froyd
272827e446
atomic (compare_exchange_weak, [...]): Add call to __cmpexch_failure_order.
...
libstdc++-v3/
* include/std/atomic (compare_exchange_weak, compare_exchange_strong):
Add call to __cmpexch_failure_order.
* testsuite/util/testsuite_common_types.h
(compare_exchange_order_lowering): New generator.
* testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
New test.
From-SVN: r201315
2013-07-29 17:13:05 +00:00
Tim Shen
b698d310d8
Fix incorrect ChangeLog entry.
...
From-SVN: r201292
2013-07-28 10:23:43 +00:00
Paolo Carlini
4e30cb71f9
complex (pow(const complex<>&, int)): Enable in C++11 mode too.
...
2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/complex (pow(const complex<>&, int)): Enable in
C++11 mode too.
* testsuite/26_numerics/complex/dr844.cc: Adjust.
* doc/xml/manual/intro.xml: Update.
From-SVN: r201253
2013-07-25 21:24:07 +00:00
Tim Shen
105164bb90
Add documents and comments.
...
2013-07-25 Tim Shen <timshen91@gmail.com>
Add documents and comments.
* include/bits/regex.h: Documents and comments.
* include/bits/regex_grep_matcher.h: Likewise.
* include/bits/regex_grep_matcher.tcc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc:
New.
From-SVN: r201244
2013-07-25 14:59:43 +00:00
Paolo Carlini
484b502a41
re PR libstdc++/57976 (Missing time_get<>::get() functions)
...
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57976
* doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
time_get::do_get.
From-SVN: r201234
2013-07-25 00:46:46 +00:00
Paolo Carlini
821f6f1b31
random.h (random_device): Avoid using the FILE type.
...
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.h (random_device): Avoid using the FILE type.
* include/std/random: Do not include <cstdio>.
* src/c++11/random.cc: ... include it here.
(random_device::_M_init, random_device::_M_fini,
random_device::_M_getval): Cast back and forth void* and FILE*.
From-SVN: r201215
2013-07-24 15:42:06 +00:00
Tim Shen
37c74e2816
Reimplment matcher using Depth-first search(backtracking).
...
2013-07-24 Tim Shen <timshen91@gmail.com>
Reimplment matcher using Depth-first search(backtracking).
PR libstdc++/53622
PR libstdc++/57173
* include/bits/regex.h: regex_match() and regex_search().
* include/bits/regex_cursor.h: Fix _M_set_pos().
* include/bits/regex_grep_matcher.h: add _M_dfs_match().
* include/bits/regex_grep_matcher.tcc: Implement it.
* testsuite/28_regex/algorithms/regex_match/extended/string_group_01.cc:
New.
* testsuite/28_regex/algorithms/regex_match/extended/string_group_02.cc:
New.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
Remove xfail.
From-SVN: r201213
2013-07-24 14:39:54 +00:00
Tim Shen
407a0fa3a4
Implement regex_iterator and regex_token_iterator.
...
2013-07-23 Tim Shen <timshen91@gmail.com>
Implement regex_iterator and regex_token_iterator.
* include/bits/regex.h: regex_iterator and regex_token_iterator.
* testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
New.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
New.
* testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
New.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc:
New.
From-SVN: r201169
2013-07-23 12:31:51 +00:00
Paolo Carlini
3c68decc48
random: Add back <cstdio> include.
...
2013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/random: Add back <cstdio> include.
* src/c++11/random.cc: Don't include <cstdio> here.
From-SVN: r201160
2013-07-23 09:39:01 +00:00
Jason Merrill
16a1d8fe29
re PR libstdc++/57914 (Memory leak in __cxa_thread_atexit when using thread_local)
...
PR libstdc++/57914
* libsupc++/atexit_thread.cc (run): Delete cleanup elts.
From-SVN: r201146
2013-07-22 15:43:27 -04:00
Paolo Carlini
94e7477f0c
re PR libstdc++/57920 ([c++11] Linux: std::random_device reads too much from /dev/urandom)
...
2013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57920
* src/c++11/random.cc (random_device::_M_getval): If possible, use
read instead of std::fread.
* include/std/random: Do not include <cstdio> unnecessarily.
From-SVN: r201133
2013-07-22 15:22:52 +00:00
Jonathan Wakely
b2b0bf396e
Remove stray blank line.
...
From-SVN: r201117
2013-07-22 08:57:53 +01:00
Tim Shen
603c431f90
Partially implement regex_search.
...
2013-07-21 Tim Shen <timshen91@gmail.com>
Partially implement regex_search.
* include/bits/regex.h: regex_search.
* include/bits/regex_grep_matcher.h: _M_search_from_first.
* include/bits/regex_grep_matcher.tcc: Implement it.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
From-SVN: r201113
2013-07-21 23:34:02 +00:00
Jonathan Wakely
3429db0fb0
re PR libstdc++/54352 (relaxed data race rules for ~condition_variable_any)
...
PR libstdc++/54352
* include/std/condition_variable (condition_variable_any): Move into
inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
* src/c++11/condition_variable.cc (condition_variable_any): Move
definitions to ...
* src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
* src/Makefile.am: Add new source file.
* src/Makefile.in: Regenerate.
From-SVN: r201112
2013-07-21 20:21:03 +01:00
Mike Stump
d76e725e47
Fix.
...
From-SVN: r201103
2013-07-21 16:52:00 +00:00
Tim Shen
b3ebe3d0e0
Implement class regex_traits.
...
2013-07-09 Tim Shen <timshen91@gmail.com>
Implement class regex_traits.
* include/bits/regex.h: Implement lookup_classname and
lookup_collatename; modify isctype; partially implement
transform_primary.
* testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
* testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
* testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
* testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/isctype.cc: New.
* testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
* testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
From-SVN: r200818
2013-07-09 13:41:10 +00:00
Edward Smith-Rowland
c8dfadf8f3
Add links to the C++14 library implementation status page.
...
From-SVN: r200749
2013-07-08 02:13:30 +00:00
Edward Smith-Rowland
af8bc8f324
Add links to the C++14 librarry implementation status page.
...
From-SVN: r200748
2013-07-08 02:06:45 +00:00
Paolo Carlini
110374e494
const_iterator.cc: Tweak, avoid potential undefined behavior.
...
2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Tweak, avoid potential undefined behavior.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
From-SVN: r200725
2013-07-05 22:22:26 +00:00
François Dumont
b3abc9d822
hashtable_policy.h (_ReuseOrAllocNode): Use forward pattern.
...
2013-07-05 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
pattern.
(_MoveReuseOrAllocNode): Remove.
(_Insert_base): Take a functor defining how the node is generated.
* include/bits/hashtable.h: Adapt.
(operator=(initializer_list<value_type>)): Reuse node if any.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
From-SVN: r200724
2013-07-05 21:21:07 +00:00
Paolo Carlini
8b30e1668e
const_iterator.cc: Tweak, avoid potential undefined behavior.
...
2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Tweak, avoid potential undefined behavior.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
From-SVN: r200703
2013-07-05 10:32:20 +00:00
Veres Lajos
1d77bc548a
codecvt_members.cc: Fix typo.
...
2013-07-04 Veres Lajos <vlajos@gmail.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
* config/locale/generic/codecvt_members.cc: Fix typo.
* configure.host: Likewise.
* doc/html/manual/policy_data_structures_design.html: Likewise.
* doc/xml/manual/policy_data_structures.xml: Likewise.
* include/bits/hashtable.h: Likewise.
* include/bits/random.h: Likewise.
* include/profile/impl/profiler_trace.h: Likewise.
* testsuite/23_containers/deque/cons/2.cc: Likewise.
* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
* testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r200681
2013-07-04 22:07:44 +01:00
François Dumont
b1eb497f61
Add missing ChangeLog entry.
...
From-SVN: r200680
2013-07-04 21:02:25 +00:00
Ray Chason
b727d9c4be
re PR libstdc++/57808 (operators == and != for regex_token_iterator need to be const)
...
2013-07-04 Ray Chason <chasonr@newsguy.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57808
* include/bits/regex.h (regex_token_iterator<>::operator==,
regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
regex_token_iterator<>::operator->): Declare const.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r200662
2013-07-04 08:23:44 +00:00
Paolo Carlini
019fdb7923
stl_list.h (list<>::insert(iterator, size_type, const value_type&), [...]): Adjust C++11 signatures to take const_iterator(s).
...
2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_list.h (list<>::insert(iterator,
size_type, const value_type&), list<>::insert(iterator,
initializer_list<>), list<>::insert(iterator, _InputIterator,
_InputIterator), list<>::splice(iterator, list&&),
list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
iterator), list<>::splice(iterator, list&, iterator),
list<>::splice(iterator, list&&, iterator, iterator),
list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
signatures to take const_iterator(s).
* include/bits/list.tcc (list<>::insert(const_iterator, size_type,
const value_type&), list<>::insert(const_iterator, _InputIterator,
_InputIterator)): Define.
* include/ext/vstring.h (__versa_string<>::insert(iterator,
size_type, _CharT), __versa_string<>::insert(iterator,
_InputIterator, _InputIterator), __versa_string<>::insert(iterator,
std::initializer_list<>), __versa_string<>::replace(iterator,
iterator, _InputIterator, _InputIterator), __versa_string<>::
replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
signatures to take const_iterator(s).
(__versa_string<>::_M_replace_dispatch): Take const_iterators.
* include/ext/vstring.tcc: Likewise.
* include/debug/list: Adjust.
* include/profile/list: Likewise.
* testsuite/23_containers/list/operations/splice/const_iterator.cc:
New.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Extend.
* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r200580
2013-07-01 16:17:46 +00:00
Paolo Carlini
06eed9f588
stl_deque.h (deque<>::insert(iterator, size_type, const value_type&), [...]): Adjust C++11 signatures to take a const_iterator.
...
2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_deque.h (deque<>::insert(iterator,
size_type, const value_type&), deque<>::insert(iterator,
initializer_list<>), deque<>::insert(iterator, _InputIterator,
_InputIterator)): Adjust C++11 signatures to take a const_iterator.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/debug/deque: Adjust.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/vector: Likewise.
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Extend.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r200571
2013-06-30 16:24:30 +00:00
Paolo Carlini
e8f24c86b8
*: Move inside testsuite/21_strings/basic_string/operations/data/.
...
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/operations/*: Move inside
testsuite/21_strings/basic_string/operations/data/.
* testsuite/21_strings/basic_string/compare/*: Move inside
testsuite/21_strings/basic_string/operations/.
* testsuite/21_strings/basic_string/find/*: Likewise.
* testsuite/21_strings/basic_string/rfind/*: Likewise.
* testsuite/21_strings/basic_string/substr/*: Likewise.
From-SVN: r200570
2013-06-30 14:48:37 +00:00
François Dumont
41349aec29
hashtable_policy.h (_Insert_base): Consider hint in insert methods.
...
2013-06-29 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Insert_base): Consider hint in
insert methods.
* include/bits/hashtable.h: Likewise.
* testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
* testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
* doc/xml/manual/containers.xml: Document hinting in unordered
containers.
From-SVN: r200564
2013-06-29 07:55:12 +00:00
Paolo Carlini
7d9800e39a
*: Move inside testsuite/21_strings/basic_string/operations/data/.
...
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/operations/*: Move inside
testsuite/21_strings/basic_string/operations/data/.
* testsuite/21_strings/basic_string/compare/*: Move inside
testsuite/21_strings/basic_string/operations/.
* testsuite/21_strings/basic_string/find/*: Likewise.
* testsuite/21_strings/basic_string/rfind/*: Likewise.
* testsuite/21_strings/basic_string/substr/*: Likewise.
From-SVN: r200537
2013-06-28 16:01:08 +00:00
Paolo Carlini
17ee10dbec
*: Move inside testsuite/21_strings/basic_string/modifiers/.
...
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/append/*: Move inside
testsuite/21_strings/basic_string/modifiers/.
* testsuite/21_strings/basic_string/assign/*: Likewise.
* testsuite/21_strings/basic_string/insert/*: Likewise.
* testsuite/21_strings/basic_string/replace/*: Likewise.
* testsuite/21_strings/basic_string/modifiers/pop_back/char/
pop_back.cc: Rename to 1.cc.
* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
pop_back.cc: Likewise.
* testsuite/ext/vstring/assign/*: Move inside
testsuite/ext/vstring/modifiers/.
From-SVN: r200465
2013-06-27 12:15:34 +00:00
Paolo Carlini
7b61c5a9cb
stl_deque.h (deque<>::insert(iterator, const value_type&), [...]): Adjust C++11 signatures to take a const_iterator.
...
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_deque.h (deque<>::insert(iterator,
const value_type&), deque<>::insert(iterator, value_type&&),
deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
take a const_iterator.
(deque<>::erase): Simplify.
* include/bits/stl_list.h: Likewise.
(_List_iterator<>::_M_const_cast): Add.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
(_Bit_iterator::_M_const_cast): Add.
* include/bits/deque.tcc: Adjust definitions.
* include/bits/list.tcc: Likewise.
* include/bits/vector.tcc: Likewise.
* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Define trivial version in C++98 mode.
* include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
__versa_string<>::replace(iterator, iterator, const __versa_string&),
__versa_string<>::replace(iterator, iterator, const _CharT*,
size_type), __versa_string<>::replace(iterator, iterator,
const _CharT*), __versa_string<>::replace(iterator, iterator,
size_type, _CharT)): Adjust C++11 signatures to take a pair of
const_iterators.
* include/debug/deque: Adjust.
* include/debug/list: Likewise.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/vector: Likewise.
(vector<>::emplace): Add.
* testsuite/util/exception/safety.h: Update.
* testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
New.
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
ext/vstring/modifiers/erase/char/.
* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
ext/vstring/modifiers/wchar_t/.
* testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
ext/vstring/modifiers/pop_back/char/.
* testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r200458
2013-06-27 09:51:21 +00:00
Jason Merrill
46812ec24c
typeck2.c (store_init_value): Diagnose a non-constant initializer for in-class static.
...
* typeck2.c (store_init_value): Diagnose a non-constant
initializer for in-class static.
From-SVN: r200450
2013-06-26 22:35:46 -04:00
Paolo Carlini
a9826e56fa
abi_tag.cc: Avoid spurious fails with check-debug.
...
2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
spurious fails with check-debug.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
Likewise.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
Likewise.
From-SVN: r200438
2013-06-26 22:48:06 +00:00
Ed Smith-Rowland
3ed8a9cd21
Status page for C++2014 library features
...
2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
Status page for C++2014 library features
* doc/xml/faq.xml: Add link to new C++14 status page.
* doc/xml/manual/intro.xml: Ditto.
* doc/xml/manual/status_cxx2014.xml: New.
From-SVN: r200413
2013-06-26 01:24:25 +00:00
Paolo Carlini
be768ae0fb
abi_tag.cc: Avoid spurious fails with check-debug.
...
2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
spurious fails with check-debug.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
Likewise.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
Likewise.
From-SVN: r200411
2013-06-26 00:29:40 +00:00
Paolo Carlini
6cdbb7e8a1
re PR libstdc++/57704 (std::char_traits<char>::lt is not standards-compliant)
...
2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57704
* include/bits/char_traits.h (char_traits<char>::lt): Implement
LWG 467.
* testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
From-SVN: r200392
2013-06-25 08:39:31 +00:00
Bernd Edlinger
a4e28c8103
re PR libstdc++/57691 (freestanding libstdc++ has compile error)
...
2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR libstdc++/57691
* include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
declare per the letter of the C++ standard in terms of void.
* include/c_std/cstdlib: Likewise.
From-SVN: r200371
2013-06-24 13:46:58 +00:00
Paolo Carlini
07bba3b144
re PR libstdc++/57674 (wrong distribution for std::binomial_distribution::operator()(g,param))
...
2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57674
* include/bits/random.h (binomial_distribution<>::_M_waiting):
Add double parameter.
* include/bits/random.tcc (binomial_distribution<>::operator()
(_UniformRandomNumberGenerator&, const param_type&)): Pass
__param._M_q to _M_waiting.
(_M_waiting): Adjust.
* testsuite/26_numerics/random/binomial_distribution/
operators/values.cc: Add tests.
From-SVN: r200341
2013-06-22 21:07:02 +00:00
Paolo Carlini
b0ad3635b6
re PR libstdc++/57666 (valarray<T>::operator= in c++11 mode does not adapt to size)
...
2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57666
* include/std/valarray (valarray<>::operator=(const _Expr<>&)):
Implement correctly C++11 26.6.2.3/1.
* testsuite/26_numerics/valarray/dr630-3.C: New.
From-SVN: r200305
2013-06-21 14:23:15 +00:00
Jonathan Wakely
25e00ab674
re PR libstdc++/57641 (std::timed_mutex.try_lock_until() is broken)
...
PR libstdc++/57641
* include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
functionality to new __timed_mutex_impl mixin. Overload try_lock_until
to handle conversion between different clocks. Replace constrained
__try_lock_for_impl overloads with conditional increment.
* include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
From-SVN: r200180
2013-06-18 23:55:02 +01:00
Jonathan Wakely
31eb8a1809
stl_algobase.h (equal): Make C++14 overloads from N3671 dispatch to traditional std::equal for...
...
2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>
Chris Jefferson <chris@bubblescope.net>
* include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
dispatch to traditional std::equal for random-access iterators.
(__equal2_aux, __equal2): Remove.
(__equal::equal): Remove unused overloads.
* include/bits/stl_algo.h (is_permutation): Fix typos.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r200145
2013-06-17 01:47:55 +01:00
Jonathan Wakely
2081281b10
shared_mutex (shared_lock::operator=): Add missing return statement.
...
* include/std/shared_mutex (shared_lock::operator=): Add missing
return statement.
From-SVN: r200141
2013-06-16 22:56:43 +01:00
Jonathan Wakely
f038f5824b
re PR libstdc++/57263 (std::set with user-defined allocator - compile error)
...
PR libstdc++/57263
* include/bits/forward_list.h (_Fwd_list_base): Convert to/from
allocator's pointer type.
* include/bits/hashtable.h (_Hashtable): Likewise.
* testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
* testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
* testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
From-SVN: r200136
2013-06-16 18:13:34 +01:00
Jonathan Wakely
8d2cddc125
shared_mutex: Implement N3659.
...
* include/std/shared_mutex: Implement N3659.
* include/bits/c++14_warning.h: New.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* testsuite/30_threads/shared_lock/cons/1.cc: New.
* testsuite/30_threads/shared_lock/locking/2.cc: New.
* testsuite/30_threads/shared_lock/cons/2.cc: New.
* testsuite/30_threads/shared_lock/locking/3.cc: New.
* testsuite/30_threads/shared_lock/cons/3.cc: New.
* testsuite/30_threads/shared_lock/locking/4.cc: New.
* testsuite/30_threads/shared_lock/cons/4.cc: New.
* testsuite/30_threads/shared_lock/modifiers/1.cc: New.
* testsuite/30_threads/shared_lock/cons/5.cc: New.
* testsuite/30_threads/shared_lock/modifiers/2.cc: New.
* testsuite/30_threads/shared_lock/cons/6.cc: New.
* testsuite/30_threads/shared_lock/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/shared_lock/locking/1.cc: New.
* testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
* testsuite/30_threads/shared_mutex/cons/1.cc: New.
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
* testsuite/30_threads/shared_mutex/requirements/
standard_layout.cc: New.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
From-SVN: r200134
2013-06-16 17:35:06 +01:00
Paolo Carlini
95777cb0fb
re PR libstdc++/57619 (std::unordered_map and std::unordered_multimap::insert invoking std::pair move constructor)
...
2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57619
* include/bits/unordered_map.h (unordered_map<>::insert,
unordered_multimap<>::insert): Use std::forward, not std::move.
* testsuite/23_containers/unordered_map/insert/57619.C: New.
* testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
From-SVN: r200111
2013-06-14 23:35:56 +00:00
Alan Modra
8f7fa4ba72
configure.host (abi_baseline_pair): Match powerpc64*.
...
* configure.host (abi_baseline_pair): Match powerpc64*.
From-SVN: r200087
2013-06-14 18:10:47 +09:30
Daniel Kruegler
8989803415
type_traits (is_function): Support ref-qualified functions.
...
2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
* include/std/type_traits (is_function): Support ref-qualified
functions.
(is_copy_constructible, is_move_constructible, is_copy_assignable,
is_move_assignable, is_nothrow_copy_constructible,
is_nothrow_move_constructible, is_nothrow_copy_assignable,
is_nothrow_move_assignable): Implement LWG 2196.
(add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
LWG 2101.
(__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
unused.
* testsuite/20_util/add_lvalue_reference/value.cc: Extend.
* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_assignable/value.cc: Likewise.
* testsuite/20_util/is_constructible/value-2.cc: Likewise.
* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_function/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_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_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/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r200080
2013-06-13 23:18:27 +00:00
Paolo Carlini
8aaba3a9a7
modified_bessel_func.tcc (__gnu_cxx::__airy_ai(), [...]): Remove.
...
2013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
__gnu_cxx::__airy_bi()): Remove.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/airy.cc: Fix.
From-SVN: r200060
2013-06-13 08:25:36 +00:00
Ed Smith-Rowland
bcc193bf46
re PR libstdc++/56430 (In __airy: return-statement with a value, in function returning 'void'.)
...
2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/56430
* include/tr1/modified_bessel_func.tcc (__airy): Remove return
from void function.
(__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/airy.cc: New.
From-SVN: r200054
2013-06-13 03:04:58 +00:00
Ed Smith-Rowland
0372af98bd
Fix library literals error involving namespace __detail.
...
2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
Fix library literals error involving namespace __detail.
* include/std/chrono: Rename __detail to __select_type. Reformat.
* include/bits/basic_string.h: Reformat.
* testsuite/20_util/duration/literals/ns_detail.cc: New.
From-SVN: r199948
2013-06-11 11:00:38 +00:00
Paolo Carlini
899e00ebb2
re PR libstdc++/56019 (max_align_t should be in std namespace)
...
2013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56019
* include/c_global/cstddef (max_align_t): Add to namespace std.
* include/c_std/cstddef: Likewise.
* testsuite/18_support/max_align_t/requirements/1.cc: New.
* testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
From-SVN: r199945
2013-06-11 09:50:55 +00:00
Benjamin Kosnik
3b31a72738
c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
...
2013-06-10 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
* include/bits/stl_map.h (erase): Use abi_tag when C++11.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_tree.h: Same.
* include/std/complex (real, imag): Use macro for abi_tag.
* testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
* testsuite/util/testsuite_containers.h (erase_external): New
declarations.
(erase_external_iterators): Same.
(linkage_check_cxx98_cxx11_erase): Same.
(linkage_check_cxx98_cxx11_erase_iterators): Same.
* testsuite/util/testsuite_shared.cc: Define.
* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
* testsuite/23_containers/map/modifiers/erase/
dr130-linkage-check.cc: New.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
* testsuite/23_containers/multimap/modifiers/erase/
dr130-linkage-check.cc: New.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
* testsuite/23_containers/multiset/modifiers/erase/
dr130-linkage-check.cc: New.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
* testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
New.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
* testsuite/23_containers/map/dr130.cc: Move...
* testsuite/23_containers/map/modifiers/dr130.cc: ...here.
* testsuite/23_containers/multimap/dr130.cc: Move ...
* testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
* testsuite/23_containers/multiset/dr130.cc: Move...
* testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
* testsuite/23_containers/set/dr130.cc: Move...
* testsuite/23_containers/set/modifiers/dr130.cc: ...here.
From-SVN: r199924
2013-06-10 23:11:05 +00:00
Thomas Schwinge
9275f73ae5
forced.C: Extend current handling of Linux-based x86 systems to cover all GNU systems.
...
gcc/testsuite/
* g++.dg/abi/forced.C: Extend current handling of Linux-based x86
systems to cover all GNU systems.
* g++.dg/abi/guard2.C: Likewise.
* g++.dg/cpp0x/constexpr-rom.C: Likewise.
* g++.dg/eh/sighandle.C: Likewise.
* g++.dg/ext/cleanup-10.C: Likewise.
* g++.dg/ext/cleanup-11.C: Likewise.
* g++.dg/ext/cleanup-8.C: Likewise.
* g++.dg/ext/cleanup-9.C: Likewise.
* g++.dg/opt/const5.C: Likewise.
* g++.dg/opt/life1.C: Likewise.
* g++.dg/other/pr39496.C: Likewise.
* g++.old-deja/g++.abi/aggregates.C: Likewise.
* g++.old-deja/g++.abi/align.C: Likewise.
* g++.old-deja/g++.abi/bitfields.C: Likewise.
* g++.old-deja/g++.law/weak.C: Likewise.
* g++.old-deja/g++.pt/asm1.C: Likewise.
* gcc.c-torture/execute/20030125-1.x: Likewise.
* gcc.c-torture/execute/990127-2.x: Likewise.
* gcc.dg/20041106-1.c: Likewise.
* gcc.dg/20050503-1.c: Likewise.
* gcc.dg/builtin-object-size-5.c: Likewise.
* gcc.dg/cleanup-10.c: Likewise.
* gcc.dg/cleanup-11.c: Likewise.
* gcc.dg/cleanup-8.c: Likewise.
* gcc.dg/cleanup-9.c: Likewise.
* gcc.dg/complex-5.c: Likewise.
* gcc.dg/debug/dwarf2/asm-line1.c: Likewise.
* gcc.dg/debug/dwarf2/discriminator.c: Likewise.
* gcc.dg/dfp/convert-dfp-round-thread.c: Likewise.
* gcc.dg/dfp/pr35739.c: Likewise.
* gcc.dg/fdata-sections-1.c: Likewise.
* gcc.dg/lto/20090206-1_0.c: Likewise.
* gcc.dg/lto/20090206-2_0.c: Likewise.
* gcc.dg/pr30360.c: Likewise.
* gcc.dg/pr37303.c: Likewise.
* gcc.dg/pr39323-1.c: Likewise.
* gcc.dg/pr39323-2.c: Likewise.
* gcc.dg/pr39323-3.c: Likewise.
* gcc.dg/pr45416.c: Likewise.
* gcc.dg/setjmp-2.c: Likewise.
* gcc.dg/split-1.c: Likewise.
* gcc.dg/split-3.c: Likewise.
* gcc.dg/split-4.c: Likewise.
* gcc.dg/strlenopt-12g.c: Likewise.
* gcc.dg/strlenopt-14g.c: Likewise.
* gcc.dg/strlenopt-14gf.c: Likewise.
* gcc.dg/strlenopt-16g.c: Likewise.
* gcc.dg/strlenopt-17g.c: Likewise.
* gcc.dg/strlenopt-18g.c: Likewise.
* gcc.dg/strlenopt-1f.c: Likewise.
* gcc.dg/strlenopt-22g.c: Likewise.
* gcc.dg/strlenopt-2f.c: Likewise.
* gcc.dg/strlenopt-4g.c: Likewise.
* gcc.dg/strlenopt-4gf.c: Likewise.
* gcc.dg/struct-ret-3.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-2.c: Likewise.
* gcc.misc-tests/linkage.exp: Likewise.
* gcc.target/i386/20000724-1.c: Likewise.
* gcc.target/i386/align-main-3.c: Likewise.
* gcc.target/i386/cleanup-1.c: Likewise.
* gcc.target/i386/inline-mcpy.c: Likewise.
* gcc.target/i386/pr32268.c: Likewise.
* gcc.target/i386/pr36613.c: Likewise.
* gcc.target/i386/pr39013-1.c: Likewise.
* gcc.target/i386/pr39013-2.c: Likewise.
* gcc.target/i386/pr39496.c: Likewise.
* gcc.target/i386/pr40906-3.c: Likewise.
* gcc.target/i386/pr46084.c: Likewise.
* lib/target-supports.exp (check_effective_target_pie): Likewise.
libgomp/
* testsuite/libgomp.c/icv-2.c: Extend current handling of
Linux-based x86 systems to cover all GNU systems.
* testsuite/libgomp.c/lock-3.c: Likewise.
* testsuite/libgomp.c/pr48591.c: Likewise.
libstdc++-v3/
* testsuite/17_intro/headers/c++1998/49745.cc: Extend current
handling of Linux-based x86 systems to cover all GNU systems.
* testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
* testsuite/18_support/pthread_guard.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
Likewise.
* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
* testsuite/23_containers/list/pthread1.cc: Likewise.
* testsuite/23_containers/list/pthread5.cc: Likewise.
* testsuite/23_containers/map/pthread6.cc: Likewise.
* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
Likewise.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Likewise.
* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
* testsuite/30_threads/async/42819.cc: Likewise.
* testsuite/30_threads/async/49668.cc: Likewise.
* testsuite/30_threads/async/54297.cc: Likewise.
* testsuite/30_threads/async/any.cc: Likewise.
* testsuite/30_threads/async/async.cc: Likewise.
* testsuite/30_threads/async/launch.cc: Likewise.
* testsuite/30_threads/async/sync.cc: Likewise.
* testsuite/30_threads/call_once/39909.cc: Likewise.
* testsuite/30_threads/call_once/49668.cc: Likewise.
* testsuite/30_threads/call_once/call_once1.cc: Likewise.
* testsuite/30_threads/condition_variable/54185.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
* testsuite/30_threads/condition_variable/members/53841.cc:
Likewise.
* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/members/1.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/members/2.cc:
Likewise.
* testsuite/30_threads/future/cons/move.cc: Likewise.
* testsuite/30_threads/future/members/45133.cc: Likewise.
* testsuite/30_threads/future/members/get.cc: Likewise.
* testsuite/30_threads/future/members/get2.cc: Likewise.
* testsuite/30_threads/future/members/share.cc: Likewise.
* testsuite/30_threads/future/members/valid.cc: Likewise.
* testsuite/30_threads/future/members/wait.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/lock/1.cc: Likewise.
* testsuite/30_threads/lock/2.cc: Likewise.
* testsuite/30_threads/lock/3.cc: Likewise.
* testsuite/30_threads/lock/4.cc: Likewise.
* testsuite/30_threads/mutex/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/mutex/lock/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/packaged_task/49668.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move_assign.cc:
Likewise.
* testsuite/30_threads/packaged_task/members/get_future.cc:
Likewise.
* testsuite/30_threads/packaged_task/members/get_future2.cc:
Likewise.
* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
* testsuite/30_threads/promise/cons/1.cc: Likewise.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
* testsuite/30_threads/promise/cons/move.cc: Likewise.
* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
* testsuite/30_threads/promise/members/get_future.cc: Likewise.
* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception2.cc:
Likewise.
* testsuite/30_threads/promise/members/set_value.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
* testsuite/30_threads/promise/members/swap.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.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/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.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/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.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/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/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/unlock/1.cc:
Likewise.
* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
* testsuite/30_threads/shared_future/members/get.cc: Likewise.
* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc:
Likewise.
* testsuite/30_threads/shared_future/members/wait_until.cc:
Likewise.
* testsuite/30_threads/this_thread/1.cc: Likewise.
* testsuite/30_threads/this_thread/2.cc: Likewise.
* testsuite/30_threads/this_thread/3.cc: Likewise.
* testsuite/30_threads/this_thread/4.cc: Likewise.
* testsuite/30_threads/thread/cons/1.cc: Likewise.
* 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/cons/49668.cc: Likewise.
* testsuite/30_threads/thread/cons/5.cc: Likewise.
* testsuite/30_threads/thread/cons/6.cc: Likewise.
* testsuite/30_threads/thread/cons/7.cc: Likewise.
* testsuite/30_threads/thread/cons/8.cc: Likewise.
* testsuite/30_threads/thread/cons/9.cc: Likewise.
* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
* testsuite/30_threads/thread/members/1.cc: Likewise.
* testsuite/30_threads/thread/members/2.cc: Likewise.
* testsuite/30_threads/thread/members/3.cc: Likewise.
* testsuite/30_threads/thread/members/4.cc: Likewise.
* testsuite/30_threads/thread/members/5.cc: Likewise.
* testsuite/30_threads/thread/members/hardware_concurrency.cc:
Likewise.
* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
* testsuite/30_threads/thread/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/thread/swap/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.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/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/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/try_lock/1.cc: Likewise.
* testsuite/30_threads/try_lock/2.cc: Likewise.
* testsuite/30_threads/try_lock/3.cc: Likewise.
* testsuite/30_threads/try_lock/4.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.
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
* testsuite/ext/profile/mh.cc: Likewise.
* testsuite/ext/rope/pthread7-rope.cc: Likewise.
* testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
Likewise.
* testsuite/util/testsuite_performance.h: Extend current handling
of Linux-based systems to cover all glibc-based systems.
From-SVN: r199880
2013-06-10 09:21:29 +02:00
Jonathan Wakely
bd24ec2de0
mutex (call_once): Remove parentheses to fix error in c++1y and gnu++1y mode.
...
* include/std/mutex (call_once): Remove parentheses to fix error in
c++1y and gnu++1y mode.
* testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
thread to avoid undefined behaviour.
From-SVN: r199875
2013-06-10 00:54:07 +01:00
Ed Smith-Rowland
88c4d6b798
Simplify and clean up library literals.
...
2013-06-07 Ed Smith-Rowland <3dw4rd@verizon.net>
Simplify and clean up library literals.
* include/std/chrono: Simplify namespace and versioning management.
* include/bits/basic_string.h: Ditto.
* testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
* testsuite/20_util/duration/literals/values.cc: Ditto.
* testsuite/21_strings/basic_string/literals/types.cc: Ditto.
* testsuite/21_strings/basic_string/literals/values.cc: Ditto.
From-SVN: r199861
2013-06-08 22:43:18 +00:00
Ed Smith-Rowland
83ac9249c8
Implement N3654 - Quoted Strings Library Proposal
...
2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
Implement N3654 - Quoted Strings Library Proposal
* include/std/iomanip: Add quoted(String, Char delim, Char escape)
manipulators and supporting machinery in c++1y mode.
* testsuite/27_io/manipulators/standard/char/quoted.cc: New.
* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
From-SVN: r199860
2013-06-08 22:37:50 +00:00
Jonathan Wakely
7b91690215
alloc_traits.h (allocator_traits::max_size()): LWG 2162: Add noexcept.
...
* include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
2162: Add noexcept.
From-SVN: r199858
2013-06-08 18:31:40 +01:00
Jonathan Wakely
f7fbb0036a
stl_algo.h (is_permutation): Add overloads from N3671.
...
* include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
* include/bits/stl_algobase.h (equal, mismatch): Likewise.
* testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
* testsuite/25_algorithms/equal/2.cc: New.
* testsuite/25_algorithms/equal/check_type2.cc: New.
* testsuite/25_algorithms/is_permutationqual/2.cc: New.
* testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
* testsuite/25_algorithms/mismatch/2.cc: New.
* testsuite/25_algorithms/mismatch/check_type2.cc: New.
* testsuite/util/testsuite_iterators.h: Fix spelling.
From-SVN: r199854
2013-06-08 17:12:13 +01:00
Jonathan Wakely
db113eda6d
type-traits (integral_constant::operator()): Implement N3545.
...
* include/std/type-traits (integral_constant::operator()): Implement
N3545.
* testsuite/20_util/integral_constant/call_operator.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r199853
2013-06-08 17:12:07 +01:00
Uros Bizjak
cb8ac9d0b6
baseline_symbols.txt: Update.
...
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
From-SVN: r199796
2013-06-07 11:50:55 +02:00
Tom Tromey
0d471c50a3
* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
...
From-SVN: r199708
2013-06-05 18:58:12 +00:00
Paolo Carlini
2e6491515e
re PR c++/57419 (Access control doesn't stop referring to a deleted function)
...
/gcc/cp
2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57419
* decl2.c (mark_used): Add overload taking a tsubst_flags_t too.
* semantics.c (finish_qualified_id_expr): Use it.
* cp-tree.h: Update.
/gcc/testsuite
2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57419
* g++.dg/cpp0x/sfinae46.C: New.
* g++.dg/cpp0x/defaulted13.C: Adjust.
* g++.dg/cpp0x/defaulted2.C: Likewise.
* g++.dg/cpp0x/defaulted26.C: Likewise.
* g++.dg/cpp0x/defaulted3.C: Likewise.
* g++.dg/cpp0x/error1.C: Likewise.
* g++.dg/cpp0x/implicit1.C: Likewise.
* g++.dg/cpp0x/implicit11.C: Likewise.
* g++.dg/cpp0x/inh-ctor13.C: Likewise.
* g++.dg/cpp0x/initlist47.C: Likewise.
* g++.dg/cpp0x/initlist9.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-errloc.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-errloc2.C: Likewise.
* g++.dg/cpp0x/nsdmi-local.C: Likewise.
* g++.dg/cpp0x/union4.C: Likewise.
* g++.dg/template/crash108.C: Likewise.
* g++.dg/template/crash41.C: Likewise.
* g++.old-deja/g++.jason/local.C: Likewise.
* g++.old-deja/g++.law/visibility3.C: Likewise.
/libstdc++-v3
2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57419
* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
From-SVN: r199626
2013-06-03 20:39:50 +00:00