Commit Graph

149157 Commits

Author SHA1 Message Date
Markus Trippelsdorf 2c3e40f590 Fix pr77937-1.c and pr77937-2.c testcases
From-SVN: r241156
2016-10-14 11:07:13 +00:00
Nathan Sidwell 74d2b9071b * gcov-io.c (gcov_open): Deconstify 'mode'.
From-SVN: r241155
2016-10-14 10:51:58 +00:00
Eric Botcazou 14cf71a0df 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
2016-10-14 10:28:27 +00:00
Tim Shen 45b510b370 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
2016-10-14 09:58:05 +00:00
Martin Liska a766d4d74d 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
2016-10-14 09:54:32 +00:00
Jonathan Wakely 57c4fbc64b 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
2016-10-14 10:12:49 +01:00
Andre Vehreschild 6fd9c6f4c5 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
2016-10-14 10:52:10 +02:00
Kyrylo Tkachov 01f440383c [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
2016-10-14 08:40:04 +00:00
Eric Botcazou 4827fd102c Fix long line
From-SVN: r241148
2016-10-14 06:14:15 +00:00
Prathamesh Kulkarni b0057783c7 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
2016-10-14 05:57:33 +00:00
GCC Administrator 7ca95f505b Daily bump.
From-SVN: r241146
2016-10-14 00:16:15 +00:00
Martin Sebor 9603204722 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
2016-10-13 16:26:36 -06:00
Andreas Schwab 253abb2a15 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
2016-10-13 20:19:42 +00:00
Bill Schmidt a269531973 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
2016-10-13 19:50:41 +00:00
Paolo Carlini 2437d31d0e 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
2016-10-13 19:37:45 +00:00
Jason Merrill 14a2c9aac0 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
2016-10-13 15:26:54 -04:00
Nathan Sidwell fc0911e0b8 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
2016-10-13 18:36:31 +00:00
Segher Boessenkool 7dca85bf15 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
2016-10-13 20:25:15 +02:00
Marek Polacek c3e8838989 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
2016-10-13 18:20:32 +00:00
Sandra Loosemore ee7fa2e385 Fix ChangeLog for r241132
From-SVN: r241133
2016-10-13 14:09:26 -04:00
Sandra Loosemore 18d34307e2 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
2016-10-13 13:55:00 -04:00
Jonathan Wakely d67dd0be94 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
2016-10-13 17:59:19 +01:00
Jonathan Wakely 40799fe51f Add missing <random> header in testcase
* testsuite/experimental/algorithm/sample.cc: Add missing header.

From-SVN: r241130
2016-10-13 17:42:53 +01:00
Jonathan Wakely 10482a6598 Qualify use of std::declval to avoid ADL
* include/experimental/propagate_const (element_type): Qualify
	declval.

From-SVN: r241129
2016-10-13 17:41:10 +01:00
Jonathan Wakely f49adbb8d8 Change test to use VERIFY not assert
* testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
	instead of assert.

From-SVN: r241128
2016-10-13 17:37:47 +01:00
Ian Lance Taylor 65205e30c4 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
2016-10-13 16:21:28 +00:00
Jonathan Wakely 5117a23e9f 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
2016-10-13 16:50:35 +01:00
Bill Schmidt 2d4035dcd7 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
2016-10-13 15:34:22 +00:00
Ian Lance Taylor 58f7dab40d 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
2016-10-13 15:24:50 +00:00
Martin Sebor 5b1548fd79 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
2016-10-13 08:58:20 -06:00
Jonathan Wakely 0c0d2a4cf0 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
2016-10-13 15:42:09 +01:00
Thomas Preud'homme 4d0cdd0ce6 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
2016-10-13 14:17:52 +00:00
David Malcolm 7810c4ebfc 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
2016-10-13 13:17:59 +00:00
Richard Earnshaw 950e6f418a Fix typo in name.
From-SVN: r241119
2016-10-13 13:06:47 +00:00
Richard Earnshaw 00ea1506d9 [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
2016-10-13 13:04:51 +00:00
Arnaud Charlet ec2255295c [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
2016-10-13 15:00:54 +02:00
Richard Earnshaw 62c1b965b5 [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
2016-10-13 12:59:19 +00:00
Arnaud Charlet 8eb8461dc1 [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
2016-10-13 14:58:24 +02:00
Ed Falis 870ce4d51b * i-vxinco.adb, i-vxinco.ads: New files.
From-SVN: r241114
2016-10-13 14:57:16 +02:00
Arnaud Charlet 07820c5165 Code cleanup.
From-SVN: r241113
2016-10-13 14:55:07 +02:00
Arnaud Charlet 5dc203d228 [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
2016-10-13 14:54:42 +02:00
Jonathan Wakely 3396fcc095 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
2016-10-13 13:39:19 +01:00
Ed Falis 6c25a67618 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
2016-10-13 14:38:21 +02:00
Gary Dismukes c9d2e84b72 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
2016-10-13 14:24:21 +02:00
Richard Biener 2eef1fc113 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
2016-10-13 12:15:38 +00:00
Javier Miranda a946a5c38d 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
2016-10-13 14:12:18 +02:00
Arnaud Charlet c877ae8dc8 [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
2016-10-13 14:10:46 +02:00
Claudiu Zissulescu c59552242d [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
2016-10-13 13:48:02 +02:00
Claudiu Zissulescu d4fe8839e6 [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
2016-10-13 13:47:51 +02:00
Bin Cheng b4c32fe0dd 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
2016-10-13 11:09:23 +00:00