aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2019-08-30backport: re PR sanitizer/89869 (-fsanitize=undefined miscompilation)Jakub Jelinek4-9/+43
Backported from mainline 2019-03-29 Jakub Jelinek <jakub@redhat.com> PR sanitizer/89869 * typeck.c: Include gimplify.h. (cp_build_modify_expr) <case COND_EXPR>: Unshare rhs before using it for second time. Formatting fixes. * g++.dg/ubsan/vptr-14.C: New test. From-SVN: r275145
2019-08-30backport: re PR c/89872 (GCC does not generate read access to volatile ↵Jakub Jelinek4-0/+39
compound literal) Backported from mainline 2019-03-29 Jakub Jelinek <jakub@redhat.com> PR c/89872 * gimplify.c (gimplify_compound_literal_expr): Don't optimize a non-addressable complit into its initializer if it is volatile. * gcc.dg/tree-ssa/pr89872.c: New test. From-SVN: r275144
2019-08-30backport: re PR middle-end/89621 (ICE with allocatable character and openmp)Jakub Jelinek6-1/+131
Backported from mainline 2019-03-28 Jakub Jelinek <jakub@redhat.com> PR middle-end/89621 * tree-inline.h (struct copy_body_data): Add dont_remap_vla_if_no_change flag. * tree-inline.c (remap_type_3, remap_type_2): New functions. (remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change and remap_type_2 returns false. * omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change. * gfortran.dg/gomp/pr89621.f90: New test. From-SVN: r275143
2019-08-30backport: re PR c++/89796 (Incorrect warning generated with OpenMP atomic ↵Jakub Jelinek5-0/+93
capture) Backported from mainline 2019-03-26 Jakub Jelinek <jakub@redhat.com> PR c++/89796 * semantics.c (finish_omp_atomic): Add warning_sentinel for -Wunused-value around finish_expr_stmt call. * g++.dg/gomp/pr89796.C: New test. * gcc.dg/gomp/pr89796.c: New test. From-SVN: r275142
2019-08-30backport: re PR c++/60702 (thread_local initialization)Jakub Jelinek3-12/+27
Backported from mainline 2019-03-25 Jakub Jelinek <jakub@redhat.com> PR c++/60702 * g++.dg/tls/thread_local11.C: Remove scan-tree-dump-times directives for _ZTH* calls. * g++.dg/tls/thread_local11a.C: New test. From-SVN: r275141
2019-08-30backport: re PR c++/60702 (thread_local initialization)Jakub Jelinek21-25/+283
Backported from mainline 2019-03-22 Jakub Jelinek <jakub@redhat.com> PR c++/60702 * cp-tree.h (get_tls_wrapper_fn): Remove declaration. (maybe_get_tls_wrapper_call): Declare. * decl2.c (get_tls_wrapper_fn): Make static. (maybe_get_tls_wrapper_call): New function. * typeck.c (build_class_member_access_expr): Handle accesses to TLS variables. * semantics.c (finish_qualified_id_expr): Likewise. (finish_id_expression_1): Use maybe_get_tls_wrapper_call. * pt.c (tsubst_copy_and_build): Likewise. * g++.dg/tls/thread_local11.C: New test. * g++.dg/tls/thread_local11.h: New test. * g++.dg/tls/thread_local12a.C: New test. * g++.dg/tls/thread_local12b.C: New test. * g++.dg/tls/thread_local12c.C: New test. * g++.dg/tls/thread_local12d.C: New test. * g++.dg/tls/thread_local12e.C: New test. * g++.dg/tls/thread_local12f.C: New test. * g++.dg/tls/thread_local12g.C: New test. * g++.dg/tls/thread_local12h.C: New test. * g++.dg/tls/thread_local12i.C: New test. * g++.dg/tls/thread_local12j.C: New test. * g++.dg/tls/thread_local12k.C: New test. * g++.dg/tls/thread_local12l.C: New test. From-SVN: r275140
2019-08-30backport: re PR c++/89767 (ICE with tuple and optimization)Jakub Jelinek7-30/+132
Backported from mainline 2019-03-21 Jakub Jelinek <jakub@redhat.com> PR c++/89767 * parser.c (cp_parser_lambda_introducer): Add ids and first_capture_id variables, check for duplicates in this function. * lambda.c (add_capture): Don't check for duplicates nor use IDENTIFIER_MARKED. (register_capture_members): Don't clear IDENTIFIER_MARKED here. * g++.dg/cpp1y/lambda-init18.C: New test. * g++.dg/cpp1y/lambda-init19.C: New test. * g++.dg/cpp1y/pr89767.C: New test. From-SVN: r275139
2019-08-30backport: re PR target/89752 (ICE in emit_move_insn, at expr.c:3723)Jakub Jelinek2-2/+8
Backported from mainline 2019-03-20 Jakub Jelinek <jakub@redhat.com> PR target/89752 * lra-constraints.c (process_alt_operands) <reg>: For BLKmode, don't update this_alternative nor this_alternative_set. From-SVN: r275138
2019-08-30backport: re PR rtl-optimization/89768 (ICE in compare_and_jump_seq at ↵Jakub Jelinek2-2/+8
loop-unroll.c:838) Backported from mainline 2019-03-19 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/89768 * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode instead of GEN_INT. (unroll_loop_runtime_iterations): Likewise. From-SVN: r275137
2019-08-30backport: re PR target/89752 (ICE in emit_move_insn, at expr.c:3723)Jakub Jelinek6-2/+38
Backported from mainline 2019-03-19 Jakub Jelinek <jakub@redhat.com> PR target/89752 * gimplify.c (gimplify_asm_expr): For output argument with TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise diagnose error. * g++.dg/ext/asm15.C: Check for particular diagnostic wording. * g++.dg/ext/asm16.C: Likewise. * g++.dg/ext/asm17.C: New test. From-SVN: r275136
2019-08-30backport: re PR target/89726 (Incorrect inlined version of 'ceil' for 32bit)Jakub Jelinek4-8/+29
Backported from mainline 2019-03-19 Jakub Jelinek <jakub@redhat.com> PR target/89726 * config/i386/i386.c (ix86_expand_floorceildf_32): In ceil compensation use x2 += 1 instead of x2 -= -1 and when honoring signed zeros, do another copysign after the compensation. * gcc.target/i386/fpprec-1.c (x): Add 6 new constants. (expect_round, expect_rint, expect_floor, expect_ceil, expect_trunc): Add expected results for them. From-SVN: r275135
2019-08-30backport: re PR c/89734 (const qualifier on return type not erased inside ↵Jakub Jelinek4-4/+31
__typeof__) Backported from mainline 2019-03-19 Jakub Jelinek <jakub@redhat.com> PR c/89734 * c-decl.c (grokdeclarator): Call c_build_qualified_type on function return type even if quals_used is 0. Formatting fixes. * gcc.dg/pr89734.c: New test. From-SVN: r275134
2019-08-30backport: re PR debug/89704 (ICE in add_const_value_attribute, at ↵Jakub Jelinek4-0/+28
dwarf2out.c:19685) Backported from mainline 2019-03-15 Jakub Jelinek <jakub@redhat.com> PR debug/89704 * dwarf2out.c (add_const_value_attribute): Return false for MINUS, SIGN_EXTEND and ZERO_EXTEND. * gcc.dg/debug/pr89704.c: New test. From-SVN: r275133
2019-08-30backport: re PR rtl-optimization/89679 (wrong code with -Og ↵Jakub Jelinek4-5/+46
-frerun-cse-after-loop -fno-tree-fre) Backported from mainline 2019-03-14 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/89679 * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it would contain a paradoxical SUBREG. * gcc.dg/pr89679.c: New test. From-SVN: r275132
2019-08-30backport: re PR tree-optimization/89703 (ICE in compare_values_warnv, at ↵Jakub Jelinek5-0/+52
tree-vrp.c:997) Backported from mainline 2019-03-14 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/89703 * tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types aren't compatible also with builtin_decl_explicit. Check pure or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}} and BUILT_IN_STPNCPY{,_CHK}. * gcc.c-torture/compile/pr89703-1.c: New test. * gcc.c-torture/compile/pr89703-2.c: New test. From-SVN: r275131
2019-08-30backport: re PR c++/89512 (ICE in get_expr_operands, at tree-ssa-operands.c:882)Jakub Jelinek4-0/+38
Backported from mainline 2019-03-14 Jakub Jelinek <jakub@redhat.com> PR c++/89512 * semantics.c (finish_qualified_id_expr): Reject variable templates. * g++.dg/cpp1y/var-templ61.C: New test. From-SVN: r275130
2019-08-30backport: re PR middle-end/88588 (ICE in make_decl_rtl, at varasm.c:1329)Jakub Jelinek4-1/+78
Backported from mainline 2019-03-13 Jakub Jelinek <jakub@redhat.com> PR middle-end/88588 * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args. (ipa_simd_modify_function_body): Handle PHIs. * c-c++-common/gomp/pr88588.c: New test. From-SVN: r275129
2019-08-30backport: re PR middle-end/89663 (ICE in expand_builtin_int_roundingfn_2, at ↵Jakub Jelinek5-2/+178
builtins.c:2831) Backported from mainline 2019-03-12 Jakub Jelinek <jakub@redhat.com> PR middle-end/89663 * builtins.c (expand_builtin_int_roundingfn, expand_builtin_int_roundingfn_2): Return NULL_RTX instead of gcc_unreachable if validate_arglist fails. * gcc.c-torture/compile/pr89663-1.c: New test. * gcc.c-torture/compile/pr89663-2.c: New test. From-SVN: r275128
2019-08-30backport: re PR fortran/89651 (OpenMP private array uninitialized warning ↵Jakub Jelinek4-0/+39
with -O flag) Backported from mainline 2019-03-11 Jakub Jelinek <jakub@redhat.com> PR fortran/89651 * trans-openmp.c (gfc_omp_clause_default_ctor): Set TREE_NO_WARNING on decl if adding COND_EXPR for allocatable. (gfc_omp_clause_copy_ctor): Set TREE_NO_WARNING on dest. * gfortran.dg/gomp/pr89651.f90: New test. From-SVN: r275127
2019-08-30backport: re PR c/88568 ('dllimport' no longer implies 'extern' in C)Jakub Jelinek4-2/+29
Backported from mainline 2019-03-09 Jakub Jelinek <jakub@redhat.com> PR c/88568 * tree.c (handle_dll_attribute): Don't clear TREE_STATIC for dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT. * g++.dg/other/pr88568.C: New test. From-SVN: r275126
2019-08-30backport: re PR c++/82075 (structured binding fails with empty base class)Jakub Jelinek2-0/+19
Backported from mainline 2019-03-08 Jakub Jelinek <jakub@redhat.com> PR c++/82075 * g++.dg/cpp1z/decomp49.C: New test. From-SVN: r275125
2019-08-30backport: re PR c++/87148 (backward compatibility issue to take char [] as ↵Jakub Jelinek4-0/+29
incomplete type) Backported from mainline 2019-03-06 Jakub Jelinek <jakub@redhat.com> PR c++/87148 * init.c (build_value_init_noctor): Ignore flexible array members. * g++.dg/ext/flexary34.C: New test. From-SVN: r275124
2019-08-30backport: re PR target/89587 (gcc's rs6000 configuration unconditionally ↵Jakub Jelinek2-2/+6
sets MULTIARCH_DIRNAME, even when multiarch is disabled) Backported from mainline 2019-03-05 Jakub Jelinek <jakub@redhat.com> PR target/89587 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only if_multiarch. From-SVN: r275123
2019-08-30backport: re PR middle-end/89590 (ICE in maybe_emit_free_warning)Jakub Jelinek4-0/+25
Backported from mainline 2019-03-05 Jakub Jelinek <jakub@redhat.com> PR middle-end/89590 * builtins.c (maybe_emit_free_warning): Punt if free doesn't have exactly one argument. * gcc.dg/pr89590.c: New test. From-SVN: r275122
2019-08-30backport: re PR c/89521 (ICE in expand_builtin_int_roundingfn, at ↵Jakub Jelinek3-0/+59
builtins.c:2697) Backported from mainline 2019-02-28 Jakub Jelinek <jakub@redhat.com> PR c/89521 * gcc.dg/pr89521-1.c: New test. * gcc.dg/pr89521-2.c: New test. From-SVN: r275121
2019-08-30backport: re PR c/89520 (ICE tree check: accessed operand 4 of call_expr ↵Jakub Jelinek5-7/+88
with 3 operands in convert_to_integer_1, at convert.c:668) Backported from mainline 2019-02-28 Jakub Jelinek <jakub@redhat.com> PR c/89520 * convert.c (convert_to_real_1, convert_to_integer_1): Punt for builtins if they don't have a single scalar floating point argument. Formatting fixes. * gcc.dg/pr89520-1.c: New test. * gcc.dg/pr89520-2.c: New test. From-SVN: r275120
2019-08-30backport: re PR c++/89403 (ICE in maybe_clone_body, at cp/optimize.c:693)Jakub Jelinek5-6/+34
Backported from mainline 2019-02-20 Jakub Jelinek <jakub@redhat.com> PR c++/89403 * decl2.c (c_parse_final_cleanups): Move TREE_ASM_WRITTEN setting for flag_syntax_only from here... * semantics.c (expand_or_defer_fn_1): ... here. * g++.dg/cpp0x/pr89403.C: New test. From-SVN: r275119
2019-08-30backport: re PR middle-end/89412 (gcc ICE in simplify_subreg, at ↵Jakub Jelinek4-3/+35
simplify-rtx.c:6273 on i686-linux-gnu) Backported from mainline 2019-02-20 Jakub Jelinek <jakub@redhat.com> PR middle-end/89412 * expr.c (expand_assignment): If result is a MEM, use change_address instead of simplify_gen_subreg. * gcc.c-torture/compile/pr89412.c: New test. From-SVN: r275118
2019-08-30backport: re PR middle-end/89091 (ICE: Segmentation fault (in tree_class_check))Jakub Jelinek4-4/+31
Backported from mainline 2019-02-20 Jakub Jelinek <jakub@redhat.com> David Malcolm <dmalcolm@redhat.com> PR middle-end/89091 * fold-const.c (decode_field_reference): Return NULL_TREE if lang_hooks.types.type_for_size returns NULL. Check it before overwriting *exp_. Use return NULL_TREE instead of return 0. * gcc.dg/torture/pr89091.c: New test. From-SVN: r275117
2019-08-30backport: re PR tree-optimization/88074 (g++ hangs on math expression)Jakub Jelinek5-4/+92
Backported from mainline 2019-02-20 Jakub Jelinek <jakub@redhat.com> PR middle-end/88074 PR middle-end/89415 * toplev.c (do_compile): Double the emin/emax exponents to workaround buggy mpc_norm. 2019-02-19 Richard Biener <rguenther@suse.de> PR middle-end/88074 * toplev.c (do_compile): Initialize mpfr's exponent range based on available float modes. 2019-02-20 Jakub Jelinek <jakub@redhat.com> PR middle-end/88074 PR middle-end/89415 * gcc.dg/pr88074-2.c: New test. 2019-02-19 Richard Biener <rguenther@suse.de> PR middle-end/88074 * gcc.dg/pr88074.c: New testcase. From-SVN: r275116
2019-08-30backport: re PR target/89361 (s390 broken without S390_USE_TARGET_ATTRIBUTE, ↵Jakub Jelinek2-3/+16
likely since r257489) Backported from mainline 2019-02-18 Jakub Jelinek <jakub@redhat.com> PR target/89361 * config/s390/s390.c (s390_indirect_branch_attrvalue, s390_indirect_branch_settings): Define unconditionally. (s390_set_current_function): Likewise, but guard the whole body except the s390_indirect_branch_settings call with #if S390_USE_TARGET_ATTRIBUTE. (TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally. From-SVN: r275115
2019-08-30backport: re PR middle-end/89303 (memory leak with shared_ptr and ↵Jakub Jelinek2-28/+34
enable_shared_from_this) Backported from mainline 2019-02-19 Jakub Jelinek <jakub@redhat.com> PR middle-end/89303 * g++.dg/torture/pr89303.C: Move everything from std namespace to my namespace. From-SVN: r275114
2019-08-30backport: re PR tree-optimization/89278 (ICE in gimplify_modify_expr, at ↵Jakub Jelinek4-0/+41
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-30backport: re PR other/89342 (ICE in maybe_default_option, at opts.c:347)Jakub Jelinek5-4/+32
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-30backport: re PR rtl-optimization/89354 (Combine pass yields wrong code with ↵Jakub Jelinek4-0/+33
-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-30backport: re PR tree-optimization/89314 (ICE in wide_int_to_tree_1, at ↵Jakub Jelinek4-6/+34
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-30backport: re PR middle-end/89303 (memory leak with shared_ptr and ↵Jakub Jelinek4-1/+804
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-30backport: re PR middle-end/89281 (gcc/optabs.c:3901:30: runtime error: shift ↵Jakub Jelinek2-1/+8
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-30backport: re PR middle-end/89246 (LTO produces references to cloned symbols ↵Jakub Jelinek5-21/+70
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-30backport: re PR target/88861 (ICE in calc_dfs_tree, at dominance.c:458)Jakub Jelinek5-15/+41
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-30backport: re PR rtl-optimization/89234 (ICE in get_eh_region_and_lp_from_rtx ↵Jakub Jelinek4-0/+27
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-30backport: re PR c++/89187 (ICE in initialize_argument_information, at ↵Jakub Jelinek5-0/+38
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-30backport: re PR rtl-optimization/11304 (Wrong code production with ↵Jakub Jelinek3-1/+17
-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-30backport: re PR target/89188 (ICE in pre_and_rev_post_order_compute, at ↵Jakub Jelinek4-8/+29
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-30backport: re PR rtl-optimization/89195 (Corrupted stack offset after combine)Jakub Jelinek4-0/+30
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-30backport: re PR target/89186 (ICE in mark_addressable at ↵Jakub Jelinek4-1/+18
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-30backport: re PR middle-end/87887 (ICE in make_ssa_name_fn, at ↵Jakub Jelinek5-3/+72
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-30backport: re PR fortran/83246 (internal compiler error or loader problem ↵Jakub Jelinek6-4/+71
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-30backport: re PR tree-optimization/88107 (ICE in ↵Jakub Jelinek4-5/+66
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-30backport: re PR c++/66676 (pragma omp simd aligned(x) results in "internal ↵Jakub Jelinek4-0/+29
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