aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2019-12-10 21:59:09 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2019-12-10 21:59:09 +0000
commit0cc063af32311944d66b6537aeade08038cabba9 (patch)
treed7705b07002e84bfd4aea7d9f78005a4adfea35b /gcc/fortran/trans-array.c
parent6004c17b4d1a2dd1e1936b2e705a5ccfb6e48ab2 (diff)
downloadgcc-0cc063af32311944d66b6537aeade08038cabba9.zip
gcc-0cc063af32311944d66b6537aeade08038cabba9.tar.gz
gcc-0cc063af32311944d66b6537aeade08038cabba9.tar.bz2
re PR fortran/91643 (ICE in gfc_trans_create_temp_array, at fortran/trans-array.c:1265)
2019-12-10 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/91643 * trans-array.c (gfc_conv_array_parameter): Do not repack an assumed rank dummy argument. 2019-12-10 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/91643 * gfortran.dg/assumed_rank_18.f90: New test. From-SVN: r279203
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r--gcc/fortran/trans-array.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index 1b77998..e879ea1 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -8141,6 +8141,8 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77,
if (g77 && optimize && !optimize_size && expr->expr_type == EXPR_VARIABLE
&& !is_pointer (expr) && ! gfc_has_dimen_vector_ref (expr)
+ && !(expr->symtree->n.sym->as
+ && expr->symtree->n.sym->as->type == AS_ASSUMED_RANK)
&& (fsym == NULL || fsym->ts.type != BT_ASSUMED))
{
gfc_conv_subref_array_arg (se, expr, g77,