aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.h
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2015-05-09 13:36:14 +0000
committerMikael Morin <mikael@gcc.gnu.org>2015-05-09 13:36:14 +0000
commit14aeb3cd27717e1dd11ad5044e738a350e7d946b (patch)
treefff70f7f0c28192df8e62ca16e07ccec8557141d /gcc/fortran/trans-array.h
parent1f0e2688af26e66efa9db498d6db01760832fee3 (diff)
downloadgcc-14aeb3cd27717e1dd11ad5044e738a350e7d946b.zip
gcc-14aeb3cd27717e1dd11ad5044e738a350e7d946b.tar.gz
gcc-14aeb3cd27717e1dd11ad5044e738a350e7d946b.tar.bz2
Fix fortran/65894 elemental procedures wrong-code
gcc/fortran/ 2015-05-09 Mikael Morin <mikael@gcc.gnu.org> PR fortran/65894 * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference): New prototype. * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference): New function. (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference as conditional. (gfc_walk_elemental_function_args): Set the dummy_arg field. * trans.h (gfc_ss_info): New subfield dummy_arg. * trans-expr.c (gfc_conv_procedure_call): Revert the change of revision 222361. (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference as conditional. gcc/testsuite/ 2015-05-09 Andre Vehreschild <vehre@gmx.de> PR fortran/65894 * gfortran.dg/elemental_subroutine_11.f90: New test. From-SVN: r222968
Diffstat (limited to 'gcc/fortran/trans-array.h')
-rw-r--r--gcc/fortran/trans-array.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h
index 2310b65..2155b58 100644
--- a/gcc/fortran/trans-array.h
+++ b/gcc/fortran/trans-array.h
@@ -103,6 +103,8 @@ gfc_ss *gfc_get_temp_ss (tree, tree, int);
/* Allocate a new scalar type ss. */
gfc_ss *gfc_get_scalar_ss (gfc_ss *, gfc_expr *);
+bool gfc_scalar_elemental_arg_saved_as_reference (gfc_ss_info *);
+
/* Calculates the lower bound and stride of array sections. */
void gfc_conv_ss_startstride (gfc_loopinfo *);