aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2012-02-01 20:01:49 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2012-02-01 20:01:49 +0100
commit887ee29f8e30cfa163eb584b0d6d40689679b639 (patch)
tree7e972460c7393e3f569d7eccd0c04aa622008a33 /gcc/fortran
parentc2b13bb66d214425e2c616b34de09111c5b0e3a6 (diff)
downloadgcc-887ee29f8e30cfa163eb584b0d6d40689679b639.zip
gcc-887ee29f8e30cfa163eb584b0d6d40689679b639.tar.gz
gcc-887ee29f8e30cfa163eb584b0d6d40689679b639.tar.bz2
2012-02-01 Tobias Burnus
PR fortran/52059 * trans-expr.c (gfc_conv_procedure_call): Add array ref only to variables. 2012-02-01 Tobias Burnus PR fortran/52059 * gfortran.dg/elemental_function_1.f90: New. From-SVN: r183807
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-expr.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index fbbfccf..2a7cc28 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2012-02-01 Tobias Burnus
+
+ PR fortran/52059
+ * trans-expr.c (gfc_conv_procedure_call): Add array ref
+ only to variables.
+
2012-01-31 Tobias Burnus <burnus@net-b.de>
PR fortran/52024
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 657b4f4..4574c8e 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -3526,7 +3526,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
gfc_init_se (&parmse, se);
parm_kind = ELEMENTAL;
- if (se->ss->dimen > 0
+ if (se->ss->dimen > 0 && e->expr_type == EXPR_VARIABLE
&& se->ss->info->data.array.ref == NULL)
{
gfc_conv_tmp_array_ref (&parmse);