aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2018-07-02 07:24:43 +0000
committerPaul Thomas <pault@gcc.gnu.org>2018-07-02 07:24:43 +0000
commite057d3e550139ae931013ca65d7bc521d8eb63c3 (patch)
treeee97c942c44416e42892a42c340f5f6f8a2ce1cb /gcc/fortran/trans-array.c
parent87c789f1c0b2df4164de597d2a1ca6f70d72e119 (diff)
downloadgcc-e057d3e550139ae931013ca65d7bc521d8eb63c3.zip
gcc-e057d3e550139ae931013ca65d7bc521d8eb63c3.tar.gz
gcc-e057d3e550139ae931013ca65d7bc521d8eb63c3.tar.bz2
re PR fortran/45305 (Array-valued calles to elementals are not simplified)
2018-07-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/45305 * expr.c : Add a prototype for scalarize_intrinsic_call. (gfc_simplify_expr): Use scalarize_intrinsic_call for elemental intrinsic function calls. (scalarize_intrinsic_call): Add 'init_flag' argument. Check if the expression or any of the actual argument expressions are NULL. Before calling gfc_check_init_expr, check 'init_flag'. Only simplify the scalarized expressions if there are no errors on the stack. (gfc_check_init_expr): Set 'init_flag' true in the call to scalarize_intrinsic_call. 2018-07-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/45305 * gfortran.dg/scalarize_parameter_array_2.f90: New test. From-SVN: r262300
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r--gcc/fortran/trans-array.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index f0f5c1b..8133794 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -8842,7 +8842,7 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
break;
case COPY_ALLOC_COMP:
- if (c->attr.pointer)
+ if (c->attr.pointer || c->attr.proc_pointer)
continue;
/* We need source and destination components. */