Commit Graph

169336 Commits

Author SHA1 Message Date
Marek Polacek dcba286a9a re PR c++/60366 (ICE with self-invoking lambdas)
PR c++/60366
	* g++.dg/cpp0x/lambda/lambda-ice32.C: New test.

From-SVN: r272092
2019-06-09 15:41:07 +00:00
Paul Thomas 5834bdc3d4 re PR fortran/89365 (Inquiry functions for assumed rank objects fail)
2019-06-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/89365
	* gfortran.dg/assumed_rank_bounds_3.f90 : New test.

From-SVN: r272090
2019-06-09 09:43:37 +00:00
GCC Administrator 0002187783 Daily bump.
From-SVN: r272089
2019-06-09 00:16:18 +00:00
Edward Smith-Rowland 79f31e3d18 Test for C++20 p0858 - ConstexprIterator requirements.
2019-06-08  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Test for C++20 p0858 - ConstexprIterator requirements.
	* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
	New test.
	* testsuite/23_containers/array/requirements/constexpr_iter.cc:
	New test.

From-SVN: r272085
2019-06-08 22:18:36 +00:00
Paul Thomas 8e73afcf40 re PR fortran/90786 (ICE on procedure pointer assignment to function with class pointer result)
2019-06-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/90786
	* trans-expr.c (pointer_assignment_is_proc_pointer) Remove as
	it is very simple and only called from one place.
	(gfc_trans_pointer_assignment): Rename non_proc_pointer_assign
	as non_proc_ptr_assign. Assign to it directly, rather than call
	to above, deleted function and use gfc_expr_attr instead of
	only checking the reference chain.

2019-06-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/90786
	* gfortran.dg/proc_ptr_51.f90 : New test.

From-SVN: r272084
2019-06-08 15:52:38 +00:00
Marek Polacek ec332875f8 re PR c++/52269 ([C++11] Body of constexpr function templates instantiated too eagerly in unevaluated operands)
PR c++/52269
	* g++.dg/cpp0x/constexpr-decltype4.C: New test.

From-SVN: r272083
2019-06-08 14:10:42 +00:00
Thomas Koenig 304d779b9e re PR fortran/90744 (Bogus length for character temporaries passed to external procedures since r268992)
2019-06-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Tomáš Trnka  <trnka@scm.com>

	PR fortran/90744
	* trans-types.c (get_formal_from_actual_arglist): Unset typespec
	flags which make no sense for procedures without explicit
	interface.

2019-06-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Tomáš Trnka  <trnka@scm.com>

	PR fortran/90744
	* gfortran.dg/deferred_character_33.f90: New test.
	* gfortran.dg/deferred_character_33a.f90: New test.

From-SVN: r272082
2019-06-08 13:50:42 +00:00
Jonathan Wakely 604ba08ab4 Use consistent spelling of PCLMUL instruction
* doc/invoke.texi (C Dialect Options): Minor grammatical change.
	(x86 Options): Replace all uses of "PCL_MUL" with "PCLMUL"

From-SVN: r272081
2019-06-08 14:40:25 +01:00
Marek Polacek eb37013fb5 re PR c++/77548 (ICE on invalid C++ code with overloaded functions: in instantiate_type, at cp/class.c:8270)
PR c++/77548
	* g++.dg/other/pr77548.C: New test.

From-SVN: r272079
2019-06-08 13:13:48 +00:00
Marek Polacek 8d7a99bd33 re PR c++/72845 (gcc crashes (ICE) when compiling program with complex noexcept declaration)
PR c++/72845
	* g++.dg/cpp0x/noexcept41.C: New test.

From-SVN: r272078
2019-06-08 12:51:07 +00:00
Prathamesh Kulkarni 3a9debbd76 init_1.c: Remove options -O2 -fno-schedule-insns and instead pass -O.
2019-06-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* gcc.target/aarch64/sve/init_1.c: Remove options
	-O2 -fno-schedule-insns and instead pass -O.
	Update assembly in comments. 
	* gcc.target/aarch64/sve/init_2.c: Likewise.
	* gcc.target/aarch64/sve/init_3.c: Likewise.
	* gcc.target/aarch64/sve/init_4.c: Likewise.
	* gcc.target/aarch64/sve/init_5.c: Likewise and additionally
	adjust dg-scan.
	* gcc.target/aarch64/sve/init_6.c: Likewise.
	* gcc.target/aarch64/sve/init_7.c: Likewise.
	* gcc.target/aarch64/sve/init_8.c: Likewise.
	* gcc.target/aarch64/sve/init_9.c: Likewise.
	* gcc.target/aarch64/sve/init_10.c: Likewise.
	* gcc.target/aarch64/sve/init_11.c: Likewise.
	* gcc.target/aarch64/sve/init_12.c: Likewise.

From-SVN: r272073
2019-06-08 08:24:43 +00:00
Marek Polacek a5edb3fa22 re PR c++/77747 (GCC allows inheriting constructors from indirect base)
PR c++/77747
	* g++.dg/cpp0x/inh-ctor33.C: New test.

From-SVN: r272071
2019-06-08 00:48:54 +00:00
Marek Polacek 5521a71850 re PR c++/77967 (ICE in cp_parser_type_name, at cp/parser.c:16419 (trying to add a method to a template alias))
PR c++/77967
	* g++.dg/cpp0x/alias-decl-68.C: New test.

From-SVN: r272070
2019-06-08 00:30:51 +00:00
Marek Polacek da643428a3 re PR c++/77771 (internal compiler error: in cxx_eval_bit_field_ref, at cp/constexpr.c:2090)
PR c++/77771
	* g++.dg/cpp0x/constexpr-77771.C: New test.

From-SVN: r272068
2019-06-08 00:17:13 +00:00
GCC Administrator f48cc0aa94 Daily bump.
From-SVN: r272067
2019-06-08 00:16:31 +00:00
John David Anglin 7486a74390 scanasm.exp (dg-function-on-line): Add pattern for hppa*-*-linux*.
* lib/scanasm.exp (dg-function-on-line): Add pattern for hppa*-*-linux*.

From-SVN: r272060
2019-06-07 23:15:49 +00:00
John David Anglin e13896a3a9 re PR target/90751 (-fpatchtable-function-entry broken on hppa-linux-gnu-gcc/hppa64-linux-gnu-gcc)
PR target/90751
	* config/pa/pa-linux.h (ASM_DECLARE_FUNCTION_NAME): Update comment.
	Call pa_output_function_label>
	(TARGET_ASM_FUNCTION_PROLOGUE): define.
	* config/pa/pa-protos.h (pa_output_function_label): Declare.
	* config/pa/pa.c (pa_output_function_prologue): Add ATTRIBUTE_UNUSED
	to declaration.
	(pa_linux_output_function_prologue): Declare.
	(TARGET_ASM_FUNCTION_PROLOGUE): Delete define.
	(pa_output_function_label): New.
	(pa_output_function_prologue): Revise to use pa_output_function_label.
	(pa_linux_output_function_prologue): New.
	* config/pa/pa.h (TARGET_ASM_FUNCTION_PROLOGUE): Define.

From-SVN: r272059
2019-06-07 23:13:08 +00:00
Aldy Hernandez 1ef8f50e4f Split up value_range::intersect into base (value_range_base) and
derived versions (value_range).

From-SVN: r272058
2019-06-07 22:18:24 +00:00
Thomas Rodgers f32ee8a25e Synchronize libstdc++ PSTL with upstream LLVM PSTL
Rename PSTL macro's consistent with libstdc++ (and llvm upstream
	project) standards.
	* include/bits/c++config: Rename all macros of the form __PSTL* to
	_PSTL*.
	* include/std/algorithm: Likewise.
	* include/std/execution: Likewise.
	* include/std/numeric: Likewise.
	* include/std/memory: Likewise.
	* include/pstl/glue_memory_impl.h: Likewise.
	* include/pstl/numeric_impl.h: Likewise.
	* include/pstl/glue_memory_defs.h: Likewise.
	* include/pstl/execution_defs.h: Likewise.
	* include/pstl/utils.h: Likewise.
	* include/pstl/algorithm_fwd.h: Likewise.
	* include/pstl/unseq_backend_simd.h: Likewise.
	* include/pstl/glue_execution_defs.h: Likewise.
	* include/pstl/algorithm_impl.h: Likewise.
	* include/pstl/parallel_impl.h: Likewise.
	* include/pstl/memory_impl.h: Likewise.
	* include/pstl/glue_numeric_defs.h: Likewise.
	* include/pstl/parallel_backend_utils.h: Likewise.
	* include/pstl/glue_algorithm_defs.h: Likewise.
	* include/pstl/parallel_backend.h: Likewise.
	* include/pstl/glue_numeric_impl.h: Likewise.
	* include/pstl/parallel_backend_tbb.h: Likewise.
	* include/pstl/numeric_fwd.h: Likewise.
	* include/pstl/glue_algorithm_impl.h: Likewise.
	* include/pstl/execution_impl.h: Likewise.
	* include/pstl/pstl_config.h: Likewise.
	* testsuite/util/pstl/pstl_test_config.h: Likewise.
	* testsuite/util/pstl/test_utils.h: Likewise.
	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
	Likewise.
	* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
	Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
	Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: Likewise.
	* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
	Likewise.
	* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: Likewise.

	Rename header guards to be consistent with upstream project's
	conventions.
	* include/pstl/glue_memory_impl.h: Rename all macros of the form
	_PSTL_(.*)_H to _PSTL_\U\1_H.
	* include/pstl/numeric_impl.h: Likewise.
	* include/pstl/glue_memory_defs.h: Likewise.
	* include/pstl/execution_defs.h: Likewise.
	* include/pstl/utils.h: Likewise.
	* include/pstl/algorithm_fwd.h: Likewise.
	* include/pstl/unseq_backend_simd.h: Likewise.
	* include/pstl/glue_execution_defs.h: Likewise.
	* include/pstl/algorithm_impl.h: Likewise.
	* include/pstl/parallel_impl.h: Likewise.
	* include/pstl/memory_impl.h: Likewise.
	* include/pstl/glue_numeric_defs.h: Likewise.
	* include/pstl/parallel_backend_utils.h: Likewise.
	* include/pstl/glue_algorithm_defs.h: Likewise.
	* include/pstl/parallel_backend.h: Likewise.
	* include/pstl/glue_numeric_impl.h: Likewise.
	* include/pstl/parallel_backend_tbb.h: Likewise.
	* include/pstl/numeric_fwd.h: Likewise.
	* include/pstl/glue_algorithm_impl.h: Likewise.
	* include/pstl/execution_impl.h: Likewise.
	* include/pstl/pstl_config.h: Likewise.
	* testsuite/util/pstl/pstl_test_config.h: Likewise.

	Synchronize libstdc++ parallel algorithms with upstream
	project.
	* include/pstl/algorithm_fwd.h: Synchronize with
	upstream PSTL project.
	* include/pstl/algorithm_impl.h: Likewise.
	* include/pstl/execution_defs.h: Likewise.
	* include/pstl/execution_impl.h: Likewise.
	* include/pstl/glue_algorithm_impl.h: Likewise.
	* include/pstl/glue_execution_defs.h: Likewise.
	* include/pstl/numeric_fwd.h: Likewise.
	* include/pstl/numeric_impl.h: Likewise.
	* include/pstl/parallel_backend.h: Likewise.
	* include/pstl/pstl_config.h: Likewise.
	* include/pstl/unseq_backend_simd.h: Likewise.
	* include/pstl/parallel_backend_serial.h: New file.
	* include/Makefile.am (pstl_headers): Add
	parallel_backend_serial.h.
	* include/Makefile.in: Regenerate.

	Clean up non-conforming names
	* include/pstl/algorithm_impl.h (__parallel_set_union_op):
	Uglfiy copy_range1 and copy_range2
	(__pattern_walk2_n): Rename local n to __n
	* include/pstl/parallel_backend_tbb.h (struct __binary_no_op):
	Rename parameter _T to _Tp.

	Integrate non-TBB serial backend support
	* include/bits/c++config: Adjust TBB detection logic to select serial
	PSTL backend if no TBB present.
	* testsuite/utils/pstl/test_utils.h: Remove check for
	_PSTL_USE_PAR_POLICIES

From-SVN: r272056
2019-06-07 22:01:16 +00:00
Ian Lance Taylor 1afab7a878 compiler: improve write barrier generation
For string, slice, interface values, do assignments field by
    field instead of using typedmemmove.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181297

From-SVN: r272055
2019-06-07 21:16:11 +00:00
Jason Merrill 7a649ef59f Avoid constexpr garbage for implicit conversion to void.
* constexpr.c (cxx_eval_constant_expression): Call
	STRIP_ANY_LOCATION_WRAPPER early.
	[CONVERT_EXPR]: Don't build anything for conversion to void.
	[ADDR_EXPR]: ggc_free unused ADDR_EXPR.

From-SVN: r272054
2019-06-07 17:08:26 -04:00
Jonathan Wakely c1b4c4f491 Fix test that gets skipped as unsupported
* testsuite/24_iterators/container_access.cc: Move dg-options before
	dg-do directive so the target check uses the -std option.

From-SVN: r272051
2019-06-07 20:57:28 +01:00
Jonathan Wakely 2b32668568 PR libstdc++/90770 fix missing src/debug/Makefile
PR libstdc++/90770
	* configure: Regenerate.
	* src/Makefile.am (stamp-debug): Also test for missing makefile.
	* src/Makefile.in: Regenerate.

From-SVN: r272050
2019-06-07 20:57:19 +01:00
Jakub Jelinek ac72e850e5 Makefile.in (genprogerr): Add condmd.
* Makefile.in (genprogerr): Add condmd.
	(genprog): Remove it here.

From-SVN: r272047
2019-06-07 17:38:35 +02:00
Mark Eggleston fe763d2666 re PR fortran/89100 (Default widths for i, f and g format specifiers in format strings)
2019-06-07  Mark Eggleston <mark.eggleston@codethink.com>

	PR fortran/89100
	* gfortran.dg/fmt_f_default_field_width_3.f90: Modify dg-error
	to allow use when kind=16 is not supported.
	* gfortran.dg/fmt_g_default_field_width_3.f90: Modify dg-error
	to allow use when kind=16 is not supported.

From-SVN: r272046
2019-06-07 14:25:39 +00:00
Ian Lance Taylor 6e54439795 compiler: support inlining functions with if statements
This increases the number of inlinable functions from 455 to 500.
    An example of a newly inlinable function is strings.Compare.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181137

From-SVN: r272045
2019-06-07 14:19:51 +00:00
Andrew Stubbs e94a64a078 Document -march=gfx906 option.
2019-06-07  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* doc/invoke.texi (AMD GCN Options): Add gfx906.

From-SVN: r272044
2019-06-07 14:00:58 +00:00
Ian Lance Taylor ab658f56a5 compiler: do simple deadcode elimination
Normally the backend will do deadcode elimination and this is
    sufficient. However, the escape analysis operates on the AST that
    may have deadcode, and may cause things to escape that otherwise
    do not.
    
    This CL adds a simple deadcode elimination, run before the escape
    analysis.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181080

From-SVN: r272043
2019-06-07 13:40:26 +00:00
Richard Biener e733243a36 re PR debug/90574 ([gdb] gdb wrongly stopped at a breakpoint in an unexecuted line of code)
2019-06-07  Richard Biener  <rguenther@suse.de>

	PR debug/90574
	* tree-cfg.c (stmt_starts_bb_p): Split blocks at labels
	that appear after user labels.

	* gcc.misc-tests/gcov-pr90574-1.c: New testcase.
	* gcc.misc-tests/gcov-pr90574-2.c: Likewise.

From-SVN: r272040
2019-06-07 12:14:55 +00:00
Martin Liska 510c919249 Enable sanitization for hash tables.
2019-06-07  Martin Liska  <mliska@suse.cz>

	* cselib.c (cselib_init): Disable hash table
	sanitization.
	* hash-set.h: Pass new default argument to m_table.
	* hash-table.c: Add global variable with hash table
	sanitization limit.
	* hash-table.h (Allocator>::hash_table): Add new argument
	to ctor.
	(hashtab_chk_error): New.
	* params.def (PARAM_HASH_TABLE_VERIFICATION_LIMIT): New.
	* toplev.c (process_options): Set hash_table_sanitize_eq_limit
	from the PARAM_HASH_TABLE_VERIFICATION_LIMIT value.

From-SVN: r272038
2019-06-07 12:13:13 +00:00
Jan Hubicka 686a56a85d common.opt (flto-odr-type-merging): Ignore.
* common.opt (flto-odr-type-merging): Ignore.
	* invoke.texi (-flto-odr-type-merging): Remove.
	* ipa-devirt.c (odr_vtable_hasher:odr_name_hasher): Remove.
	(can_be_vtable_hashed_p): Remove.
	(hash_odr_vtable): Remove.
	(odr_vtable_hasher::hash): Remove.
	(types_same_for_odr): Remove.
	(types_odr_comparable): Remove.
	(odr_vtable_hasher::equal): Remove.
	(odr_vtable_hash_type, odr_vtable_hash): Remove.	
	(add_type_duplicate): Do not synchronize vtable and name hashtables.
	(get_odr_type): Do not use vtable hash.
	(dump_odr_type): Remove commented out code.
	(build_type_inheritance_graph): Do not allocate vtable hash.
	(rebuild_type_inheritance_graph): Do not delete vtable hash.
	* ipa-utils.h (type_with_linkage_p): Drop vtable hash path.
	(odr_type_p): Likewise.
	* tree.c (need_assembler_name_p): Remove flag_lto_odr_type_mering
	test.

From-SVN: r272037
2019-06-07 08:15:00 +00:00
Jan Hubicka 06dd9b3d4e Make aliasing_component_refs_p to work harder when same_type_for_tbaa returns -1
* tree-ssa-alias.c (aliasing_component_refs_p): Do not give up
	immediately after same_types_for_tbaa_p returns -1 and continue
	looking for possible exact match; if matching types are arrays
	watch for partial overlaps.
	(indirect_ref_may_alias_decl_p): Watch for partial array overlaps.
	(indirect_refs_may_alias_p): Do type based disambiguation first;
	update comment.

	* gcc.dg/lto/alias-access-path-2.0.c: New testcase.

From-SVN: r272036
2019-06-07 08:14:04 +00:00
Richard Sandiford 6c202d9dc6 Fix fwprop call to call to paradoxical_subreg_p
"mode" is the mode of "x", not the replacement value.

2019-06-06  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* fwprop.c (propagate_rtx): Fix call to paradoxical_subreg_p.

From-SVN: r272032
2019-06-07 07:40:20 +00:00
Martin Liska e37333bad7 Remove indirect call top N counter type.
2019-06-07  Martin Liska  <mliska@suse.cz>

	* doc/invoke.texi: Remove param.
	* gcov-counter.def (GCOV_COUNTER_ICALL_TOPNV):
	Remove.
	* gcov-io.h (GCOV_ICALL_TOPN_VAL): Likewise.
	(GCOV_ICALL_TOPN_NCOUNTS): Likewise.
	* params.def (PARAM_INDIR_CALL_TOPN_PROFILE): Likewise.
	* profile.c (instrument_values): Remove
	HIST_TYPE_INDIR_CALL_TOPN.
	* tree-profile.c (init_ic_make_global_vars):
	Always build __gcov_indirect_call only.
	(gimple_init_gcov_profiler): Remove usage
	of PARAM_INDIR_CALL_TOPN_PROFILE.
	(gimple_gen_ic_profiler): Likewise.
	* value-prof.c (dump_histogram_value): Likewise.
	(stream_in_histogram_value): Likewise.
	(gimple_indirect_call_to_profile): Likewise.
	(gimple_find_values_to_profile): Likewise.
	* value-prof.h (enum hist_type): Likewise.
2019-06-07  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Remove usage of
	_gcov_merge_icall_topn.
	* libgcov-driver.c (gcov_sort_n_vals): Remove.
	(gcov_sort_icall_topn_counter): Likewise.
	(gcov_sort_topn_counter_arrays): Likewise.
	(dump_one_gcov): Remove call to gcov_sort_topn_counter_arrays.
	* libgcov-merge.c (__gcov_merge_icall_topn): Remove.
	* libgcov-profiler.c (__gcov_topn_value_profiler_body):
	Likewise.
	(GCOV_ICALL_COUNTER_CLEAR_THRESHOLD): Remove.
	(struct indirect_call_tuple): Remove.
	(__gcov_indirect_call_topn_profiler): Remove.
	* libgcov-util.c (__gcov_icall_topn_counter_op): Remove.
	* libgcov.h (gcov_sort_n_vals): Remove.
	(L_gcov_merge_icall_topn): Likewise.
	(__gcov_merge_icall_topn): Likewise.
	(__gcov_indirect_call_topn_profiler): Likewise.

From-SVN: r272030
2019-06-07 06:41:58 +00:00
Martin Liska cc261f66c2 Fix a thinko in tree-ssa-loop.c.
2019-06-07  Martin Liska  <mliska@suse.cz>

	* tree-ssa-loop.c (get_lsm_tmp_name): Return at the end of the
	function.

From-SVN: r272029
2019-06-07 05:35:19 +00:00
Martin Liska b8e2acff11 Add warn_unused_result for malloc-like functions (PR tree-optimization/78902).
2019-06-07  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/78902
	* builtin-attrs.def (ATTR_WARN_UNUSED_RESULT): New.
	(ATTR_MALLOC_NOTHROW_LEAF_LIST): Remove.
	(ATTR_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST): New.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST): New.
	(ATTR_ALLOC_SIZE_2_NOTHROW_LIST): Remove.
	(ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Remove.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LIST): New.
	(ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): New.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST): New.
	(ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): Remove.
	(ATTR_ALLOCA_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST): New.
	(ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST):  Remove.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_2_NOTHROW_LEAF_LIST):
	New.
	(ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Remove.
	(ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST): New.
	(ATTR_MALLOC_NOTHROW_NONNULL): Remove.
	(ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL): New.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL): New.
	(ATTR_MALLOC_NOTHROW_NONNULL_LEAF): Remove.
	(ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF): New.
	(ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF): New.
	* builtins.def (BUILT_IN_ALIGNED_ALLOC): Change to use
	warn_unused_result attribute.
	(BUILT_IN_STRDUP): Likewise.
	(BUILT_IN_STRNDUP): Likewise.
	(BUILT_IN_ALLOCA): Likewise.
	(BUILT_IN_CALLOC): Likewise.
	(BUILT_IN_MALLOC): Likewise.
	(BUILT_IN_REALLOC): Likewise.
2019-06-07  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/78902
	* c-c++-common/asan/alloca_loop_unpoisoning.c: Use result
	of __builtin_alloca.
	* c-c++-common/asan/pr88619.c: Likewise.
	* g++.dg/overload/using2.C: Likewise for malloc.
	* gcc.dg/attr-alloc_size-5.c: Add new dg-warning.
	* gcc.dg/nonnull-3.c: Use result of __builtin_strdup.
	* gcc.dg/pr43643.c: Likewise.
	* gcc.dg/pr59717.c: Likewise for calloc.
	* gcc.dg/torture/pr71816.c: Likewise.
	* gcc.dg/tree-ssa/pr78886.c: Likewise.
	* gcc.dg/tree-ssa/pr79697.c: Likewise.
	* gcc.dg/pr78902.c: New test.

From-SVN: r272028
2019-06-07 05:33:11 +00:00
GCC Administrator c437d2d437 Daily bump.
From-SVN: r272027
2019-06-07 00:16:19 +00:00
Ian Lance Taylor ffaa3a1c74 go/internal/gccgoimporter: ignore unexported and imported names
Due to inlining, we can now see unexported functions and variables,
    and functions and variables imported from different packages.
    Ignore them rather than reporting them from this package.
    
    Handle $hash and $equal functions consistently, so that we discard the
    inline body if there is one.
    
    Ignore names created for result parameters for inlining purposes.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180758

From-SVN: r272023
2019-06-07 00:07:50 +00:00
Ian Lance Taylor 93cbebde76 compiler: permit inlining temporary statements and references
This increases the number of inlinable functions from 439 to 455.
    An example is math/bits.Mul32, which uses temporaries to handle the
    tuple assignment.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180837

From-SVN: r272022
2019-06-06 23:34:00 +00:00
Jim Wilson 5e664ed093 RISC-V: Move STARTFILE_PREFIX_SPEC into target OS files.
gcc/
	PR target/89955
	* config/riscv/riscv.h (STARTFILE_PREFIX_SPEC): Deleted.
	* config/riscv/freebsd.h (STARTFILE_PREFIX_SPEC): Added.
	* config/riscv/linux.h (STARTFILE_PREFIX_SPEC): Added.

From-SVN: r272021
2019-06-06 16:18:48 -07:00
Joseph Myers 5c4c2d05b3 * sv.po: Update.
From-SVN: r272019
2019-06-07 00:14:54 +01:00
Iain Sandoe 89ce70d636 Darwin, c++, testsuite - adjust alignas4.C for Darwin's asm syntax.
Darwin produces aligned zerofill directives for the objects represented.
We can scan for these using "lp64" and "ilp32" to catch operation on both
X86 and PowerPC ports (the test is for the alignment which is the trailing
value in the zerofill directive, as a power of two).

gcc/testsuite/ChangeLog:

2019-06-06  Iain Sandoe  <iain@sandoe.co.uk>

	* g++.dg/cpp0x/alignas4.C: Amend test to check for zerofill syntax
	on Darwin.

From-SVN: r272018
2019-06-06 19:16:31 +00:00
Iain Sandoe 34a4a9c2b5 Darwin, PowerPC, libgcc - Ensure unwinder is built with altivec enabled.
When libgcc is built on Darwin, it is usually built for the earliest potential
target (Darwin8, 10.4).  Build for that revision default to assuming that the
processor might be G3 (without vector ops) and there is an outlined function
used for save/restore that checks whether the processor is G3 or G4+ at run-
time.  However, the unwinder itself needs to be built with the assumption of
vector usage so that the relevant outlined functions are called.

2019-06-06  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/t-darwin: Ensure that the unwinder is built with
	altivec enabled.

From-SVN: r272017
2019-06-06 19:02:54 +00:00
Martin Sebor 2172277702 tree-ssa-strlen.c (adjust_related_strinfos): Avoid trailing article.
gcc/ChangeLog:

	* tree-ssa-strlen.c (adjust_related_strinfos): Avoid trailing article.
	(handle_builtin_malloc): Remove trailing spaces.
	(handle_builtin_memset): Same.
	(handle_builtin_memcmp): Same.
	(compute_string_length): Same.
	(determine_min_objsize): Same.
	(handle_builtin_string_cmp): Same.
	(handle_char_store): Same.  Break up excessively long line.

From-SVN: r272016
2019-06-06 12:46:20 -06:00
Martin Jambor c56c86024f Drop alignment check in build_reconstructed_reference
2019-06-06  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (build_reconstructed_reference): Drop the alignment
	check.

From-SVN: r272013
2019-06-06 18:33:04 +02:00
Martin Jambor 3b47da42de Make SRA re-construct orginal memory accesses when easy
2019-06-06  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (struct access): New field grp_same_access_path.
	(dump_access): Dump it.
	(build_reconstructed_reference): New function.
	(build_ref_for_model): Use it if possible.
	(path_comparable_for_same_access): New function.
	(same_access_path_p): Likewise.
	(sort_and_splice_var_accesses): Set the new flag.
	(analyze_access_subtree): Likewise.
	(propagate_subaccesses_across_link): Propagate zero value of the new
	flag down the access tree.

	testsuite/
	* gcc.dg/tree-ssa/alias-access-path-1.c: Remove -fno-tree-sra option.
	* gcc.dg/tree-ssa/ssa-dse-26.c: Disable FRE.
	* testsuite/gnat.dg/opt39.adb: Adjust scan dump.

From-SVN: r272012
2019-06-06 18:31:20 +02:00
Jonathan Wakely beb0086f59 Avoid unnecessary inclusion of <stdexcept> header
This can greatly reduce the amount of preprocessed code that is included
by other headers, because <stdexcept> depends on <string> which is huge.

	* include/std/array: Do not include <stdexcept>.
	* include/std/optional: Include <exception> and
	<bits/exception_defines.h> instead of <stdexcept>.
	* testsuite/20_util/function_objects/searchers.cc: Include <cctype>
	for std::isalnum.
	* testsuite/20_util/tuple/cons/deduction.cc: Include <memory> for
	std::allocator.
	* testsuite/23_containers/map/erasure.cc: Include <string>.
	* testsuite/23_containers/unordered_map/erasure.cc: Likewise.

From-SVN: r272011
2019-06-06 16:34:56 +01:00
Jonathan Wakely ad60f42883 Fix more failing tests for C++98 mode
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Add
	dg-prune-output for different C++98 diagnostic.
	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/libstdc++-prettyprinters/compat.cc: Do not run for C++98.

From-SVN: r272010
2019-06-06 16:34:51 +01:00
Jonathan Wakely d561a18ee6 Fix more tests that fail in C++2a mode
* testsuite/23_containers/unordered_map/requirements/debug_container.cc:
	Do not test allocator rebinding extension for C++2a.
	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Change
	dg-do directive for C++17 and C++2a.

From-SVN: r272009
2019-06-06 16:34:45 +01:00
Andrew Stubbs 268d509d67 Add -march=gfx906 for AMD GCN.
2019-06-06  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config.gcc (amdgcn-*-*): Allow --with-arch=gfx906.
	* config/gcn/gcn.opt (gpu_type): Add gfx906.
	* config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Add gfx906 multilib.
	(MULTILIB_DIRNAMES): Rename gcn5 to gfx900.
	Add gfx906.

From-SVN: r272007
2019-06-06 15:11:59 +00:00