155520 Commits

Author SHA1 Message Date
Jakub Jelinek
b84dee85b9 backport: re PR tree-optimization/89278 (ICE in gimplify_modify_expr, at gimplify.c:5821)
Backported from mainline
	2019-02-15  Richard Biener  <rguenther@suse.de>
		    Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/89278
	* tree-loop-distribution.c: Include tree-eh.h.
	(generate_memset_builtin, generate_memcpy_builtin): Call
	rewrite_to_non_trapping_overflow on builtin->size before passing it
	to force_gimple_operand_gsi.

	* gcc.dg/pr89278.c: New test.

From-SVN: r275113
2019-08-30 14:02:02 +02:00
Jakub Jelinek
901cdebac4 backport: re PR other/89342 (ICE in maybe_default_option, at opts.c:347)
Backported from mainline
	2019-02-15  Jakub Jelinek  <jakub@redhat.com>

	PR other/89342
	* optc-save-gen.awk: Handle optimize_fast like optimize_size or
	optimize_debug.
	* opth-gen.awk: Likewise.

	* gcc.dg/pr89342.c: New test.

From-SVN: r275112
2019-08-30 14:01:02 +02:00
Jakub Jelinek
983b120124 backport: re PR rtl-optimization/89354 (Combine pass yields wrong code with -O2 and -msse2 for 32bit target)
Backported from mainline
	2019-02-14  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/89354
	* combine.c (make_extraction): Punt if extraction_mode is narrower
	than len bits.

	* gcc.dg/pr89354.c: New test.

From-SVN: r275111
2019-08-30 13:59:10 +02:00
Jakub Jelinek
ec97cf390e backport: re PR tree-optimization/89314 (ICE in wide_int_to_tree_1, at tree.c:1561)
Backported from mainline
	2019-02-14  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/89314
	* fold-const.c (fold_binary_loc): Cast strlen argument to
	const char * before dereferencing it.  Formatting fixes.

	* gcc.dg/pr89314.c: New test.

From-SVN: r275110
2019-08-30 13:52:29 +02:00
Jakub Jelinek
2fe18111fa backport: re PR middle-end/89303 (memory leak with shared_ptr and enable_shared_from_this)
Backported from mainline
	2019-02-13  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/89303
	* tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var
	into pt->vars_contains_escaped_heap instead of setting
	pt->vars_contains_escaped_heap to it.

	2019-02-13  Jonathan Wakely  <jwakely@redhat.com>
		    Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/89303
	* g++.dg/torture/pr89303.C: New test.

From-SVN: r275109
2019-08-30 13:51:36 +02:00
Jakub Jelinek
7595616309 backport: re PR middle-end/89281 (gcc/optabs.c:3901:30: runtime error: shift exponent 32 is too large for 32-bit type 'int')
Backported from mainline
	2019-02-13  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/89281
	* optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of
	INTVAL (size), compare it to GET_MODE_MASK instead of
	1 << GET_MODE_BITSIZE.

From-SVN: r275108
2019-08-30 13:50:35 +02:00
Jakub Jelinek
6695f27e93 backport: re PR middle-end/89246 (LTO produces references to cloned symbols which the compiler failed to clone)
Backported from mainline
	2019-02-09  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/89246
	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
	If !node->definition and TYPE_ARG_TYPES is non-NULL, use
	TYPE_ARG_TYPES instead of DECL_ARGUMENTS.

	* gcc.dg/gomp/pr89246-1.c: New test.
	* gcc.dg/gomp/pr89246-2.c: New test.

From-SVN: r275107
2019-08-30 13:50:04 +02:00
Jakub Jelinek
2317cf064a backport: re PR target/88861 (ICE in calc_dfs_tree, at dominance.c:458)
Backported from mainline
	2019-01-16  David Malcolm  <dmalcolm@redhat.com>

	PR target/88861
	* combine.c (delete_noop_moves): Convert to "bool" return,
	returning true if any edges are eliminated.
	(combine_instructions): Also return true if delete_noop_moves
	returns true.

	* g++.dg/opt/pr89188.C: Include ../torture/pr88861.C.

	2019-01-16  David Malcolm  <dmalcolm@redhat.com>

	PR target/88861
	* g++.dg/torture/pr88861.C: New test.

From-SVN: r275106
2019-08-30 13:49:11 +02:00
Jakub Jelinek
046d004057 backport: re PR rtl-optimization/89234 (ICE in get_eh_region_and_lp_from_rtx at gcc/except.c:1824)
Backported from mainline
	2019-02-08  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/89234
	* except.c (copy_reg_eh_region_note_forward): Return if note_or_insn
	is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P.
	(copy_reg_eh_region_note_backward): Likewise.

	* g++.dg/ubsan/pr89234.C: New test.

From-SVN: r275105
2019-08-30 13:46:29 +02:00
Jakub Jelinek
12f1ae47de backport: re PR c++/89187 (ICE in initialize_argument_information, at calls.c:2023)
Backported from mainline
	2019-02-05  Jakub Jelinek  <jakub@redhat.com>

	PR c++/89187
	* optimize.c (maybe_thunk_body): Clear TREE_ADDRESSABLE on
	PARM_DECLs of the thunk.
	* lambda.c (maybe_add_lambda_conv_op): Likewise.

	* g++.dg/opt/pr89187.C: New test.

From-SVN: r275104
2019-08-30 13:43:53 +02:00
Jakub Jelinek
ddb4546b61 backport: re PR rtl-optimization/11304 (Wrong code production with -fomit-frame-pointer)
Backported from mainline
	2019-02-05  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/11304
	* gcc.target/i386/call-1.c (set_eax): Add "eax" clobber.
	* gcc.target/i386/call-2.c: New test.

From-SVN: r275102
2019-08-30 13:43:04 +02:00
Jakub Jelinek
034762a665 backport: re PR target/89188 (ICE in pre_and_rev_post_order_compute, at cfganal.c:1055)
Backported from mainline
	2019-02-05  Jakub Jelinek  <jakub@redhat.com>

	PR target/89188
	* dce.c (delete_unmarked_insns): Don't remove no-op moves if they
	can throw, non-call exceptions are enabled and we can't delete
	dead exceptions or alter cfg.  Set must_clean if
	delete_insn_and_edges returns true, don't set it blindly for calls.

	* g++.dg/opt/pr89188.C: New test.

From-SVN: r275101
2019-08-30 13:42:17 +02:00
Jakub Jelinek
e8a5c7b370 backport: re PR rtl-optimization/89195 (Corrupted stack offset after combine)
Backported from mainline
	2019-02-05  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/89195
	* combine.c (make_extraction): For MEMs, don't extract bytes outside
	of the original MEM.

	* gcc.c-torture/execute/pr89195.c: New test.

From-SVN: r275099
2019-08-30 13:38:28 +02:00
Jakub Jelinek
a4bdd1e70d backport: re PR target/89186 (ICE in mark_addressable at gcc/gimple-expr.c:894 since r268138)
Backported from mainline
	2019-02-05  Jakub Jelinek  <jakub@redhat.com>

	PR target/89186
	* optabs.c (prepare_cmp_insn): Pass x and y to
	emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).

	* g++.dg/ext/vector36.C: New test.

From-SVN: r275098
2019-08-30 13:37:41 +02:00
Jakub Jelinek
3b24f248b6 backport: re PR middle-end/87887 (ICE in make_ssa_name_fn, at tree-ssanames.c:269)
Backported from mainline
	2019-02-02  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/87887
	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
	Punt with warning on aggregate return or argument types.  Ignore
	type/mode checking for uniform arguments.

	* gcc.dg/gomp/pr87887-1.c: New test.
	* gcc.dg/gomp/pr87887-2.c: New test.

From-SVN: r275097
2019-08-30 13:36:58 +02:00
Jakub Jelinek
ff4e9fafa1 backport: re PR fortran/83246 (internal compiler error or loader problem might be related to a PARAMETER statement being in a BLOCK)
Backported from mainline
	2019-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/83246
	PR fortran/89084
	* trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
	if sym->ns->construct_entities rather than if
	sym->ns->parent->code->op == EXEC_BLOCK.

	* gfortran.dg/pr89084.f90: New test.
	* gfortran.dg/lto/pr89084_0.f90: New test.
	* gfortran.dg/pr83246.f90: New test.

From-SVN: r275096
2019-08-30 13:36:10 +02:00
Jakub Jelinek
231ab4cd97 backport: re PR tree-optimization/88107 (ICE in find_outermost_region_in_block, at tree-cfg.c:7157)
Backported from mainline
	2019-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/88107
	* tree-cfg.c (find_outermost_region_in_block): Add ALL argument,
	instead of assertion that eh_region_outermost is non-NULL, if it
	is NULL, set *ALL to true and return NULL.
	(move_sese_region_to_fn): Adjust caller, if all is set, call
	duplicate_eh_regions with NULL region.

	* gcc.dg/gomp/pr88107.c: New test.

From-SVN: r275095
2019-08-30 13:35:08 +02:00
Jakub Jelinek
36536c8b85 backport: re PR c++/66676 (pragma omp simd aligned(x) results in "internal compiler error: Segmentation fault")
Backported from mainline
	2019-01-29  Jakub Jelinek  <jakub@redhat.com>

	PR c++/66676
	PR ipa/89104
	* omp-simd-clone.c (simd_clone_clauses_extract)
	<case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL
	OMP_CLAUSE_ALIGNED_ALIGNMENT.

	* gcc.dg/gomp/pr89104.c: New test.

From-SVN: r275094
2019-08-30 13:34:08 +02:00
Jakub Jelinek
345ef95706 backport: re PR middle-end/89002 (ICE in scan_omp_1_op, at omp-low.c:3166)
Backported from mainline
	2019-01-28  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/89002
	* gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
	for lastprivate/linear IV, push gimplify context around gimplify_assign
	and, if it needed any temporaries, pop it into a gimple bind around the
	sequence.

	* testsuite/libgomp.c/pr89002.c: New test.

From-SVN: r275093
2019-08-30 13:33:12 +02:00
Jakub Jelinek
5fbf518398 backport: re PR target/87214 (r263772 miscompiled 520.omnetpp_r in SPEC CPU 2017)
Backported from mainline
	2019-01-27  Jakub Jelinek  <jakub@redhat.com>

	PR target/87214
	* config/i386/sse.md
	(<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>,
	avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the
	first constants in pairs are multiples of 2.  Formatting fixes.
	(avx512vl_shuf_<shuffletype>32x4_1<mask_name>,
	avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the
	first constants in each quadruple are multiples of 4.  Formatting fixes.

	* gcc.target/i386/avx512vl-pr87214-1.c: New test.
	* gcc.target/i386/avx512vl-pr87214-2.c: New test.

From-SVN: r275092
2019-08-30 13:32:15 +02:00
Jakub Jelinek
419b92b720 backport: re PR c++/88976 (ICE in fold_convert_loc, at fold-const.c:2552)
Backported from mainline
	2019-01-24  Jakub Jelinek  <jakub@redhat.com>

	PR c++/88976
	* semantics.c (finish_omp_cancel): Use maybe_convert_cond when not in
	template or build_x_binary_op otherwise.

	* c-c++-common/gomp/cancel-2.c: New test.
	* gcc.dg/gomp/cancel-1.c: New test.
	* g++.dg/gomp/cancel-1.C: New test.
	* g++.dg/gomp/cancel-2.C: New test.
	* g++.dg/gomp/cancel-3.C: New test.

From-SVN: r275091
2019-08-30 13:31:02 +02:00
Jakub Jelinek
fcf0c689a6 Backport PRs 49429, 49454, 86334, 88906
Backported from mainline
	2019-01-22  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/49429
	PR target/49454
	PR rtl-optimization/86334
	PR target/88906
	* expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
	addressable from here...
	(emit_block_op_via_libcall): ... to here.

	* gcc.target/i386/pr86334.c: New test.
	* gcc.target/i386/pr88906.c: New test.

From-SVN: r275090
2019-08-30 13:29:57 +02:00
Jakub Jelinek
ee2d155f24 backport: re PR c++/88949 (ICE in expand_expr_real_1, at expr.c:10001 with -fopenmp)
Backported from mainline
	2019-01-21  Jakub Jelinek  <jakub@redhat.com>

	PR c++/88949
	* optimize.c (cxx_copy_decl): New function.
	(clone_body): Use it instead of copy_decl_no_change.

	* g++.dg/gomp/pr88949.C: New test.

From-SVN: r275089
2019-08-30 13:29:04 +02:00
Jakub Jelinek
47eab6cb44 backport: re PR fortran/88902 (ICE: Segmentation fault (in DFS::DFS_write_tree_body))
Backported from mainline
	2019-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/88902
	* trans-decl.c (gfc_get_symbol_decl): Don't add length to function
	or parent function if it has been added there already.

	* gfortran.dg/pr88902.f90: New test.

From-SVN: r275088
2019-08-30 13:28:22 +02:00
Jakub Jelinek
fec06b67af backport: re PR rtl-optimization/88870 (ICE: Segmentation fault (in df_worklist_propagate_backward))
Backported from mainline
	2019-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/88870
	* dce.c (deletable_insn_p): Never delete const/pure calls that can
	throw if we can't alter the cfg or delete dead exceptions.
	(mark_insn): Don't call find_call_stack_args for such calls.

	* gcc.dg/pr88870.c: New test.

From-SVN: r275087
2019-08-30 13:27:33 +02:00
Jakub Jelinek
190a7b0624 backport: re PR c/88568 ('dllimport' no longer implies 'extern' in C)
Backported from mainline
	2019-01-10  Jakub Jelinek  <jakub@redhat.com>

	PR c/88568
	* tree.c (handle_dll_attribute): Clear TREE_STATIC after setting
	DECL_EXTERNAL.

	* gcc.dg/pr88568.c: New test.

From-SVN: r275086
2019-08-30 13:26:42 +02:00
Jakub Jelinek
caef3d1cbd backport: re PR middle-end/82564 (ICE at -O1 and above: in assign_stack_temp_for_type, at function.c:783)
Backported from mainline
	2019-01-05  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/82564
	PR target/88620
	* expr.c (expand_assignment): For calls returning VLA structures
	if to_rtx is not a MEM, force it into a stack temporary.

	* gcc.dg/nested-func-12.c: New test.
	* gcc.c-torture/compile/pr82564.c: New test.

From-SVN: r275085
2019-08-30 13:26:01 +02:00
Jakub Jelinek
f0ea2c335a backport: re PR target/88594 (ICE in int_mode_for_mode, at stor-layout.c:403)
Backported from mainline
	2019-01-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/88594
	* config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
	of GET_MODE (opN) as modes of the libcall arguments.

	* gcc.dg/pr88594.c: New test.

From-SVN: r275084
2019-08-30 13:25:16 +02:00
Jakub Jelinek
c14f4d769a backport: re PR debug/88644 (Unexpected pub type info eliminated after r246973 (causes pubtypes-*.c to regress).)
Backported from mainline
	2019-01-03  Jakub Jelinek  <jakub@redhat.com>

	PR debug/88644
	* dwarf2out.c (modified_type_die): If type is equal to sizetype,
	change it to qualified_type.

	* gcc.dg/debug/dwarf2/pr88644.c: New test.

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

	* gcc.dg/pubtypes-2.c: Adjust expected pubtypes length.
	* gcc.dg/pubtypes-3.c: Likewise.
	* gcc.dg/pubtypes-4.c: Likewise.

From-SVN: r275083
2019-08-30 13:24:34 +02:00
Jakub Jelinek
81b669729b backport: re PR middle-end/85594 (ICE during expand when compiling with -fwrapv -fopenmp)
Backported from mainline
	2018-12-21  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/85594
	PR middle-end/88553
	* omp-expand.c (extract_omp_for_update_vars): Regimplify the condition
	if needed.
	(expand_omp_for_generic): Don't clobber t temporary for ordered loops.

	* gcc.dg/gomp/pr85594.c: New test.
	* gcc.dg/gomp/pr88553.c: New test.

From-SVN: r275082
2019-08-30 13:23:16 +02:00
Jakub Jelinek
8d1d869964 backport: re PR rtl-optimization/88563 (wrong code with -O2 -fno-code-hoisting -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-forwprop -fno-tree-fre -fno-tree-pre -fno-tree-vrp)
Backported from mainline
	2018-12-21  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/88563
	* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Swap innermode
	and mode arguments to convert_modes.  Likewise swap mode and word_mode
	arguments.  Handle both arguments with VOIDmode before convert_modes
	of one of them.  Formatting fixes.

	* gcc.dg/pr88563.c: New test.

From-SVN: r275081
2019-08-30 13:22:27 +02:00
Jakub Jelinek
7ff105fdae backport: re PR rtl-optimization/88470 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2354)
Backported from mainline
	2018-12-13  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/88470
	* cfgcleanup.c (outgoing_edges_match): If the function is
	shrink-wrapped and bb1 ends with a JUMP_INSN with a single fake
	edge to EXIT, return false.

	* gcc.target/i386/pr88470.c: New test.

From-SVN: r275080
2019-08-30 13:21:45 +02:00
Jakub Jelinek
4cdad636dd backport: re PR rtl-optimization/88416 (ICE in in df_uses_record, at df-scan.c:3013)
Backported from mainline
	2018-12-13  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/88416
	* valtrack.c (cleanup_auto_inc_dec): Handle pre/post-inc/dec/modify
	even if !AUTO_INC_DEC.

	* gcc.target/i386/pr88416.c: New test.

From-SVN: r275079
2019-08-30 13:20:47 +02:00
Jakub Jelinek
67747d8355 backport: re PR c++/86669 (Complete object constructor clone omits length for a c++11 braced initialiser)
Backported from mainline
	2018-12-07  Jakub Jelinek  <jakub@redhat.com>

	PR c++/86669
	* call.c (make_temporary_var_for_ref_to_temp): Call pushdecl even for
	automatic vars.

	* g++.dg/cpp0x/initlist105.C: New test.
	* g++.dg/cpp0x/initlist106.C: New test.
	* g++.dg/other/pr86669.C: New test.

From-SVN: r275078
2019-08-30 13:20:08 +02:00
Jakub Jelinek
19dfbd5380 backport: re PR target/85593 (GCC on ARM allocates R3 for local variable when calling naked function with O2 optimizations enabled)
Backported from mainline
	2018-12-07  Jakub Jelinek  <jakub@redhat.com>

	PR target/85593
	* final.c (rest_of_handle_final): Don't call collect_fn_hard_reg_usage
	for functions with naked attribute.

From-SVN: r275077
2019-08-30 13:19:17 +02:00
Jakub Jelinek
42aed577cf backport: re PR fortran/88377 (ICE in gfc_omp_clause_copy_ctor, at fortran/trans-openmp.c:614)
Backported from mainline
	2018-12-07  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/88377
	* trans-openmp.c (gfc_omp_clause_default_ctor,
	gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op,
	gfc_omp_clause_linear_ctor, gfc_omp_clause_dtor): Only consider
	GFC_DECL_GET_SCALAR_ALLOCATABLE vars as scalar allocatables if they
	have pointer type.

	* gfortran.dg/gomp/pr88377.f90: New test.

From-SVN: r275076
2019-08-30 13:18:41 +02:00
Jakub Jelinek
cc1f52a224 backport: re PR c++/87506 (ICE with inherited constexpr constructor with const argument)
Backported from mainline
	2018-12-07  Jakub Jelinek  <jakub@redhat.com>

	PR c++/87506
	* constexpr.c (adjust_temp_type): Handle EMPTY_CLASS_EXPR.

	* g++.dg/cpp0x/constexpr-87506.C: New test.

From-SVN: r275075
2019-08-30 13:17:41 +02:00
Jakub Jelinek
14ffeb1c37 backport: re PR c++/88103 (Wrong value category when conditional expression result is used as object expression)
Backported from mainline
	2018-12-04  Jakub Jelinek  <jakub@redhat.com>

	PR c++/88103
	* typeck.c (build_class_member_access_expr): If unary_complex_lvalue
	turned xvalue_p into non-xvalue_p, call move on it.

	* g++.dg/cpp0x/rv-cond3.C: New test.

From-SVN: r275074
2019-08-30 13:16:55 +02:00
Jakub Jelinek
ee9212971f backport: re PR tree-optimization/71109 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in "maybe_record_trace_start")
Backported from mainline
	2018-12-03  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/71109
	* gcc.c-torture/compile/pr71109.c: New test.

From-SVN: r275073
2019-08-30 13:16:10 +02:00
Jakub Jelinek
8f674ddf82 backport: re PR debug/85550 (-fdebug-types-section broken with DW_OP_addr in DW_AT_location)
Backported from mainline
	2018-11-30  Jakub Jelinek  <jakub@redhat.com>

	PR debug/85550
	* g++.dg/debug/dwarf2/pr85550.C: New test.

From-SVN: r275072
2019-08-30 13:15:39 +02:00
Jakub Jelinek
17981e7baa backport: re PR c++/88181 (ICE: verify_type failed (error: type variant differs by TYPE_PACKED))
Backported from mainline
	2018-11-27  Jakub Jelinek  <jakub@redhat.com>

	PR c++/88181
	* class.c (fixup_attribute_variants): Also propagate TYPE_PACKED
	to variants.

	* g++.dg/debug/pr88181.C: New test.

From-SVN: r275071
2019-08-30 13:14:56 +02:00
Jakub Jelinek
5ba94a17e7 backport: re PR tree-optimization/87895 (ICE in purge_dead_edges, at cfgrtl.c:3246)
Backported from mainline
	2018-11-20  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/87895
	* omp-simd-clone.c (ipa_simd_modify_function_body): When removing
	or replacing GIMPLE_RETURN, set EDGE_FALLTHRU on the edge to EXIT.
	(simd_clone_adjust): Don't set EDGE_FALLTHRU here. In a loop that
	redirects edges to EXIT to edges to incr_bb, iterate while EXIT
	has any preds and always use EDGE_PRED (, 0).

	* gcc.dg/gomp/pr87895-1.c: New test.
	* gcc.dg/gomp/pr87895-2.c: New test.
	* gcc.dg/gomp/pr87895-3.c: New test.

From-SVN: r275070
2019-08-30 13:12:23 +02:00
Jakub Jelinek
d690951022 backport: re PR c++/60994 (gcc does not recognize hidden/shadowed enumeration as valid nested-name-specifier)
Backported from mainline
	2018-11-19  Jakub Jelinek  <jakub@redhat.com>

	PR c++/60994
	* g++.dg/lookup/pr60994.C: New test.

From-SVN: r275068
2019-08-30 13:09:57 +02:00
Jakub Jelinek
1d58d86b20 backport: re PR fortran/87725 (OpenMP 4.5 clause schedule(simd,monotonic:static) not understood)
Backported from mainline
	2018-10-25  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/87725
	* openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and
	nonmonotonic modifiers regardless of if they have been parsed
	already or if the opposite one has.  Fix up check whether
	comma after modifier should be parsed.
	(resolve_omp_clauses): Diagnose schedule modifier restrictions.

	* c-c++-common/gomp/schedule-modifiers-1.c (bar): Separate modifier
	from kind with a colon rather than comma.
	* gfortran.dg/gomp/schedule-modifiers-1.f90: New test.
	* gfortran.dg/gomp/schedule-modifiers-2.f90: New test.

From-SVN: r275067
2019-08-30 13:09:22 +02:00
Jakub Jelinek
20940c0e02 backport: re PR middle-end/87647 (ICE on valid code in decode_addr_const, at varasm.c:2958)
Backported from mainline
	2018-10-20  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/87647
	* varasm.c (decode_addr_const): Handle COMPOUND_LITERAL_EXPR.

	* gcc.c-torture/compile/pr87647.c: New test.

From-SVN: r275066
2019-08-30 13:08:10 +02:00
Jakub Jelinek
6e56fdebe6 backport: re PR middle-end/85488 (segmentation fault when compiling code using the ordered(n) clause in OpenMP 4.5)
Backported from mainline
	2018-10-19  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/85488
	PR middle-end/87649
	* omp-low.c (check_omp_nesting_restrictions): Diagnose ordered without
	depend closely nested inside of loop with ordered clause with
	a parameter.

	* c-c++-common/gomp/doacross-2.c: New test.
	* c-c++-common/gomp/sink-3.c: Expect another error during error
	recovery.

From-SVN: r275065
2019-08-30 13:07:22 +02:00
GCC Administrator
b62c170e60 Daily bump.
From-SVN: r275056
2019-08-30 00:16:05 +00:00
GCC Administrator
1696db918c Daily bump.
From-SVN: r275018
2019-08-29 00:16:05 +00:00
GCC Administrator
d170a707c8 Daily bump.
From-SVN: r274977
2019-08-28 00:16:05 +00:00
GCC Administrator
2dbfc8c9db Daily bump.
From-SVN: r274941
2019-08-27 00:16:13 +00:00