aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorMikael Morin <mikael.morin@sfr.fr>2011-07-07 22:58:16 +0200
committerMikael Morin <mikael@gcc.gnu.org>2011-07-07 20:58:16 +0000
commite3d748dd0ec180b1405dad4b72652c4f70766e92 (patch)
tree6215d0654206bc035c89abfc0b71e87c1899e0fc /gcc/fortran
parentb286d9ed5f16e8fb8332d17345414d28d985162a (diff)
downloadgcc-e3d748dd0ec180b1405dad4b72652c4f70766e92.zip
gcc-e3d748dd0ec180b1405dad4b72652c4f70766e92.tar.gz
gcc-e3d748dd0ec180b1405dad4b72652c4f70766e92.tar.bz2
re PR fortran/49648 (ICE(segfault) with MATMUL and function-result actual argument)
2011-07-07 Mikael Morin <mikael.morin@sfr.fr> PR fortran/49648 * resolve.c (resolve_symbol): Force resolution of function result's array specification. From-SVN: r176011
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 267c81e..fef1944 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/49648
+ * resolve.c (resolve_symbol): Force resolution of function result's
+ array specification.
+
2011-07-07 Tobias Burnus <burnus@net-b.de>
* trans.c (gfc_allocate_with_status): Call _gfortran_caf_register
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 8418c21..b51ae96 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -12198,6 +12198,8 @@ resolve_symbol (gfc_symbol *sym)
}
}
}
+ else if (mp_flag && sym->attr.flavor == FL_PROCEDURE && sym->attr.function)
+ gfc_resolve_array_spec (sym->result->as, false);
/* Assumed size arrays and assumed shape arrays must be dummy
arguments. Array-spec's of implied-shape should have been resolved to