aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2010-11-12 23:07:18 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2010-11-12 23:07:18 +0000
commit4e141305fa7ae7dbe4c3edcd42d31931a28725e3 (patch)
tree0d082867117176fa19e9fb2d09778ed8dd922c07 /gcc
parentc6c06f31ca99f23e0dbd0ad8b352c8c6b0bbf01d (diff)
downloadgcc-4e141305fa7ae7dbe4c3edcd42d31931a28725e3.zip
gcc-4e141305fa7ae7dbe4c3edcd42d31931a28725e3.tar.gz
gcc-4e141305fa7ae7dbe4c3edcd42d31931a28725e3.tar.bz2
re PR fortran/45794 (ICE: Segmentation fault in gfc_conv_procedure_call)
2010-11-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/45794 trans-expr.c (gfc_conv_procedure_call): Avoid NULL array spec. From-SVN: r166686
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/trans-expr.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 55e5058..b45d072 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/45794
+ trans-expr.c (gfc_conv_procedure_call): Avoid NULL array spec.
+
2010-11-11 Nathan Froyd <froydnj@codesourcery.com>
PR c/44782
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 94dfa34..e8b516c 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -3121,8 +3121,10 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
&& ((e->rank > 0 && sym->attr.elemental)
|| e->representation.length || e->ts.type == BT_CHARACTER
|| (e->rank > 0
- && (fsym == NULL || fsym->as->type == AS_ASSUMED_SHAPE
- || fsym->as->type == AS_DEFERRED))))
+ && (fsym == NULL
+ || (fsym-> as
+ && (fsym->as->type == AS_ASSUMED_SHAPE
+ || fsym->as->type == AS_DEFERRED))))))
gfc_conv_missing_dummy (&parmse, e, fsym ? fsym->ts : e->ts,
e->representation.length);
}