From: Thomas Koenig Date: Sun, 3 Jan 2021 20:40:04 +0000 (+0100) Subject: Merge branch 'master' into devel/coarray_native X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=afae4a55ccaa0de95ea11e5f634084db6ab2f444;p=thirdparty%2Fgcc.git Merge branch 'master' into devel/coarray_native --- afae4a55ccaa0de95ea11e5f634084db6ab2f444 diff --cc gcc/fortran/resolve.c index 106df27416a4,249f402b8d93..a2898bf45455 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@@ -3795,9 -3752,12 +3800,14 @@@ resolve_call (gfc_code *c /* Typebound procedure: Assume the worst. */ gfc_current_ns->proc_name->attr.array_outer_dependency = 1; + if (flag_coarray == GFC_FCOARRAY_SHARED) + fixup_shared_coarray_args (csym, c->ext.actual); + + if (c->resolved_sym + && c->resolved_sym->attr.ext_attr & (1 << EXT_ATTR_DEPRECATED)) + gfc_warning (OPT_Wdeprecated_declarations, + "Using subroutine %qs at %L is deprecated", + c->resolved_sym->name, &c->loc); - return t; } diff --cc gcc/fortran/trans-array.c index 998ec959402e,33e05be5bd18..199bcaed9b12 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@@ -3074,10 -3071,12 +3156,13 @@@ gfc_conv_ss_descriptor (stmtblock_t * b Otherwise we must evaluate it now to avoid breaking dependency analysis by pulling the expressions for elemental array indices inside the loop. */ + if (!(DECL_P (tmp) || (TREE_CODE (tmp) == ADDR_EXPR - && DECL_P (TREE_OPERAND (tmp, 0))))) + && DECL_P (TREE_OPERAND (tmp, 0))) + || (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (se.expr)) + && TREE_CODE (se.expr) == COMPONENT_REF + && GFC_CLASS_TYPE_P (TREE_TYPE (TREE_OPERAND (se.expr, 0)))))) tmp = gfc_evaluate_now (tmp, block); info->data = tmp; diff --cc gcc/fortran/trans-intrinsic.c index 912c9b03a749,bcc13ce79c62..13c32957d698 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@@ -40,8 -40,9 +40,10 @@@ along with GCC; see the file COPYING3 #include "trans-types.h" #include "trans-array.h" #include "dependency.h" /* For CAF array alias analysis. */ + #include "attribs.h" + /* Only for gfc_trans_assign and gfc_trans_pointer_assign. */ +#include "trans-stmt.h" /* This maps Fortran intrinsic math functions to external library or GCC builtin functions. */