Martin Liska [Fri, 14 Oct 2016 12:08:27 +0000 (14:08 +0200)]
Fold __builtin_str{n}{case}cmp functions
* builtins.c (fold_builtin_strcmp): Remove function.
(fold_builtin_strncmp): Likewise.
(fold_builtin_2): Remove call of the function.
(fold_builtin_3): Likewise.
* fold-const-call.c (fold_const_call): Add constant folding
for CFN_BUILT_IN_STRCASECMP and CFN_BUILT_IN_STRNCASECMP.
* fold-const-call.h (build_cmp_result): Declare the function.
* gimple-fold.c (gimple_load_first_char): New function.
(gimple_fold_builtin_string_compare): Likewise.
(gimple_fold_builtin): Call the function.
From-SVN: r241159
Jonathan Wakely [Fri, 14 Oct 2016 12:03:47 +0000 (13:03 +0100)]
PR65122 extended alignment support in allocators
PR libstdc++/65122
* include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
aligned_alloc for types with extended alignment if available,
otherwise throw bad_alloc if malloc doesn't return a suitable value.
* include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
(bitmap_allocator::deallocate): Use aligned new/delete for types with
extended alignment.
* include/ext/mt_allocator.h (__mt_alloc::allocate)
(__mt_alloc::deallocate): Likewise.
* include/ext/new_allocator.h (new_allocator::allocate)
(new_allocator::deallocate): Likewise.
* include/ext/pool_allocator.h (__pool_alloc::allocate)
(__pool_alloc::deallocate): Likewise.
* testsuite/20_util/allocator/overaligned.cc: New test.
* testsuite/ext/bitmap_allocator/overaligned.cc: New test.
* testsuite/ext/malloc_allocator/overaligned.cc: New test.
* testsuite/ext/mt_allocator/overaligned.cc: New test.
* testsuite/ext/new_allocator/overaligned.cc: New test.
* testsuite/ext/pool_allocator/overaligned.cc: New test.
From-SVN: r241158
Uros Bizjak [Fri, 14 Oct 2016 11:24:41 +0000 (13:24 +0200)]
Fix gcc.dg/torture/pr77937-[12].c for real.
2016-10-14 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/torture/pr77937-1.c: Move -O3 to dg-options.
Pass -march=amdfam10 for both i?86-?-* and x86_64-*-*.
* gcc.dg/torture/pr77937-2.c: Likewise.
From-SVN: r241157
Markus Trippelsdorf [Fri, 14 Oct 2016 11:07:13 +0000 (11:07 +0000)]
Fix pr77937-1.c and pr77937-2.c testcases
From-SVN: r241156
Nathan Sidwell [Fri, 14 Oct 2016 10:51:58 +0000 (10:51 +0000)]
* gcov-io.c (gcov_open): Deconstify 'mode'.
From-SVN: r241155
Eric Botcazou [Fri, 14 Oct 2016 10:28:27 +0000 (10:28 +0000)]
re PR ada/77968 (ICEs with -flto on gnat.dg)
PR ada/77968
* gcc-interface/utils.c (create_var_decl): Do not clear TREE_READONLY
in LTO mode for an external variable.
(can_materialize_object_renaming_p): Move up.
From-SVN: r241154
Tim Shen [Fri, 14 Oct 2016 09:58:05 +0000 (09:58 +0000)]
re PR libstdc++/77944 (FAIL: 20_util/variant/compile.cc (test for excess errors))
PR libstdc++/77944
* include/std/variant: include <bits/funcexcept.h> for __try and __catch.
From-SVN: r241153
Martin Liska [Fri, 14 Oct 2016 09:54:32 +0000 (11:54 +0200)]
Support only \0-terminated string in c_getstr and return
* fold-const.c (c_getstr): Support of properly \0-terminated
string constants. New argument is added.
* fold-const.h: New argument is added.
From-SVN: r241152
Jonathan Wakely [Fri, 14 Oct 2016 09:12:49 +0000 (10:12 +0100)]
Simplify reference_wrapper nested typedefs
* include/std/functional (_Reference_wrapper_base_impl): Remove.
(_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
(_Reference_wrapper_base): Inherit from new helpers.
From-SVN: r241151
Andre Vehreschild [Fri, 14 Oct 2016 08:52:10 +0000 (10:52 +0200)]
coarray_38.f90: Expect error message.
gcc/testsuite/ChangeLog:
2016-10-14 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_38.f90: Expect error message.
gcc/fortran/ChangeLog:
2016-10-14 Andre Vehreschild <vehre@gcc.gnu.org>
* resolve.c (resolve_symbol): Add unimplemented message for
polymorphic types with allocatable/pointer components and coarray=lib.
From-SVN: r241150
Kyrylo Tkachov [Fri, 14 Oct 2016 08:40:04 +0000 (08:40 +0000)]
[AArch64] Add spellchecking hints for -march,-mcpu,-mtune and their attributes
* config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch):
New function.
(aarch64_print_hint_for_core): Likewise.
(aarch64_print_hint_for_arch): Likewise.
(aarch64_validate_march): Use it. Fix indentation in type signature.
(aarch64_validate_mcpu): Use aarch64_print_hint_for_core_or_arch.
(aarch64_validate_mtune): Likewise.
(aarch64_handle_attr_arch): Likewise.
(aarch64_handle_attr_cpu): Likewise.
(aarch64_handle_attr_tune): Likewise.
* gcc.target/aarch64/spellcheck_1.c: New test.
* gcc.target/aarch64/spellcheck_2.c: Likewise.
* gcc.target/aarch64/spellcheck_3.c: Likewise.
* gcc.target/aarch64/spellcheck_4.c: Likewise.
* gcc.target/aarch64/spellcheck_5.c: Likewise.
* gcc.target/aarch64/spellcheck_6.c: Likewise.
From-SVN: r241149
Eric Botcazou [Fri, 14 Oct 2016 06:14:15 +0000 (06:14 +0000)]
Fix long line
From-SVN: r241148
Prathamesh Kulkarni [Fri, 14 Oct 2016 05:57:33 +0000 (05:57 +0000)]
optabs.def: Remove optab function gen_int_libfunc for sdivmod_optab and udivmod_optab.
2016-10-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* optabs.def: Remove optab function gen_int_libfunc for sdivmod_optab and
udivmod_optab.
From-SVN: r241147
GCC Administrator [Fri, 14 Oct 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r241146
Martin Sebor [Thu, 13 Oct 2016 22:26:36 +0000 (16:26 -0600)]
PR c++/71912 - [6/7 regression] flexible array in struct in union rejected
gcc/cp/ChangeLog:
PR c++/71912
* class.c (struct flexmems_t): Add members.
(find_flexarrays): Add arguments. Correct handling of anonymous
structs.
(diagnose_flexarrays): Adjust to issue warnings in addition to errors.
(check_flexarrays): Add argument.
(diagnose_invalid_flexarray): New functions.
gcc/testsuite/ChangeLog:
PR c++/71912
* g++.dg/ext/flexary4.C: Adjust.
* g++.dg/ext/flexary5.C: Same.
* g++.dg/ext/flexary9.C: Same.
* g++.dg/ext/flexary19.C: New test.
* g++.dg/ext/flexary18.C: New test.
* g++.dg/torture/pr64312.C: Add a dg-error directive to an ill-formed
regression test.
* g++.dg/compat/struct-layout-1_generate.c (subfield): Add argument.
Avoid generating a flexible array member in an array.
From-SVN: r241143
Andreas Schwab [Thu, 13 Oct 2016 20:19:42 +0000 (20:19 +0000)]
m68k.c (m68k_option_override): Check opt_fstack_limit_symbol_arg and opt_fstack_limit_register_no instead of...
gcc/
* config/m68k/m68k.c (m68k_option_override): Check
opt_fstack_limit_symbol_arg and opt_fstack_limit_register_no
instead of stack_limit_rtx.
gcc/testsuite/
* gcc.target/m68k/stack-limit-1.c: Expect warning on line 0.
From-SVN: r241140
Bill Schmidt [Thu, 13 Oct 2016 19:50:41 +0000 (19:50 +0000)]
re PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength-reduction.c:3370)
2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/77937
* gcc.dg/torture/pr77937-1.c: New.
* gcc.dg/torture/pr77937-2.c: New.
From-SVN: r241139
Paolo Carlini [Thu, 13 Oct 2016 19:37:45 +0000 (19:37 +0000)]
container_access.cc: Remove 'test' variables.
2016-10-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/24_iterators/container_access.cc: Remove 'test' variables.
* testsuite/24_iterators/istream_iterator/2.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
* testsuite/24_iterators/operations/next.cc: Likewise.
* testsuite/24_iterators/operations/prev.cc: Likewise.
* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
* testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
* testsuite/24_iterators/range_access_cpp14.cc: Likewise.
* testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
* testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
* testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
* testsuite/25_algorithms/all_of/1.cc: Likewise.
* testsuite/25_algorithms/any_of/1.cc: Likewise.
* testsuite/25_algorithms/binary_search/2.cc: Likewise.
* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
* testsuite/25_algorithms/clamp/1.cc: Likewise.
* testsuite/25_algorithms/clamp/2.cc: Likewise.
* testsuite/25_algorithms/copy/1.cc: Likewise.
* testsuite/25_algorithms/copy/2.cc: Likewise.
* testsuite/25_algorithms/copy/3.cc: Likewise.
* testsuite/25_algorithms/copy/34595.cc: Likewise.
* testsuite/25_algorithms/copy/4.cc: Likewise.
* testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
Likewise.
* testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/2.cc: Likewise.
* testsuite/25_algorithms/copy_n/3.cc: Likewise.
* testsuite/25_algorithms/copy_n/4.cc: Likewise.
* testsuite/25_algorithms/copy_n/50119.cc: Likewise.
* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/equal_range/2.cc: Likewise.
* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
* testsuite/25_algorithms/fill/1.cc: Likewise.
* testsuite/25_algorithms/fill/2.cc: Likewise.
* testsuite/25_algorithms/fill/3.cc: Likewise.
* testsuite/25_algorithms/fill/4.cc: Likewise.
* testsuite/25_algorithms/fill_n/1.cc: Likewise.
* testsuite/25_algorithms/find/39546.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/find_if/1.cc: Likewise.
* testsuite/25_algorithms/find_if_not/1.cc: Likewise.
* testsuite/25_algorithms/for_each/1.cc: Likewise.
* testsuite/25_algorithms/heap/1.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
* testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
* testsuite/25_algorithms/includes/1.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
* testsuite/25_algorithms/is_heap/1.cc: Likewise.
* testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
* testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
* testsuite/25_algorithms/is_permutation/1.cc: Likewise.
* testsuite/25_algorithms/is_permutation/2.cc: Likewise.
* testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
* testsuite/25_algorithms/is_sorted/1.cc: Likewise.
* testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
* testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
* testsuite/25_algorithms/lower_bound/2.cc: Likewise.
* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
* testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/max/1.cc: Likewise.
* testsuite/25_algorithms/max/2.cc: Likewise.
* testsuite/25_algorithms/max/3.cc: Likewise.
* testsuite/25_algorithms/max/37547.cc: Likewise.
* testsuite/25_algorithms/max/4.cc: Likewise.
* testsuite/25_algorithms/min/1.cc: Likewise.
* testsuite/25_algorithms/min/2.cc: Likewise.
* testsuite/25_algorithms/min/3.cc: Likewise.
* testsuite/25_algorithms/min/37547.cc: Likewise.
* testsuite/25_algorithms/min/4.cc: Likewise.
* testsuite/25_algorithms/minmax/1.cc: Likewise.
* testsuite/25_algorithms/minmax/2.cc: Likewise.
* testsuite/25_algorithms/minmax/3.cc: Likewise.
* testsuite/25_algorithms/minmax/37547.cc: Likewise.
* testsuite/25_algorithms/minmax_element/1.cc: Likewise.
* testsuite/25_algorithms/move/1.cc: Likewise.
* testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
* testsuite/25_algorithms/none_of/1.cc: Likewise.
* testsuite/25_algorithms/nth_element/1.cc: Likewise.
* testsuite/25_algorithms/nth_element/2.cc: Likewise.
* testsuite/25_algorithms/nth_element/3.cc: Likewise.
* testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
* testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort/2.cc: Likewise.
* testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
Likewise.
* testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
* testsuite/25_algorithms/partition/1.cc: Likewise.
* testsuite/25_algorithms/partition/moveable.cc: Likewise.
* testsuite/25_algorithms/partition_copy/1.cc: Likewise.
* testsuite/25_algorithms/partition_point/1.cc: Likewise.
* testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
* testsuite/25_algorithms/rotate/1.cc: Likewise.
* testsuite/25_algorithms/rotate/moveable.cc: Likewise.
* testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
* testsuite/25_algorithms/rotate/rotate.cc: Likewise.
* testsuite/25_algorithms/search/1.cc: Likewise.
* testsuite/25_algorithms/search_n/58358.cc: Likewise.
* testsuite/25_algorithms/shuffle/1.cc: Likewise.
* testsuite/25_algorithms/sort/1.cc: Likewise.
* testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
* testsuite/25_algorithms/sort/moveable.cc: Likewise.
* testsuite/25_algorithms/sort/random_test.cc: Likewise.
* testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
* testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
* testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_sort/2.cc: Likewise.
* testsuite/25_algorithms/stable_sort/3.cc: Likewise.
* testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
* testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
Likewise.
* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
* testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
* testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
* testsuite/25_algorithms/unique/11480.cc: Likewise.
* testsuite/25_algorithms/unique/2.cc: Likewise.
* testsuite/25_algorithms/unique/moveable.cc: Likewise.
* testsuite/25_algorithms/unique_copy/1.cc: Likewise.
* testsuite/25_algorithms/unique_copy/2.cc: Likewise.
* testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
* testsuite/25_algorithms/upper_bound/2.cc: Likewise.
* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_01_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
anymatcher.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_questionmark.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_range.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_01_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
wstring_locale.cc: Likewise.
* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
Likewise.
* testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
Likewise.
* testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
Likewise.
* testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/extended/
string_range_01_02_03.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
* testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
* testsuite/28_regex/constants/error_type.cc: Likewise.
* testsuite/28_regex/constants/match_flag_type.cc: Likewise.
* testsuite/28_regex/init-list.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc
* testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
string_01.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
wstring_02.cc: Likewise.
* testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
* testsuite/28_regex/match_results/format.cc: Likewise.
* testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
* testsuite/28_regex/match_results/swap.cc: Likewise.
* testsuite/28_regex/match_results/typedefs.cc: Likewise.
* testsuite/28_regex/regex_error/regex_error.cc: Likewise.
* testsuite/28_regex/regression.cc: Likewise.
* testsuite/28_regex/sub_match/cast_char.cc: Likewise.
* testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
* testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
* testsuite/28_regex/sub_match/length.cc: Likewise.
* testsuite/28_regex/traits/char/ctor.cc: Likewise.
* testsuite/28_regex/traits/char/isctype.cc: Likewise.
* testsuite/28_regex/traits/char/length.cc: Likewise.
* testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
* testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
* testsuite/28_regex/traits/char/transform.cc: Likewise.
* testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
* testsuite/28_regex/traits/char/translate.cc: Likewise.
* testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
* testsuite/28_regex/traits/char/user_defined.cc: Likewise.
* testsuite/28_regex/traits/char/value.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
* testsuite/29_atomics/atomic/60658.cc: Likewise.
* testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
* testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
* testsuite/backward/11460.cc: Likewise.
* testsuite/backward/hash_map/1.cc: Likewise.
* testsuite/backward/hash_map/25896.cc: Likewise.
* testsuite/backward/hash_set/1.cc: Likewise.
* testsuite/backward/hash_set/25896.cc: Likewise.
* testsuite/decimal/binary-arith.cc: Likewise.
* testsuite/decimal/comparison.cc: Likewise.
* testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
* testsuite/decimal/compound-assignment.cc: Likewise.
* testsuite/decimal/conversion-from-float.cc: Likewise.
* testsuite/decimal/conversion-from-integral.cc: Likewise.
* testsuite/decimal/conversion-to-generic-float.cc: Likewise.
* testsuite/decimal/conversion-to-integral.cc: Likewise.
* testsuite/decimal/ctor.cc: Likewise.
* testsuite/decimal/incdec-memfunc.cc: Likewise.
* testsuite/decimal/incdec.cc: Likewise.
* testsuite/decimal/make-decimal.cc: Likewise.
* testsuite/decimal/pr54036-1.cc: Likewise.
* testsuite/decimal/pr54036-2.cc: Likewise.
* testsuite/decimal/pr54036-3.cc: Likewise.
* testsuite/decimal/unary-arith.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_value.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/02_assoc_legendre/check_value.cc:
Likewise.
* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
* testsuite/special_functions/03_beta/check_value.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
* testsuite/special_functions/14_expint/check_value.cc: Likewise.
* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
* testsuite/special_functions/15_hermite/check_value.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/17_legendre/check_value.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
* testsuite/tr2/bases/value.cc: Likewise.
* testsuite/tr2/direct_bases/value.cc: Likewise.
* testsuite/util/debug/checks.h: Likewise.
* testsuite/util/debug/unordered_checks.h: Likewise.
* testsuite/util/testsuite_allocator.h: Likewise.
* testsuite/util/testsuite_api.h: Likewise.
* testsuite/util/testsuite_common_types.h: Likewise.
* testsuite/util/testsuite_random.h: Likewise.
* testsuite/util/testsuite_rvalref.h: Likewise.
From-SVN: r241138
Jason Merrill [Thu, 13 Oct 2016 19:26:54 +0000 (15:26 -0400)]
Implement P0386R2 - C++17 inline variables
2016-10-11 Jakub Jelinek <jakub@redhat.com>
* dwarf2out.c (gen_member_die): Handle inline static data member
definitions.
c-family/
* c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
cp/
* cp-tree.h (struct lang_type): Shrink language field to 1 bit
from 4. Add var_declared_inline_p field. Mention 2 spare bits.
(DECL_VAR_DECLARED_INLINE_P): Define.
(SET_DECL_VAR_DECLARED_INLINE_P): Define.
(DECL_INLINE_VAR_P): Define.
(diagnose_inline_vars_for_namespace): Declare.
* decl.c (diagnose_inline_vars_for_namespace): New function.
(duplicate_decls): For static data members copy
DECL_DECLARED_CONSTEXPR_P.
(redeclaration_error_message): Handle C++17 redundant redeclaration
of constexpr static data member outside of class.
(maybe_commonize_var): Handle inline variables.
(check_initializer): Ignore inline variables for diagnostics.
Adjust diagnostic wording for C++17.
(make_rtl_for_nonlocal_decl): Allow in-class definition of
inline static data members.
(bad_specifiers): Don't diagnose inline on variables here.
(grokvardecl): Add inlinep argument, non-static const inline variables
are TREE_PUBLIC.
(check_static_variable_definition): Return early also for inline
variables.
(grokdeclarator): Handle inline variables and inline static data
members.
* typeck2.c (store_init_value): Don't diagnose non-constant
initializers for non-constexpr inline static data members.
* decl2.c (vague_linkage_p): Return true for inline variables.
(c_parse_final_cleanups): In-class declaration of inline static
data members is a definition. Call diagnose_inline_vars_for_namespace
through walk_namespaces.
* pt.c (instantiate_decl): Set pattern_defined for in-class definitions
of inline static data members.
From-SVN: r241137
Nathan Sidwell [Thu, 13 Oct 2016 18:36:31 +0000 (18:36 +0000)]
gcov-io.c (gcov_open): Fix documentation.
* gcov-io.c (gcov_open): Fix documentation. Simplify setting
gcov_var.mode. Remove unnecessary fstat.
From-SVN: r241136
Segher Boessenkool [Thu, 13 Oct 2016 18:25:15 +0000 (20:25 +0200)]
Create the *logue in the same order as before (PR77962)
PR77962 shows Go failing on 32-bit x86. This happens because the i386
port requires the split stack prologue to be created before the normal
prologue, and my previous patch changed it to be the other way around.
This patch changes it back. Things will be exactly as before for targets
that do not do shrink-wrapping for separate components. For targets
that *do* support it, all three prologue/epilogue creation functions
will now be called twice for functions that have anything wrapped
separately (instead of just the prologue created twice).
PR bootstrap/77962
* function.c (thread_prologue_and_epilogue_insns): Call all
make_*logue_seq in the same order as traditional. Call them
all a second time if shrink_wrapped-separate.
From-SVN: r241135
Marek Polacek [Thu, 13 Oct 2016 18:20:32 +0000 (18:20 +0000)]
Makefile.in (insn-attrtab.o-warn, [...]): Don't use -Wno-error.
* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Don't
use -Wno-error.
From-SVN: r241134
Sandra Loosemore [Thu, 13 Oct 2016 18:09:26 +0000 (14:09 -0400)]
Fix ChangeLog for r241132
From-SVN: r241133
Sandra Loosemore [Thu, 13 Oct 2016 17:55:00 +0000 (13:55 -0400)]
scd42-1.c: Skip if -mcpu incompatible with Xscale is specified, not just -march.
2016-10-13 Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* scd42-1.c: Skip if -mcpu incompatible with Xscale is specified,
not just -march.
* scd42-2.c: Fix existing logic to skip if -mcpu is incompatible
with Xscale.
From-SVN: r241132
Jonathan Wakely [Thu, 13 Oct 2016 16:59:19 +0000 (17:59 +0100)]
Avoid #include <functional> in other headers
* include/bits/shared_ptr_base.h: Include <functional>.
[!__cpp_rtti]: Do not include <typeinfo>.
* include/experimental/array: Do not include <functional>.
* include/experimental/memory: Include <bits/functional_hash.h>
instead of <functional>.
* include/experimental/propagate_const: Include <bits/stl_function.h>,
<bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
* include/experimental/tuple: Do not include <functional>.
* include/std/future: Include <functional>.
* include/std/memory: Do not include <functional>.
* include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
missing includes.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/20_util/specialized_algorithms/memory_management_tools/
1.cc: Likewise.
* testsuite/30_threads/call_once/60497.cc: Likewise.
* testsuite/30_threads/lock/2.cc: Likewise.
* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
* testsuite/experimental/algorithm/sample.cc: Likewise.
* testsuite/experimental/array/make_array.cc: Likewise.
* testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Adjust dg-error lines.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
From-SVN: r241131
Jonathan Wakely [Thu, 13 Oct 2016 16:42:53 +0000 (17:42 +0100)]
Add missing <random> header in testcase
* testsuite/experimental/algorithm/sample.cc: Add missing header.
From-SVN: r241130
Jonathan Wakely [Thu, 13 Oct 2016 16:41:10 +0000 (17:41 +0100)]
Qualify use of std::declval to avoid ADL
* include/experimental/propagate_const (element_type): Qualify
declval.
From-SVN: r241129
Jonathan Wakely [Thu, 13 Oct 2016 16:37:47 +0000 (17:37 +0100)]
Change test to use VERIFY not assert
* testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
instead of assert.
From-SVN: r241128
Ian Lance Taylor [Thu, 13 Oct 2016 16:21:28 +0000 (16:21 +0000)]
compiler: don't try to get backend representation of redefinition
Trying to get the backend representation of a redefined name can cause a
compiler crash as the compiler can walk over the same statements a
second time. It's also quite unlikely to produce any additional useful
error messages for the user.
Test case follows. I'm not going to bother adding this test case to the
testsuite--crash-on-invalid cases are worth fixing but not worth
continually retesting.
package p
type A []int
func (a A) Sum() (sum int) {
for _, v := range a {
sum += v
}
return sum
}
type A []int
func (a A) Sum() (sum int) {
for _, v := range a {
sum += v
}
return sum
}
Reviewed-on: https://go-review.googlesource.com/30976
From-SVN: r241127
Jonathan Wakely [Thu, 13 Oct 2016 15:50:35 +0000 (16:50 +0100)]
Use normal mode containers in searchers
* include/experiumental/functional (boyer_moore_searcher)
(__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
with _GLIBCXX_STD_C.
* include/std/functional: Likewise.
From-SVN: r241126
Bill Schmidt [Thu, 13 Oct 2016 15:34:22 +0000 (15:34 +0000)]
re PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength-reduction.c:3370)
2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/77937
* gimple-ssa-strength-reduction.c (analyze_increments): Set cost
to infinite when we have a pointer with an increment of -1.
From-SVN: r241125
Ian Lance Taylor [Thu, 13 Oct 2016 15:24:50 +0000 (15:24 +0000)]
runtime: copy mstats code from Go 1.7 runtime
This replaces mem.go and the C runtime_ReadMemStats function with the Go
1.7 mstats.go.
The GCStats code is commented out for now. The corresponding gccgo code
is in runtime/mgc0.c.
The variables memstats and worldsema are shared between the Go code and
the C code, but are not exported. To make this work, add temporary
accessor functions acquireWorldsema, releaseWorldsema, getMstats (the
latter known as mstats in the C code).
Check the preemptoff field of m when allocating and when considering
whether to start a GC. This works with the new stopTheWorld and
startTheWorld functions in Go, which are essentially the Go 1.7
versions.
Change the compiler to stack allocate closures when compiling the
runtime package. Within the runtime packages closures do not escape.
This is similar to what the gc compiler does, except that the gc
compiler, when compiling the runtime package, gives an error if escape
analysis shows that a closure does escape. I added this here because
the Go version of ReadMemStats calls systemstack with a closure, and
having that allocate memory was causing some tests that measure memory
allocations to fail.
Reviewed-on: https://go-review.googlesource.com/30972
From-SVN: r241124
Martin Sebor [Thu, 13 Oct 2016 14:58:20 +0000 (14:58 +0000)]
builtin-sprintf-warn-1.c: Cast 0 to wint_t to placate -Wformat on targets where the type is not int.
gcc/testsuite/Changelog:
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Cast 0 to wint_t
to placate -Wformat on targets where the type is not int.
From-SVN: r241123
Jonathan Wakely [Thu, 13 Oct 2016 14:42:09 +0000 (15:42 +0100)]
Replace non-constexpr decrement in std::chrono::floor
* include/std/chrono (floor): Replace non-constexpr operation.
* testsuite/20_util/duration_cast/rounding.cc: Test conversion to
durations with floating pointer representations.
From-SVN: r241122
Thomas Preud'homme [Thu, 13 Oct 2016 14:17:52 +0000 (14:17 +0000)]
Move MEMMODEL_* from coretypes.h to memmodel.h
2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* coretypes.h: Move MEMMODEL_* macros and enum memmodel definition
into ...
* memmodel.h: This file.
* alias.c, asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
caller-save.c, calls.c, ccmp.c, cfgbuild.c, cfgcleanup.c,
cfgexpand.c, cfgloopanal.c, cfgrtl.c, cilk-common.c, combine.c,
combine-stack-adj.c, common/config/aarch64/aarch64-common.c,
common/config/arm/arm-common.c, common/config/bfin/bfin-common.c,
common/config/c6x/c6x-common.c, common/config/i386/i386-common.c,
common/config/ia64/ia64-common.c, common/config/nvptx/nvptx-common.c,
compare-elim.c, config/aarch64/aarch64-builtins.c,
config/aarch64/aarch64-c.c, config/aarch64/cortex-a57-fma-steering.c,
config/arc/arc.c, config/arc/arc-c.c, config/arm/arm-builtins.c,
config/arm/arm-c.c, config/avr/avr.c, config/avr/avr-c.c,
config/avr/avr-log.c, config/bfin/bfin.c, config/c6x/c6x.c,
config/cr16/cr16.c, config/cris/cris.c, config/darwin-c.c,
config/darwin.c, config/epiphany/epiphany.c,
config/epiphany/mode-switch-use.c,
config/epiphany/resolve-sw-modes.c, config/fr30/fr30.c,
config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
config/i386/i386-c.c, config/i386/winnt.c, config/iq2000/iq2000.c,
config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
config/m68k/m68k.c, config/mcore/mcore.c,
config/microblaze/microblaze.c, config/mmix/mmix.c,
config/mn10300/mn10300.c, config/moxie/moxie.c,
config/msp430/msp430.c, config/nds32/nds32-cost.c,
config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c,
config/nds32/nds32-memory-manipulation.c,
config/nds32/nds32-predicates.c, config/nds32/nds32.c,
config/nios2/nios2.c, config/nvptx/nvptx.c, config/pa/pa.c,
config/pdp11/pdp11.c, config/rl78/rl78.c, config/rs6000/rs6000-c.c,
config/rx/rx.c, config/s390/s390-c.c, config/s390/s390.c,
config/sh/sh.c, config/sh/sh-c.c, config/sh/sh-mem.cc,
config/sh/sh_treg_combine.cc, config/sol2.c, config/spu/spu.c,
config/stormy16/stormy16.c, config/tilegx/tilegx.c,
config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
config/visium/visium.c, config/vms/vms-c.c, config/xtensa/xtensa.c,
coverage.c, cppbuiltin.c, cprop.c, cse.c, cselib.c, dbxout.c, dce.c,
df-core.c, df-problems.c, df-scan.c, dojump.c, dse.c, dwarf2asm.c,
dwarf2cfi.c, dwarf2out.c, emit-rtl.c, except.c, explow.c, expmed.c,
expr.c, final.c, fold-const.c, function.c, fwprop.c, gcse.c,
ggc-page.c, haifa-sched.c, hsa-brig.c, hsa-gen.c, hw-doloop.c,
ifcvt.c, init-regs.c, internal-fn.c, ira-build.c, ira-color.c,
ira-conflicts.c, ira-costs.c, ira-emit.c, ira-lives.c, ira.c, jump.c,
loop-doloop.c, loop-invariant.c, loop-iv.c, loop-unroll.c,
lower-subreg.c, lra.c, lra-assigns.c, lra-coalesce.c,
lra-constraints.c, lra-eliminations.c, lra-lives.c, lra-remat.c,
lra-spills.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
postreload-gcse.c, postreload.c, predict.c, print-rtl-function.c,
recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
reload.c, reload1.c, reorg.c, resource.c, rtl-chkp.c, rtl-tests.c,
rtlanal.c, rtlhooks.c, sched-deps.c, sched-rgn.c, sdbout.c,
sel-sched-ir.c, sel-sched.c, shrink-wrap.c, simplify-rtx.c,
stack-ptr-mod.c, stmt.c, stor-layout.c, target-globals.c,
targhooks.c, toplev.c, tree-nested.c, tree-outof-ssa.c,
tree-profile.c, tree-ssa-coalesce.c, tree-ssa-ifcombine.c,
tree-ssa-loop-ivopts.c, tree-ssa-loop.c, tree-ssa-reassoc.c,
tree-ssa-sccvn.c, tree-vect-data-refs.c, ubsan.c, valtrack.c,
var-tracking.c, varasm.c: Include memmodel.h.
* genattrtab.c (write_header): Include memmodel.h in generated file.
* genautomata.c (main): Likewise.
* gengtype.c (open_base_files): Likewise.
* genopinit.c (main): Likewise.
* genconditions.c (write_header): Include memmodel.h earlier in
generated file.
* genemit.c (main): Likewise.
* genoutput.c (output_prologue): Likewise.
* genpeep.c (main): Likewise.
* genpreds.c (write_insn_preds_c): Likewise.
* genrecog.c (write_header): Likewise.
* Makefile.in (PLUGIN_HEADERS): Include memmodel.h
gcc/ada/
* gcc-interface/utils2.c: Include memmodel.h.
gcc/c-family/
* c-cppbuiltin.c: Include memmodel.h.
* c-opts.c: Likewise.
* c-pragma.c: Likewise.
* c-warn.c: Likewise.
gcc/c/
* c-typeck.c: Include memmodel.h.
gcc/cp/
* decl2.c: Include memmodel.h.
* rtti.c: Likewise.
gcc/fortran/
* trans-intrinsic.c: Include memmodel.h.
gcc/go/
* go-backend.c: Include memmodel.h.
libgcc/
* libgcov-profiler.c: Replace MEMMODEL_* macros by their __ATOMIC_*
equivalent.
* config/tilepro/atomic.c: Likewise and stop casting model to
enum memmodel.
From-SVN: r241121
David Malcolm [Thu, 13 Oct 2016 13:17:59 +0000 (13:17 +0000)]
Add a "compact" mode to print_rtx_function
gcc/ChangeLog:
* function-tests.c (selftest::test_expansion_to_rtl): Add "true"
for new "compact" param of print_rtx_function. Check for "cinsn"
rather than "insn".
* print-rtl-function.c (flag_compact): New decl.
(print_rtx_function): Add param "compact" and use it to set
flag_compact, adding a description of the effect to the leading
comment, and updating the example output.
* print-rtl.c (flag_compact): New variable.
(print_rtx_operand_code_0): Omit the JUMP_LABEL reference in compact
mode.
(print_rtx_operand_code_i): When printing source locations, wrap
xloc.file in quotes. Don't print INSN_CODEs in compact mode.
(print_rtx_operand_code_r): Don't print regnos for hard regs and
virtuals in compact mode.
(print_rtx_operand_code_u): Don't print insn UIDs in compact mode,
apart from in LABEL_REFs.
(print_rtx_operand): In case 'w', don't print in hex in compact mode.
Don't print basic block ids in compact mode.
(print_rtx): In compact mode, prefix the code of insns with "c",
only print the INSN_UID of CODE_LABELs, and omit their LABEL_NUSES.
* print-rtl.h (print_rtx_function): Add "compact" param.
gcc/testsuite/ChangeLog:
* gcc.target/i386/vararg-loc.c: Update for quoting of xloc.file
in INSN_LOCATION.
From-SVN: r241120
Richard Earnshaw [Thu, 13 Oct 2016 13:06:47 +0000 (13:06 +0000)]
Fix typo in name.
From-SVN: r241119
Richard Earnshaw [Thu, 13 Oct 2016 13:04:51 +0000 (13:04 +0000)]
[ARM] Remove redundant TARGET_VFP
* arm.h (TARGET_VFP): Delete.
(TARGET_VFPD32): Remove references to TARGET_VFP.
(TARGET_VFP3, TARGET_VFP5): Likewise.
(TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Likewise.
(TARGET_NEON_FP16): Likewise.
(TARGET_FMA): Likewise.
(TARGET_CRYPTO): Likewise.
(TARGET_NEON): Likewise.
(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
(FUNCTION_ARG_REGNO_P): Likewise.
* arm.c (arm_option_check_internal): Likewise.
(arm_option_override): Likewise.
(use_return_insn): Likewise.
(arm_function_value_regno_p): Likewise.
(arm_apply_result_size): Likewise.
(use_vfp_abi): Likewise.
(arm_legitimate_address_outer_p): Likewise.
(thumb2_legitimate_address_p): Likewise.
(arm_legitimate_index_p): Likewise.
(thumb2_legitimate_index_p): Likewise.
(arm_legitimate_address): Likewise.
(arm_get_vfp_saved_size): Likewise.
(arm_emit_vfp_multi_reg_pop): Likewise.
(arm_get_frame_offsets): Likewise.
(arm_save_coproc_regs): Likewise.
(arm_hard_regno_mode_ok): Likewise.
(arm_expand_epilogue_apcs_frame): Likewise.
(arm_expand_epilogue): Likewise.
(arm_file_start): Likewise.
(arm_conditional_register_usage): Likewise.
(arm_validize_comparison): Use vfp_compare_operand directly.
* arm-builtins.c (arm_init_builtins): Remove references to TARGET_VFP.
(arm_expand_vfp_builtin): Use TARGET_HARD_FLOAT for detecting
unsupported usage.
(arm_atomic_assign_expand_fenv): Likewise.
* arm.md (divsf3): Likewise.
(arm_negsi2): Likewise.
(absdf2): Likewise.
(arm_movdi): Likewise.
(arm_movt): Likewise.
(cbranchsf4): Change predicate to vfp_compare_operand.
(cbranchdf4): Change predicate to vfp_compare_operand.
(cstorehf4): Change predicate to vfp_compare_operand.
(cstoresf4): Change predicate to vfp_compare_operand.
(cstoredf4): Change predicate to vfp_compare_operand.
(vfp_pop_multiple_with_writeback): Remove references to TARGET_VFP.
(movhi_insn_arch4, movhi_bytes): Likewise.
* constraints.md (Dt): Likewise.
(Dp): Likewise.
* iterators.md (SDF): Likewise.
* predicates.md (arm_float_compare_operand): Delete.
(const_double_vcvt_power_of_two_reciprocal): Remove references to
TARGET_VFP.
(const_double_vcvt_power_of_two): Likewise.
* thumb2.md thumb2_movsi_insn): Likewise.
* vfp.md (arm_movhi_vfp, thumb2_movhi_vfp): Likewise.
(movhf_vfp): Likewise.
(arm_movsi_vfp, thumb2_movsi_vfp): Likewise.
(movdi_vfp, movdi_vfp_cortexa8): Likewise.
(movsf_vfp, thumb2_movsf_vfp): Likewise.
(movdf_vfp, thumb2_movdf_vfp): Likewise.
(movsfcc_vfp, abssf2_vfp, negsf2_vfp, addsf3_vfp): Likewise.
(subsf3_vfp, divsf3_vfp): Likewise.
(mulsf3_vfp, mulsf3negsf_vfp, negmulsf3_vfp): Likewise.
(mulsf3addsf_vfp, (mulsf3subsf_vfp, mulsf3negsfaddsf_vfp): Likewise.
(mulsf3negsfsubsf_vfp): Likewise.
(truncsisf2_vfp, fixuns_truncsfsi2, floatsisf2_vfp): Likewise.
(floatunssisf2, sqrtsf2_vfp): Likewise.
(movcc_vfp): Likewise.
(cmpsf_split_vfp, cmpsf_trap_split_vfp): Likewise.
(cmpsf_vfp, cmpsf_trap_vfp): Likewise.
(push_multi_vfp): Likewise.
(set_fpscr, get_fpscr): Likewise.
* arm-c.c (arm_cpu_builtins): Unconditionally define __VFP_FP__.
From-SVN: r241118
Arnaud Charlet [Thu, 13 Oct 2016 13:00:54 +0000 (15:00 +0200)]
[multiple changes]
2016-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function):
Remove the aspects of the original expression function has been
rewritten into a subprogram declaration or a body. Reinsert the
aspects once they have been analyzed.
2016-10-13 Tristan Gingold <gingold@adacore.com>
* exp_ch9.adb (Expand_N_Asynchronous_Select): Return immediately
on restricted profile.
2016-10-13 Javier Miranda <miranda@adacore.com>
* sem_prag.adb
(Process_Compile_Time_Warning_Or_Error): Register the pragma
for its validation after the backend has been called only if its
expression has some occurrence of attributes 'size or 'alignment
* table.ads (Release_Threshold): New formal.
(Release): Adding documentation of its new functionality.
* table.adb (Release): Extend its functionality with a
Release_Threshold.
* nlists.adb (Next_Node table): Set its Release_Threshold.
* atree.adb (Orig_Nodes table): Set its Release_Threshold.
* atree.ads (Nodes table): Set its Release_Threshold.
(Flags table): Set its Release_Threshold.
* alloc.ads (Nodes_Release_Threshold): New constant declaration.
(Orig_Nodes_Release_Threshold): New constant declaration.
* debug.adb (switch d.9): Left free.
* gnat1drv.adb (Post_Compilation_Validation_Checks): Enable
validation of pragmas Compile_Time_Error and Compile_Time_Warning.
From-SVN: r241117
Richard Earnshaw [Thu, 13 Oct 2016 12:59:19 +0000 (12:59 +0000)]
[ARM] Remove redundant model field from FPU descriptions
* arm.h (TARGET_VFP): Unconditionally define to 1.
(arm_fpu_desc): Remove 'model' field.
(TARGET_FPU_MODEL): Delete.
* arm.c (all_fpus): Don't initialize the model field.
(arm_can_inline_p): Don't check the FPU model.
* arm-fpus.def: Remove redundant model field from all FPU
descriptions.
From-SVN: r241116
Arnaud Charlet [Thu, 13 Oct 2016 12:58:24 +0000 (14:58 +0200)]
[multiple changes]
2016-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb (Create_Extra_Formals): Generate
an Itype reference for the object extra formal in case the
subprogram is called within the same or nested scope.
2016-10-13 Claire Dross <dross@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification):
Also create a renaming in GNATprove mode.
2016-10-13 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Fixed_Point_Type): in SPARK mode, the
given bounds of the type must be strictly representable, and the
range reduction by one delta ("shaving") allowed by the Ada RM,
is not applicable in SPARK.
2016-10-13 Javier Miranda <miranda@adacore.com>
* debug.adb (switch d.9): Used to temporarily disable the support
needed for this enhancement since it causes regressions with
large sources.
* gnat1drv.adb (Post_Compilation_Validation_Checks): Temporarily
leave the validation of pragmas Compile_Time_Warning and
Compile_Time_Error under control of -gnatd.9/
From-SVN: r241115
Ed Falis [Thu, 13 Oct 2016 12:57:16 +0000 (12:57 +0000)]
* i-vxinco.adb, i-vxinco.ads: New files.
From-SVN: r241114
Arnaud Charlet [Thu, 13 Oct 2016 12:55:07 +0000 (14:55 +0200)]
Code cleanup.
From-SVN: r241113
Arnaud Charlet [Thu, 13 Oct 2016 12:54:42 +0000 (14:54 +0200)]
[multiple changes]
2016-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch10.adb (Entity_Needs_Body): A generic
subprogram renaming needs a body if the renamed unit is declared
outside the current compilation unit.
2016-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* sinfo.ads, sem_ch12.adb, sem.adb, expander.adb, sem_res.ads,
sem_ch4.adb, sem_ch8.adb, s-memory.adb: Minor reformatting.
2016-10-13 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: Delete all temporary files when invoked as gnat
list -V -P ...
2016-10-13 Ed Falis <falis@adacore.com>
* impunit.adb: add i-vxinco.ads.
* s-interr-vxworks.adb: add hook for user interrupt connection routine.
From-SVN: r241112
Jonathan Wakely [Thu, 13 Oct 2016 12:39:19 +0000 (13:39 +0100)]
Restore __bind_simple for compat symbols
* src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
(_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
From-SVN: r241111
Ed Falis [Thu, 13 Oct 2016 12:38:21 +0000 (12:38 +0000)]
s-interr-hwint.adb, [...]: Rename s-interr-hwint.adb to s-interr-vxworks.adb.
2016-10-13 Ed Falis <falis@adacore.com>
* s-interr-hwint.adb, s-interr-vxworks.adb: Rename s-interr-hwint.adb
to s-interr-vxworks.adb.
From-SVN: r241110
Gary Dismukes [Thu, 13 Oct 2016 12:24:21 +0000 (12:24 +0000)]
exp_ch7.adb, [...]: Minor typo fixes and reformatting.
2016-10-13 Gary Dismukes <dismukes@adacore.com>
* exp_ch7.adb, einfo.ads, sem_prag.adb, sem_prag.ads, sem.ads,
sem_attr.adb, sem_case.adb, sem_ch13.ads: Minor typo fixes and
reformatting.
From-SVN: r241109
Richard Biener [Thu, 13 Oct 2016 12:15:38 +0000 (12:15 +0000)]
re PR target/77826 (ICE in decompose, at wide-int.h:928 w/ -m64 -O2 and above)
2016-10-13 Richard Biener <rguenther@suse.de>
PR middle-end/77826
* genmatch.c (struct capture): Add value_match member.
(commutate): Preserve value_match.
(lower_opt_convert): Likewise.
(lower_cond): Likewise.
(replace_id): Likewise.
(struct dt_operand): Add value_match member.
(decision_tree::cmp_node): Compare it.
(decision_tree::insert_operand): Honor it when finding and
when appending a DT_MATCH.
(dt_operand::gen_match_op): Generate a type check after
operand_equal_p if ! value_match for both GENERIC and GIMPLE.
(parser::get_internal_capture_id): New helper.
(parser::finish_match_operand): New function lowering @@<id>.
(parser::parse_capture): Parse @@<id> as value-match.
(parser::parse_expr): Use get_internal_capture_id.
(parser::parse_simplify): Call finish_match_operand.
(walk_captures): New helper.
* match.pd (X - (X / Y) * Y -> X % Y): Use value-matching instead
of operand_equal_p.
((X /[ex] A) * A -> X): Likewise.
((X | Y) ^ X -> Y & ~ X): Handle constants properly by using
convert[12] and value-matching.
((A | B) & (A | C) -> A | (B & C)): Likewise.
((X | Y) | Y -> X | Y): Likewise.
((X ^ Y) ^ Y -> X): Likewise.
(A - (A & B) -> ~B & A): Likewise.
((T)(P + A) - (T)P -> (T) A): Likewise.
((T)P - (T)(P + A) -> -(T) A): Likewise.
((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Likewise.
* doc/match-and-simplify.texi: Amend capture section.
From-SVN: r241108
Javier Miranda [Thu, 13 Oct 2016 12:12:18 +0000 (12:12 +0000)]
sem_prag.ads (Process_Compile_Time_Warning_Or_Error): New overloaded subprogram that factorizes code executed as part of the regular...
2016-10-13 Javier Miranda <miranda@adacore.com>
* sem_prag.ads (Process_Compile_Time_Warning_Or_Error): New
overloaded subprogram that factorizes code executed as part
of the regular processing of these pragmas and as part of its
validation after invoking the backend.
* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): New
subprogram.
(Process_Compile_Time_Warning_Or_Error): If the
condition is known at compile time then invoke the new overloaded
subprogram; otherwise register the pragma in a table to validate
it after invoking the backend.
* sem.ads, sem.adb (Unlock): New subprogram.
* sem_attr.adb (Analyze_Attribute [Size]): If we are processing
pragmas Compile_Time_Warning and Compile_Time_Errors after the
backend has been called then evaluate this attribute if 'Size
is known at compile time.
* gnat1drv.adb (Post_Compilation_Validation_Checks): Validate
compile time warnings and errors.
* sem_ch13.ads, sem_ch13.adb (Validate_Compile_Time_Warning_Error):
New subprogram.
(Validate_Compile_Time_Warning_Errors): New subprogram.
From-SVN: r241107
Arnaud Charlet [Thu, 13 Oct 2016 12:10:46 +0000 (14:10 +0200)]
[multiple changes]
2016-10-13 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt to
optional refinement for abstract states with only partial refinement
visible.
2016-10-13 Justin Squirek <squirek@adacore.com>
* sem_ch13.adb: Minor correction in comment in
Analyze_Aspect_Specifications
* sem_prag.adb: Minor reformatting.
2016-10-13 Thomas Quinot <quinot@adacore.com>
* s-stratt-xdr.adb: Disable compiler unit warnings.
2016-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Visible_Component): In an instance body, check
whether the component may be hidden in a selected component by
a homonym that is a primitive operation of the type of the prefix.
From-SVN: r241106
Claudiu Zissulescu [Thu, 13 Oct 2016 11:48:02 +0000 (13:48 +0200)]
[ARC] Fix mul32x16 patterns.
gcc/
2016-10-13 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.md (umul_600): Change.
(umul64_600): Likewise.
From-SVN: r241105
Claudiu Zissulescu [Thu, 13 Oct 2016 11:47:51 +0000 (13:47 +0200)]
[ARC] Update INSN_LENGTH_ALIGNMENT.
gcc/
2016-10-13 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.h (INSN_LENGTH_ALIGNMENT): Change.
From-SVN: r241104
Bin Cheng [Thu, 13 Oct 2016 11:09:23 +0000 (11:09 +0000)]
tree-vect-loop.c (loop_niters_no_overflow): New func.
* tree-vect-loop.c (loop_niters_no_overflow): New func.
(vect_transform_loop): Call loop_niters_no_overflow. Pass the
no-overflow information to vect_do_peeling_for_loop_bound and
vect_gen_vector_loop_niters.
From-SVN: r241102
Bin Cheng [Thu, 13 Oct 2016 11:07:36 +0000 (11:07 +0000)]
l_fma_float_1.c: Revise test.
gcc/testsuite
* gcc.target/i386/l_fma_float_1.c: Revise test.
* gcc.target/i386/l_fma_float_2.c: Ditto.
* gcc.target/i386/l_fma_float_3.c: Ditto.
* gcc.target/i386/l_fma_float_4.c: Ditto.
* gcc.target/i386/l_fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_float_6.c: Ditto.
* gcc.target/i386/l_fma_double_1.c: Ditto.
* gcc.target/i386/l_fma_double_2.c: Ditto.
* gcc.target/i386/l_fma_double_3.c: Ditto.
* gcc.target/i386/l_fma_double_4.c: Ditto.
* gcc.target/i386/l_fma_double_5.c: Ditto.
* gcc.target/i386/l_fma_double_6.c: Ditto.
From-SVN: r241101
Bin Cheng [Thu, 13 Oct 2016 11:05:53 +0000 (11:05 +0000)]
tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only iterates 1 time.
* tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only
iterates 1 time.
gcc/testsuite
* gfortran.dg/vect/fast-math-mgrid-resid.f: New test string.
From-SVN: r241100
Bin Cheng [Thu, 13 Oct 2016 11:03:31 +0000 (11:03 +0000)]
tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release adjust_vec automatically.
* tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release
adjust_vec automatically.
(slpeel_add_loop_guard): Remove param cond_expr_stmt_list. Rename
param exit_bb to guard_to.
(slpeel_checking_verify_cfg_after_peeling):
(set_prologue_iterations):
(create_lcssa_for_virtual_phi): New func which is factored out from
slpeel_tree_peel_loop_to_edge.
(slpeel_tree_peel_loop_to_edge):
(iv_phi_p): New func.
(vect_can_advance_ivs_p): Call iv_phi_p.
(vect_update_ivs_after_vectorizer): Call iv_phi_p. Directly insert
new gimple stmts in basic block.
(vect_do_peeling_for_loop_bound):
(vect_do_peeling_for_alignment):
(vect_gen_niters_for_prolog_loop): Rename to...
(vect_gen_prolog_loop_niters): ...Rename from. Change parameters and
adjust implementation.
(vect_update_inits_of_drs): Fix code style issue. Convert niters to
sizetype if necessary.
(vect_build_loop_niters): Move to here from tree-vect-loop.c. Change
it to external function.
(vect_gen_scalar_loop_niters, vect_gen_vector_loop_niters): New.
(vect_gen_vector_loop_niters_mult_vf): New.
(slpeel_update_phi_nodes_for_loops): New.
(slpeel_update_phi_nodes_for_guard1): Reimplement.
(find_guard_arg, slpeel_update_phi_nodes_for_guard2): Reimplement.
(slpeel_update_phi_nodes_for_lcssa, vect_do_peeling): New.
* tree-vect-loop.c (vect_build_loop_niters): Move to file
tree-vect-loop-manip.c
(vect_generate_tmps_on_preheader): Delete.
(vect_transform_loop): Rename vectorization_factor to vf. Call
vect_do_peeling instead of vect_do_peeling-* functions.
* tree-vectorizer.h (vect_do_peeling): New decl.
(vect_build_loop_niters, vect_gen_vector_loop_niters): New decls.
(vect_do_peeling_for_loop_bound): Delete.
(vect_do_peeling_for_alignment): Delete.
From-SVN: r241099
Bin Cheng [Thu, 13 Oct 2016 11:00:13 +0000 (11:00 +0000)]
tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Put duplicated loop after its preheader and after the original loop.
* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Put
duplicated loop after its preheader and after the original loop.
From-SVN: r241098
Bin Cheng [Thu, 13 Oct 2016 10:58:26 +0000 (10:58 +0000)]
tree-vect-loop.c (vect_analyze_loop_2): Check and skip loop if it has no enough iterations for LOOP_VINFO_PEELING_FOR_GAPS.
* tree-vect-loop.c (vect_analyze_loop_2): Check and skip loop if it
has no enough iterations for LOOP_VINFO_PEELING_FOR_GAPS.
gcc/testsuite
* gcc.dg/vect/vect-98.c: Refine test case.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Increase niters.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
From-SVN: r241097
Bin Cheng [Thu, 13 Oct 2016 10:54:24 +0000 (10:54 +0000)]
tree-vect-loop.c (vectorizable_live_operation): Support handling for live variable outside loop but not in lcssa form.
* tree-vect-loop.c (vectorizable_live_operation): Support handling
for live variable outside loop but not in lcssa form.
From-SVN: r241096
Bin Cheng [Thu, 13 Oct 2016 10:52:00 +0000 (10:52 +0000)]
cfg.c (reset_original_copy_tables): New func.
* cfg.c (reset_original_copy_tables): New func.
* cfg.h (reset_original_copy_tables): New decl.
From-SVN: r241095
Jakub Jelinek [Thu, 13 Oct 2016 10:42:36 +0000 (12:42 +0200)]
re PR c/77946 (-Wimplicit-fallthrough=1 ICE: tree check: expected tree that contains ‘decl with visibility’ structure, have ‘label_decl’)
PR c/77946
* tree.h (FALLTHROUGH_LABEL_P): Use private_flag instead of
public_flag.
* varasm.c (default_binds_local_p_3): Formatting fix.
* c-c++-common/Wimplicit-fallthrough-34.c: New test.
From-SVN: r241094
Jonathan Wakely [Thu, 13 Oct 2016 10:37:13 +0000 (11:37 +0100)]
Replace __bind_simple with std::thread::__make_invoker
* include/std/functional (_Bind_simple, _Bind_simple_helper)
(__bind_simple): Remove.
* include/std/future: Include <bits/invoke.h> instead of <functional>.
(__future_base::_Task_state::_M_run)
(__future_base::_Task_state::_M_run_delayed): Use lambda expressions
instead of __bind_simple.
(__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
(async): Use thread::__make_invoker instead of __bind_simple.
* include/std/thread: Include <tuple> and <bits/invoke.h> instead of
<functional>.
(thread::_Invoker, thread::__make_invoker): Define helpers to do
INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
From-SVN: r241093
Bin Cheng [Thu, 13 Oct 2016 10:22:57 +0000 (10:22 +0000)]
tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Fix code style issue.
* tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Fix code
style issue.
(vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment):
Remove useless code.
From-SVN: r241092
Jonathan Wakely [Thu, 13 Oct 2016 10:19:24 +0000 (11:19 +0100)]
Fix exception-specifications for std::_Not_fn
* include/std/functional (_Not_fn): Make exception specifications
depend on whether negating the result can throw.
* testsuite/20_util/not_fn/1.cc: Move to ...
* testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
for types that can throw when negated and that cannot be negated.
From-SVN: r241091
Martin Liska [Thu, 13 Oct 2016 10:06:35 +0000 (12:06 +0200)]
Do not merge BBs with a different EH landing pads (PR
PR tree-optimization/77943
* g++.dg/tree-ssa/pr77943.C: New test.
PR tree-optimization/77943
* tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with
a different EH landing pads.
From-SVN: r241090
Jonathan Wakely [Thu, 13 Oct 2016 08:55:40 +0000 (09:55 +0100)]
Fix exception-specification of std::invoke
* include/bits/invoke.h (__invoke): Fix exception-specification.
* include/std/functional (invoke): Likewise.
* testsuite/20_util/function_objects/invoke/1.cc: New test.
From-SVN: r241089
Andre Vehreschild [Thu, 13 Oct 2016 08:51:21 +0000 (10:51 +0200)]
re PR fortran/72832 ([OOP] ALLOCATE with SOURCE fails to allocate requested dimensions)
gcc/fortran/ChangeLog:
2016-09-01 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/72832
* trans-expr.c (gfc_copy_class_to_class): Add generation of
runtime array bounds check.
* trans-intrinsic.c (gfc_conv_intrinsic_size): Add a crutch to
get the descriptor of a function returning a class object.
* trans-stmt.c (gfc_trans_allocate): Use the array spec on the
array to allocate instead of the array spec from source=.
gcc/testsuite/ChangeLog:
2016-09-01 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/72832
* gfortran.dg/allocate_with_source_22.f03: New test.
* gfortran.dg/allocate_with_source_23.f03: New test. Expected to
fail.
From-SVN: r241088
Jakub Jelinek [Thu, 13 Oct 2016 08:29:03 +0000 (10:29 +0200)]
re PR target/77957 (Undefined .LCTOC0 with -fstack-protector-strong -mminimal-toc -O0 on ppc64)
PR target/77957
* hooks.h (hook_tree_void_null): Declare.
* hooks.c (hook_tree_void_null): New function.
* langhooks.c (lhd_return_null_tree_v): Remove.
* langhooks-def.h (lhd_return_null_tree_v): Remove.
* cfgexpand.c (stack_protect_prologue): If guard_decl is NULL,
set y to const0_rtx.
* function.c (stack_protect_epilogue): Likewise.
* config/tilepro/tilepro.c (TARGET_STACK_PROTECT_GUARD): Redefine
if TARGET_THREAD_SSP_OFFSET is defined.
* config/s390/s390.c (TARGET_STACK_PROTECT_GUARD): Likewise.
* config/sparc/sparc.c (TARGET_STACK_PROTECT_GUARD): Likewise.
* config/tilegx/tilegx.c (TARGET_STACK_PROTECT_GUARD): Likewise.
* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Likewise.
* config/i386/i386.c (TARGET_STACK_PROTECT_GUARD): Likewise.
(ix86_stack_protect_guard): New function.
c/
* c-objc-common.h (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
instead of lhd_return_null_tree_v.
ada/
* gcc-interface/misc.c (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
instead of lhd_return_null_tree_v.
From-SVN: r241087
Thomas Preud'homme [Thu, 13 Oct 2016 07:25:43 +0000 (07:25 +0000)]
movhi_movw.c: Enable test for ARM mode.
2016-10-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
* gcc.target/arm/movhi_movw.c: Enable test for ARM mode.
* gcc.target/arm/movsi_movw.c: Likewise.
* gcc.target/arm/movdi_movw.c: Likewise and adapt scan-assembler
directive to work on big endian targets.
From-SVN: r241086
Richard Biener [Thu, 13 Oct 2016 07:16:37 +0000 (07:16 +0000)]
dwarf2out.c (tree_add_const_value_attribute): Do not try rtl_for_decl_init during early phase.
2016-10-13 Richard Biener <rguenther@suse.de>
* dwarf2out.c (tree_add_const_value_attribute): Do not try
rtl_for_decl_init during early phase.
(gen_variable_die): Do not create locations during early phase.
(gen_label_die): Likewise.
(decls_for_scope): Do not waste time handling BLOCK_NONLOCALIZED_VARs
twice.
From-SVN: r241085
Ian Lance Taylor [Thu, 13 Oct 2016 04:19:57 +0000 (04:19 +0000)]
syscall: don't use pt_regs in clone_linux.c
It's unnecessary and it reportedly breaks the build on arm64 GNU/Linux.
Reviewed-on: https://go-review.googlesource.com/30978
From-SVN: r241084
Kugan Vivekanandarajah [Thu, 13 Oct 2016 01:26:28 +0000 (01:26 +0000)]
EVRP - Push op1 value range before pushing op0 value range.
gcc/ChangeLog:
2016-10-12 Richard Biener <rguenther@suse.de>
* tree-vrp.c (evrp_dom_walker::try_find_new_range): Renamed from
try_add_new_range and made to eturn new range.
(evrp_dom_walker::before_dom_children): Push op1 value range before
pushing op0 value range.
gcc/testsuite/ChangeLog:
2016-10-12 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/tree-ssa/evrp6.c: New test.
From-SVN: r241083
Bill Schmidt [Thu, 13 Oct 2016 01:08:20 +0000 (01:08 +0000)]
re PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength-reduction.c:3370)
2016-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/77937
* gimple-ssa-strength-reduction.c (analyze_increments): Use
POINTER_TYPE_P on the candidate type to determine whether
candidates in this chain require pointer arithmetic.
From-SVN: r241082
GCC Administrator [Thu, 13 Oct 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r241081
Eric Botcazou [Wed, 12 Oct 2016 21:04:26 +0000 (21:04 +0000)]
visium.c (visium_gimplify_va_arg): Emit a big-endian correction if the type is smaller than a word.
* config/visium/visium.c (visium_gimplify_va_arg): Emit a big-endian
correction if the type is smaller than a word.
(visium_select_cc_mode): Add ... fall through ... comment.
From-SVN: r241076
Ian Lance Taylor [Wed, 12 Oct 2016 18:17:52 +0000 (18:17 +0000)]
compiler, runtime: copy string code from Go 1.7
Add compiler support for turning concatenating strings into a call to
a runtime function that takes the appropriate number of arguments.
Rename some local variables in mgc0.c to avoid macros that the new
rune.go causes to appear in runtime.inc.
Reviewed-on: https://go-review.googlesource.com/30827
From-SVN: r241074
Jason Merrill [Wed, 12 Oct 2016 18:04:51 +0000 (14:04 -0400)]
PR c++/77742 - -Waligned-new and placement new.
* init.c (build_new_1): Don't -Waligned-new about placement new.
(malloc_alignment): New. Consider MALLOC_ABI_ALIGNMENT.
* decl.c (cxx_init_decl_processing): New.
From-SVN: r241073
Ian Lance Taylor [Wed, 12 Oct 2016 17:42:49 +0000 (17:42 +0000)]
syscall: mark rawClone as no_split_stack
Reviewed-on: https://go-review.googlesource.com/30955
From-SVN: r241072
Andre Vehreschild [Wed, 12 Oct 2016 16:39:01 +0000 (18:39 +0200)]
trans-expr.c (gfc_find_and_cut_at_last_class_ref): Fixed style.
gcc/fortran/ChangeLog:
2016-10-12 Andre Vehreschild <vehre@gcc.gnu.org>
* trans-expr.c (gfc_find_and_cut_at_last_class_ref): Fixed style.
(gfc_trans_class_init_assign): Same.
(gfc_conv_procedure_call): Same.
(gfc_trans_assignment_1): Same.
* trans-stmt.c (gfc_trans_allocate): Same.
From-SVN: r241071
Paolo Carlini [Wed, 12 Oct 2016 16:14:17 +0000 (16:14 +0000)]
testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort.
2016-10-12 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
__builtin_printf and __builtin_abort.
* testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
* scripts/testsuite_flags.in: Likewise.
* testsuite/22_locale/time_get/get/char/1.cc: Likewise.
* testsuite/22_locale/time_get/get/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
Likewise.
* testsuite/27_io/objects/char/7.cc: Likewise.
* testsuite/27_io/objects/char/9661-1.cc: Likewise.
* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
* testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
* testsuite/18_support/bad_alloc/what.cc: Likewise.
* testsuite/18_support/bad_cast/what.cc: Likewise.
* testsuite/18_support/bad_exception/what.cc: Likewise.
* testsuite/18_support/bad_typeid/what.cc: Likewise.
* testsuite/18_support/exception/38732.cc: Likewise.
* testsuite/18_support/exception/what.cc: Likewise.
* testsuite/18_support/exception_ptr/64241.cc: Likewise.
* testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
* testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
* testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
* testsuite/18_support/nested_exception/cons.cc: Likewise.
* testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
* testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
* testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
* testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
* testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
* testsuite/18_support/numeric_limits/digits10.cc: Likewise.
* testsuite/18_support/numeric_limits/dr559.cc: Likewise.
* testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
* testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
* testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
* testsuite/18_support/numeric_limits/min_max.cc: Likewise.
* testsuite/18_support/numeric_limits/specialization_default_values.cc:
Likewise.
* testsuite/18_support/type_info/hash_code.cc: Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
* testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
* testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_category/operators/
not_equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
* testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_condition/operators/equal.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
* testsuite/20_util/addressof/1.cc: Likewise.
* testsuite/20_util/align/1.cc: Likewise.
* testsuite/20_util/align/2.cc: Likewise.
* testsuite/20_util/allocator/1.cc: Likewise.
* testsuite/20_util/allocator/10378.cc: Likewise.
* testsuite/20_util/allocator/8230.cc: Likewise.
* testsuite/20_util/allocator_traits/members/allocate_hint.cc:
Likewise.
* testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
* testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
* testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
* testsuite/20_util/any/assign/exception.cc: Likewise.
* testsuite/20_util/auto_ptr/1.cc: Likewise.
* testsuite/20_util/auto_ptr/2.cc: Likewise.
* testsuite/20_util/auto_ptr/3.cc: Likewise.
* testsuite/20_util/auto_ptr/4.cc: Likewise.
* testsuite/20_util/auto_ptr/5.cc: Likewise.
* testsuite/20_util/auto_ptr/6.cc: Likewise.
* testsuite/20_util/auto_ptr/7.cc: Likewise.
* testsuite/20_util/bind/all_bound.cc: Likewise.
* testsuite/20_util/bind/conv_result.cc: Likewise.
* testsuite/20_util/bind/cv_quals.cc: Likewise.
* testsuite/20_util/bind/cv_quals_2.cc
* testsuite/20_util/bind/nested.cc: Likewise.
* testsuite/20_util/bind/placeholders.cc: Likewise.
* testsuite/20_util/bind/ref.cc: Likewise.
* testsuite/20_util/bind/ref2.cc: Likewise.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/duration/arithmetic/1.cc: Likewise.
* testsuite/20_util/duration/arithmetic/2.cc: Likewise.
* testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
* testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
* testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
* testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
* testsuite/20_util/duration/cons/1.cc: Likewise.
* testsuite/20_util/duration/cons/2.cc: Likewise.
* testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
* testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/enable_shared_from_this/members/assign.cc:
Likewise.
* testsuite/20_util/exchange/1.cc: Likewise.
* testsuite/20_util/forward/a.cc: Likewise.
* testsuite/20_util/forward/b.cc: Likewise.
* testsuite/20_util/forward/d.cc: Likewise.
* testsuite/20_util/function/1.cc: Likewise.
* testsuite/20_util/function/2.cc: Likewise.
* testsuite/20_util/function/3.cc: Likewise.
* testsuite/20_util/function/4.cc: Likewise.
* testsuite/20_util/function/43397.cc: Likewise.
* testsuite/20_util/function/5.cc: Likewise.
* testsuite/20_util/function/6.cc: Likewise.
* testsuite/20_util/function/7.cc: Likewise.
* testsuite/20_util/function/8.cc: Likewise.
* testsuite/20_util/function/9.cc: Likewise.
* testsuite/20_util/function/assign/move.cc: Likewise.
* testsuite/20_util/function/cons/move.cc: Likewise.
* testsuite/20_util/function_objects/dr660.cc: Likewise.
* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
* testsuite/20_util/hash/operators/size_t.cc: Likewise.
* testsuite/20_util/hash/quality.cc: Likewise.
* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
* testsuite/20_util/is_function/24808.cc: Likewise.
* testsuite/20_util/is_object/24808.cc: Likewise.
* testsuite/20_util/move_if_noexcept/1.cc: Likewise.
* testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
* testsuite/20_util/owner_less/cmp.cc: Likewise.
* testsuite/20_util/pair/1.cc: Likewise.
* testsuite/20_util/pair/2.cc: Likewise.
* testsuite/20_util/pair/3.cc: Likewise.
* testsuite/20_util/pair/4.cc: Likewise.
* testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
* testsuite/20_util/pair/moveable.cc: Likewise.
* testsuite/20_util/pair/piecewise.cc: Likewise.
* testsuite/20_util/pair/swap.cc: Likewise.
* testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
* testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
* testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
* testsuite/20_util/ratio/cons/cons1.cc: Likewise.
* testsuite/20_util/ratio/operations/45866.cc: Likewise.
* testsuite/20_util/ratio/operations/47913.cc: Likewise.
* testsuite/20_util/ratio/operations/ops1.cc: Likewise.
* testsuite/20_util/ratio/operations/ops2.cc: Likewise.
* testsuite/20_util/ratio/operations/ops3.cc: Likewise.
* testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
* testsuite/20_util/scoped_allocator/1.cc: Likewise.
* testsuite/20_util/scoped_allocator/2.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
* testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
move_iterators/1.cc: Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
move_iterators/1.cc: Likewise.
* testsuite/20_util/temporary_buffer.cc: Likewise.
* testsuite/20_util/time_point/1.cc: Likewise.
* testsuite/20_util/time_point/2.cc: Likewise.
* testsuite/20_util/time_point/3.cc: Likewise.
* testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
* testsuite/20_util/tuple/48476.cc: Likewise.
* testsuite/20_util/tuple/comparison_operators/comparisons.cc:
Likewise.
* testsuite/20_util/tuple/cons/allocators.cc: Likewise.
* testsuite/20_util/tuple/cons/assignment.cc: Likewise.
* testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
* testsuite/20_util/tuple/cons/constructor.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
Likewise.
* testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
* testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
* testsuite/20_util/tuple/element_access/get.cc: Likewise.
* testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
* testsuite/20_util/tuple/moveable.cc: Likewise.
* testsuite/20_util/tuple/swap.cc: Likewise.
* testsuite/20_util/tuple/tuple_size.cc: Likewise.
* testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
* testsuite/20_util/typeindex/hash.cc: Likewise.
* testsuite/20_util/typeindex/hash_code.cc: Likewise.
* testsuite/20_util/typeindex/name.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
* testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
* testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/
comparisons.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/
comparisons_array.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
Likewise.
* testsuite/20_util/uses_allocator/construction.cc: Likewise.
* testsuite/20_util/uses_allocator/value.cc: Likewise.
* testsuite/20_util/variant/run.cc: Likewise.
* testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
Likewise.
* testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
Likewise.
* testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
* testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
* testsuite/21_strings/basic_string/element_access/char/58163.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/char/empty.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/char/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/
front_back.cc: Likewise.
* testsuite/21_strings/basic_string/init-list.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/
28277.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/pod/
10081-in.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/pod/
10081-out.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
10.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
11.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
28277.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/
move_assign.cc: Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
move_assign.cc: Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/
stoull.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/
to_string.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
dr1261.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stod.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stof.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoi.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stol.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stold.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoll.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoul.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoull.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
to_wstring.cc: Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/
13650.cc: Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/data/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/substr/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/substr/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
* testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/
empty.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/
front_back.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/
empty.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/
front_back.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/
13650.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
13650.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/
2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/
3.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/
2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/
3.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
3.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/string_conversion/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/char/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operators/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/c_strings/char/1.cc: Likewise.
* testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/char/57704.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
* doc/xml/manual/test.xml: Fix typo.
From-SVN: r241070
Paolo Carlini [Wed, 12 Oct 2016 16:13:06 +0000 (16:13 +0000)]
testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort.
2016-10-12 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
__builtin_printf and __builtin_abort.
* testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
* scripts/testsuite_flags.in: Likewise.
* testsuite/22_locale/time_get/get/char/1.cc: Likewise.
* testsuite/22_locale/time_get/get/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
Likewise.
* testsuite/27_io/objects/char/7.cc: Likewise.
* testsuite/27_io/objects/char/9661-1.cc: Likewise.
* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
* testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
* testsuite/18_support/bad_alloc/what.cc: Likewise.
* testsuite/18_support/bad_cast/what.cc: Likewise.
* testsuite/18_support/bad_exception/what.cc: Likewise.
* testsuite/18_support/bad_typeid/what.cc: Likewise.
* testsuite/18_support/exception/38732.cc: Likewise.
* testsuite/18_support/exception/what.cc: Likewise.
* testsuite/18_support/exception_ptr/64241.cc: Likewise.
* testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
* testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
* testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
* testsuite/18_support/nested_exception/cons.cc: Likewise.
* testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
* testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
* testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
* testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
* testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
* testsuite/18_support/numeric_limits/digits10.cc: Likewise.
* testsuite/18_support/numeric_limits/dr559.cc: Likewise.
* testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
* testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
* testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
* testsuite/18_support/numeric_limits/min_max.cc: Likewise.
* testsuite/18_support/numeric_limits/specialization_default_values.cc:
Likewise.
* testsuite/18_support/type_info/hash_code.cc: Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
* testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
* testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_category/operators/
not_equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
* testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_condition/operators/equal.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
* testsuite/20_util/addressof/1.cc: Likewise.
* testsuite/20_util/align/1.cc: Likewise.
* testsuite/20_util/align/2.cc: Likewise.
* testsuite/20_util/allocator/1.cc: Likewise.
* testsuite/20_util/allocator/10378.cc: Likewise.
* testsuite/20_util/allocator/8230.cc: Likewise.
* testsuite/20_util/allocator_traits/members/allocate_hint.cc:
Likewise.
* testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
* testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
* testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
* testsuite/20_util/any/assign/exception.cc: Likewise.
* testsuite/20_util/auto_ptr/1.cc: Likewise.
* testsuite/20_util/auto_ptr/2.cc: Likewise.
* testsuite/20_util/auto_ptr/3.cc: Likewise.
* testsuite/20_util/auto_ptr/4.cc: Likewise.
* testsuite/20_util/auto_ptr/5.cc: Likewise.
* testsuite/20_util/auto_ptr/6.cc: Likewise.
* testsuite/20_util/auto_ptr/7.cc: Likewise.
* testsuite/20_util/bind/all_bound.cc: Likewise.
* testsuite/20_util/bind/conv_result.cc: Likewise.
* testsuite/20_util/bind/cv_quals.cc: Likewise.
* testsuite/20_util/bind/cv_quals_2.cc
* testsuite/20_util/bind/nested.cc: Likewise.
* testsuite/20_util/bind/placeholders.cc: Likewise.
* testsuite/20_util/bind/ref.cc: Likewise.
* testsuite/20_util/bind/ref2.cc: Likewise.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/duration/arithmetic/1.cc: Likewise.
* testsuite/20_util/duration/arithmetic/2.cc: Likewise.
* testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
* testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
* testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
* testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
* testsuite/20_util/duration/cons/1.cc: Likewise.
* testsuite/20_util/duration/cons/2.cc: Likewise.
* testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
* testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/enable_shared_from_this/members/assign.cc:
Likewise.
* testsuite/20_util/exchange/1.cc: Likewise.
* testsuite/20_util/forward/a.cc: Likewise.
* testsuite/20_util/forward/b.cc: Likewise.
* testsuite/20_util/forward/d.cc: Likewise.
* testsuite/20_util/function/1.cc: Likewise.
* testsuite/20_util/function/2.cc: Likewise.
* testsuite/20_util/function/3.cc: Likewise.
* testsuite/20_util/function/4.cc: Likewise.
* testsuite/20_util/function/43397.cc: Likewise.
* testsuite/20_util/function/5.cc: Likewise.
* testsuite/20_util/function/6.cc: Likewise.
* testsuite/20_util/function/7.cc: Likewise.
* testsuite/20_util/function/8.cc: Likewise.
* testsuite/20_util/function/9.cc: Likewise.
* testsuite/20_util/function/assign/move.cc: Likewise.
* testsuite/20_util/function/cons/move.cc: Likewise.
* testsuite/20_util/function_objects/dr660.cc: Likewise.
* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
* testsuite/20_util/hash/operators/size_t.cc: Likewise.
* testsuite/20_util/hash/quality.cc: Likewise.
* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
* testsuite/20_util/is_function/24808.cc: Likewise.
* testsuite/20_util/is_object/24808.cc: Likewise.
* testsuite/20_util/move_if_noexcept/1.cc: Likewise.
* testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
* testsuite/20_util/owner_less/cmp.cc: Likewise.
* testsuite/20_util/pair/1.cc: Likewise.
* testsuite/20_util/pair/2.cc: Likewise.
* testsuite/20_util/pair/3.cc: Likewise.
* testsuite/20_util/pair/4.cc: Likewise.
* testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
* testsuite/20_util/pair/moveable.cc: Likewise.
* testsuite/20_util/pair/piecewise.cc: Likewise.
* testsuite/20_util/pair/swap.cc: Likewise.
* testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
* testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
* testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
* testsuite/20_util/ratio/cons/cons1.cc: Likewise.
* testsuite/20_util/ratio/operations/45866.cc: Likewise.
* testsuite/20_util/ratio/operations/47913.cc: Likewise.
* testsuite/20_util/ratio/operations/ops1.cc: Likewise.
* testsuite/20_util/ratio/operations/ops2.cc: Likewise.
* testsuite/20_util/ratio/operations/ops3.cc: Likewise.
* testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
* testsuite/20_util/scoped_allocator/1.cc: Likewise.
* testsuite/20_util/scoped_allocator/2.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
* testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
move_iterators/1.cc: Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
move_iterators/1.cc: Likewise.
* testsuite/20_util/temporary_buffer.cc: Likewise.
* testsuite/20_util/time_point/1.cc: Likewise.
* testsuite/20_util/time_point/2.cc: Likewise.
* testsuite/20_util/time_point/3.cc: Likewise.
* testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
* testsuite/20_util/tuple/48476.cc: Likewise.
* testsuite/20_util/tuple/comparison_operators/comparisons.cc:
Likewise.
* testsuite/20_util/tuple/cons/allocators.cc: Likewise.
* testsuite/20_util/tuple/cons/assignment.cc: Likewise.
* testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
* testsuite/20_util/tuple/cons/constructor.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
Likewise.
* testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
* testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
* testsuite/20_util/tuple/element_access/get.cc: Likewise.
* testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
* testsuite/20_util/tuple/moveable.cc: Likewise.
* testsuite/20_util/tuple/swap.cc: Likewise.
* testsuite/20_util/tuple/tuple_size.cc: Likewise.
* testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
* testsuite/20_util/typeindex/hash.cc: Likewise.
* testsuite/20_util/typeindex/hash_code.cc: Likewise.
* testsuite/20_util/typeindex/name.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
* testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
* testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/
comparisons.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/
comparisons_array.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
Likewise.
* testsuite/20_util/uses_allocator/construction.cc: Likewise.
* testsuite/20_util/uses_allocator/value.cc: Likewise.
* testsuite/20_util/variant/run.cc: Likewise.
* testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
Likewise.
* testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
Likewise.
* testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
* testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
* testsuite/21_strings/basic_string/element_access/char/58163.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/char/empty.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/char/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
Likewise.
* testsuite/21_strings/basic_string/element_access/wchar_t/
front_back.cc: Likewise.
* testsuite/21_strings/basic_string/init-list.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/
28277.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/pod/
10081-in.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/pod/
10081-out.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
10.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
11.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
28277.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/
move_assign.cc: Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
move_assign.cc: Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/
stoull.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/
to_string.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
dr1261.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stod.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stof.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoi.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stol.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stold.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoll.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoul.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoull.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
to_wstring.cc: Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/
13650.cc: Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/data/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/substr/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/substr/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
* testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
* testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/
empty.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/
front_back.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/
empty.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/
front_back.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/
13650.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
13650.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/
2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/
3.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/
2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/
3.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
3.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/string_conversion/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/char/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operators/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/c_strings/char/1.cc: Likewise.
* testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/char/57704.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
* doc/xml/manual/test.xml: Fix typo.
From-SVN: r241069
Ian Lance Taylor [Wed, 12 Oct 2016 15:38:56 +0000 (15:38 +0000)]
runtime: copy Go 1.7 runtime semaphore code
This triggered a check in releaseSudog that g.param not nil, because
libgo uses the param field when starting a goroutine. Fixed by clearing
g->param in kickoff in proc.c.
Reviewed-on: https://go-review.googlesource.com/30951
From-SVN: r241067
Segher Boessenkool [Wed, 12 Oct 2016 15:37:20 +0000 (17:37 +0200)]
shrink-wrap: Testcases for separate shrink-wrapping
A few testcases for separate shrink-wrapping: test whether it works in a
trivial case; whether it creates more than one prologue where that is
useful; whether it puts prologues inside a loop if that is cheaper.
gcc/testsuite/
* gcc.target/powerpc/shrink-wrap-separate-0.c: New testcase.
* gcc.target/powerpc/shrink-wrap-separate-1.c: New testcase.
* gcc.target/powerpc/shrink-wrap-separate-2.c: New testcase.
From-SVN: r241066
Segher Boessenkool [Wed, 12 Oct 2016 15:34:39 +0000 (17:34 +0200)]
rs6000: Separate shrink-wrapping
This implements the hooks for separate shrink-wrapping for rs6000.
It handles GPRs and LR. The GPRs get a component number corresponding
to their register number; LR gets component number 0.
* config/rs6000/rs6000.c (machine_function): Add new fields
gpr_is_wrapped_separately and lr_is_wrapped_separately.
(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
(rs6000_get_separate_components): New function.
(rs6000_components_for_bb): New function.
(rs6000_disqualify_components): New function.
(rs6000_emit_prologue_components): New function.
(rs6000_emit_epilogue_components): New function.
(rs6000_set_handled_components): New function.
(rs6000_emit_prologue): Don't emit LR save if lr_is_wrapped_separately.
Don't emit GPR saves if gpr_is_wrapped_separately for that register.
(restore_saved_lr): Don't restore LR if lr_is_wrapped_separately.
(rs6000_emit_epilogue): Don't emit GPR restores if
gpr_is_wrapped_separately for that register. Don't make a
REG_CFA_RESTORE note for registers we did not restore, either.
From-SVN: r241065
Arnaud Charlet [Wed, 12 Oct 2016 15:34:33 +0000 (17:34 +0200)]
Minor reformatting.
From-SVN: r241064
Segher Boessenkool [Wed, 12 Oct 2016 15:32:23 +0000 (17:32 +0200)]
shrink-wrap: Shrink-wrapping for separate components
This is the main substance of this patch series.
Instead of doing all of the prologue and epilogue in one spot, it often
is better to do components of it at different places, so that they are
executed less frequently.
What exactly is a component is completely up to the target; this code
treats it all abstractly, and uses hooks for the target to handle the
more concrete things. Commonly there is one component for each callee-
saved register, for example.
Components can be executed more than once per function execution. This
pass makes sure that a component's epilogue is not called more often
than the corresponding prologue has been, at any point in time; that the
prologue is called more often, wherever the prologue's effect is needed;
and that the epilogue is called as often as the prologue has been, when
the function exits. It does this by first deciding which blocks need
which components active, and then placing prologue and epilogue
components to make that exactly true.
Deciding what blocks should run with a certain component active so that
the total cost of executing the prologues (and epilogues) is optimal, is
not a computationally feasible problem. Instead, for each basic block,
we estimate the cost of putting a prologue right before the block, and
if that is cheaper than the total cost of putting prologues optimally
(according to the estimated cost) in the dominator subtrees strictly
dominated by this first block, place it at the first block instead.
This simple procedure places the components optimally for any dominator
sub tree where the root node's cost does not depend on anything outside
its subtree.
The cost is the execution frequency of all edges into the block coming
from blocks that do not have this component active. The estimated cost
is the execution frequency of the block, minus the execution frequency
of any backedges (which by definition are coming from subtrees, so if
the "head" block gets a prologue, the source block of any backedge has
that component active as well).
Currently, the epilogues are placed as late as possible, given the
constraints. This does not matter for execution cost, but we could
save a little bit of code size by placing the epilogues in a smarter
way. This is a possible future optimisation.
Now all that is left is inserting prologues and epilogues on all edges
that jump into resp. out of the "active" set of blocks. Often we need
to insert some components' prologues (or epilogues) on all edges into
(or out of) a block. In theory cross-jumping can unify all such, but
in practice that often fails; besides, that is a lot of work. So in
this case we insert the prologue and epilogue components at the "head"
or "tail" of a block, instead.
As a final optimisation, if a block needs a prologue and its immediate
dominator has the block as a post-dominator, that immediate dominator
gets the prologue as well.
* function.c (thread_prologue_and_epilogue_insns): Call
try_shrink_wrapping_separate. Compute the prologue_seq afterwards,
if it has possibly changed. Compute the split_prologue_seq and
epilogue_seq later, too.
* shrink-wrap.c: #include cfgbuild.h and insn-config.h.
(dump_components): New function.
(struct sw): New struct.
(SW): New function.
(init_separate_shrink_wrap): New function.
(fini_separate_shrink_wrap): New function.
(place_prologue_for_one_component): New function.
(spread_components): New function.
(disqualify_problematic_components): New function.
(emit_common_heads_for_components): New function.
(emit_common_tails_for_components): New function.
(insert_prologue_epilogue_for_components): New function.
(try_shrink_wrapping_separate): New function.
* shrink-wrap.h: Declare try_shrink_wrapping_separate.
From-SVN: r241063
Jonathan Wakely [Wed, 12 Oct 2016 15:26:48 +0000 (16:26 +0100)]
Define std::sample for C++17
* doc/xml/manual/status_cxx2017.xml: Add std::sample status.
* doc/html/*: Regenerate.
* include/experimental/algorithm (__sample): Move to bits/stl_algo.h
and into namespace std.
* include/bits/stl_algo.h (__sample): Define here. Fix invalid use
of input iterator. Defend against overloaded comma operator.
(sample): Define for C++17.
* testsuite/25_algorithms/sample/1.cc: New test.
From-SVN: r241062
Segher Boessenkool [Wed, 12 Oct 2016 15:23:11 +0000 (17:23 +0200)]
regrename: Don't rename restores
A restore is supposed to restore some certain register. Restoring it
into some other register will not work. Don't.
* regrename.c (build_def_use): Invalidate chains that have a
REG_CFA_RESTORE on some instruction.
From-SVN: r241061
Segher Boessenkool [Wed, 12 Oct 2016 15:21:38 +0000 (17:21 +0200)]
dce: Don't dead-code delete separately wrapped restores
If there is a separately wrapped register restore on some path that
is dead (say, control goes into an endless loop after it), then we
cannot delete that restore because that would confuse the DWARF CFI
(if there is another path joining).
This happens with gcc.dg/torture/pr53168.c, for example.
* dce.c (delete_unmarked_insns): Don't delete instructions with
a REG_CFA_RESTORE note.
From-SVN: r241060
Segher Boessenkool [Wed, 12 Oct 2016 15:19:46 +0000 (17:19 +0200)]
separate shrink-wrap: New command-line flag, status flag, hooks, and doc
This patch adds a new command-line flag "-fshrink-wrap-separate", a status
flag "shrink_wrapped_separate", hooks for abstracting the target components,
and documentation for all those.
* common.opt (-fshrink-wrap-separate): New flag.
* doc/invoke.texi: Document it.
* doc/tm.texi.in (Shrink-wrapping separate components): New subsection.
* doc/tm.texi: Regenerate.
* emit-rtl.h (struct rtl_data): New field shrink_wrapped_separate.
* target.def (shrink_wrap): New hook vector.
(get_separate_components, components_for_bb, disqualify_components,
emit_prologue_components, emit_epilogue_components,
set_handled_components): New hooks.
From-SVN: r241059
Segher Boessenkool [Wed, 12 Oct 2016 15:09:26 +0000 (17:09 +0200)]
rs6000: Warn for "GCC vector passed by reference" only with -Wpsabi
* config/rs6000/rs6000.c (rs6000_return_in_memory): Warn for
vector return by reference only if -Wpsabi.
(rs6000_pass_by_reference): Similarly, for argument passing.
From-SVN: r241058
David Malcolm [Wed, 12 Oct 2016 14:59:56 +0000 (14:59 +0000)]
print_rtx_function: integrate dumping of the CFG into the insn chain
gcc/ChangeLog:
* function-tests.c: Include "print-rtl.h".
(selftest::test_expansion_to_rtl): Call print_rtx_function on the
function, and verify what is dumped.
* print-rtl-function.c (print_edge): New function.
(begin_any_block): New function.
(end_any_block): New function.
(can_have_basic_block_p): New function.
(print_rtx_function): Track the basic blocks of insns in the
chain, wrapping those that are within blocks within "(block)"
directives. Remove the "(cfg)" directive.
From-SVN: r241057
Segher Boessenkool [Wed, 12 Oct 2016 14:56:44 +0000 (16:56 +0200)]
rs6000: Use "dg-warning ... 0" in a few places
GCC used to give warnings for line # 1 for these, but it prints no
line number anymore. Adjust.
gcc/testsuite/
* gcc.target/powerpc/warn-1.c: Change line number in dg-warning.
* gcc.target/powerpc/warn-2.c: Ditto.
From-SVN: r241056
David Malcolm [Wed, 12 Oct 2016 14:55:47 +0000 (14:55 +0000)]
Add selftest::read_file
gcc/ChangeLog:
* selftest.c (selftest::read_file): New function.
(selftest::test_read_file): New function.
(selftest::selftest_c_tests): Call test_read_file.
* selftest.h (selftest::read_file): New decl.
From-SVN: r241055
Robert Suchanek [Wed, 12 Oct 2016 14:52:41 +0000 (14:52 +0000)]
[MIPS] Add MSA tests
gcc/testsuite/ChangeLog:
* gcc.dg/vect/slp-26.c: Check if vectorized for MIPS MSA.
* gcc.dg/vect/tree-vect.h (check_vect): Check for MIPS SIMD support.
* gcc.target/mips/mips.exp: Add support for -mmsa. Imply -mno-mips16
for -mmsa.
* gcc.target/mips/msa.c: New test.
* gcc.target/mips/msa-builtins.c: Likewise.
* lib/target-supports.exp (check_mips_msa_hw_available): New.
(check_effective_target_mips_msa_runtime): Likewise.
(check_effective_target_mips_msa): Likewise.
(add_options_for_mips_msa): Likewise.
(check_effective_target_vect_int): Return TRUE for MIPS MSA.
(check_effective_target_vect_intfloat_cvt): Likewise.
(check_effective_target_vect_uintfloat_cvt): Likewise.
(check_effective_target_vect_floatint_cvt): Likewise.
(check_effective_target_vect_floatuint_cvt): Likewise.
(check_effective_target_vect_shift): ewise.
(check_effective_target_vect_shift_char): Likewise.
(check_effective_target_vect_long): Likewise.
(check_effective_target_vect_float): Likewise.
(check_effective_target_vect_double): Likewise.
(check_effective_target_vect_long_long): Likewise.
(check_effective_target_vect_perm): Likewise.
(check_effective_target_vect_perm_byte): Likewise.
(check_effective_target_vect_perm_short): Likewise.
(check_effective_target_vect_sdot_qi): Likewise.
(check_effective_target_vect_udot_qi): Likewise.
(check_effective_target_vect_sdot_hi): Likewise.
(check_effective_target_vect_udot_hi): Likewise.
(check_effective_target_vect_pack_trunc): Likewise.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_hw_misalign): Likewise.
(check_effective_target_vect_condition): Likewise.
(check_effective_target_vect_cond_mixed): Likewise.
(check_effective_target_vect_char_mult): Likewise.
(check_effective_target_vect_short_mult): Likewise.
(check_effective_target_vect_int_mult): Likewise.
(check_effective_target_vect_extract_even_odd): Likewise.
(check_effective_target_vect_interleave): Likewise.
(check_vect_support_and_set_flags): Check if the target supports MSA
and append to the list of EFFECTIVE_TARGETS.
From-SVN: r241054
Richard Biener [Wed, 12 Oct 2016 14:37:53 +0000 (14:37 +0000)]
re PR debug/77947 (ICE with -g and -O2 in strip_naming_typedef)
2016-10-12 Richard Biener <rguenther@suse.de>
PR debug/77947
* cgraphunit.c (analyze_functions): Preserve cgraph nodes
function context.
* g++.dg/torture/pr77947.C: New testcase.
From-SVN: r241053
Arnaud Charlet [Wed, 12 Oct 2016 14:37:35 +0000 (16:37 +0200)]
[multiple changes]
2016-10-12 Yannick Moy <moy@adacore.com>
* einfo.adb, einfo.ads (Partial_Refinement_Constituents): Take
into account constituents that are themselves abstract states
with full or partial refinement visible.
* sem_prag.adb (Find_Encapsulating_State): Move function
to library-level, to share between subprograms.
(Analyze_Refined_Global_In_Decl_Part): Use
Find_Encapsulating_State to get relevant encapsulating state.
2016-10-12 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb: Fix minor typo.
From-SVN: r241052
Ian Lance Taylor [Wed, 12 Oct 2016 14:28:05 +0000 (14:28 +0000)]
syscall, internal/syscall/unix: Fix getrandom, clone on sparc64
Since sparc is a valid architecture, the name of
getrandom_linux_sparc.go means that it will be ignored on sparc64,
even though it's whitelisted with a +build line.
On SPARC, clone has a unique return value convention which requires
some inline assembly to convert it to the normal convention.
Reviewed-on: https://go-review.googlesource.com/30873
From-SVN: r241051
Yannick Moy [Wed, 12 Oct 2016 14:25:05 +0000 (14:25 +0000)]
sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt checking for optional refinement of abstract state with partial visible...
2016-10-12 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt checking
for optional refinement of abstract state with partial
visible refinement.
(Analyze_Refined_Global_In_Decl_Part): Adapt checking for optional
refinement of abstract state with partial visible refinement. Implement
new rules in SPARK RM 7.2.4 related to optional refinement.
Also fix the missing detection of missing items.
From-SVN: r241050
Arnaud Charlet [Wed, 12 Oct 2016 13:59:48 +0000 (15:59 +0200)]
[multiple changes]
2016-10-12 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb Add new usage for Elist29 and Node35.
(Anonymous_Designated_Type): New routine.
(Anonymous_Master): Removed.
(Anonymous_Masters): New routine.
(Set_Anonymous_Designated_Type): New routine.
(Set_Anonymous_Master): Removed.
(Set_Anonymous_Masters): New routine.
(Write_Field29_Name): Add output for Anonymous_Masters.
(Write_Field35_Name): Remove the output for Anonymous_Master. Add
output for Anonymous_Designated_Type.
* einfo.ads Remove attribute Anonymous_Master along with
usage in entities. Add attributes Anonymous_Designated_Type
and Anonymous_Masters along with usage in entities.
(Anonymous_Designated_Type): New routine along with pragma Inline.
(Anonymous_Master): Removed along with pragma Inline.
(Anonymous_Masters): New routine along with pragma Inline.
(Set_Anonymous_Designated_Type): New routine along with pragma Inline.
(Set_Anonymous_Master): Removed along with pragma Inline.
(Set_Anonymous_Masters): New routine along with pragma Inline.
* exp_ch7.adb (Build_Anonymous_Master): Reuse an anonymous master
defined in the same unit if it services the same designated
type, otherwise create a new one.
(Create_Anonymous_Master): Reimplemented.
(Current_Anonymous_Master): New routine.
(In_Subtree): Removed.
2016-10-12 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Dynamic_Predicate):
Check properly whether there is an explicit assertion policy
for predicate checking, even in the presence of a general Ignore
assertion policy.
2016-10-12 Steve Baird <baird@adacore.com>
* sem.adb (Walk_Library_Items): Cope with ignored ghost units.
From-SVN: r241049