aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2007-11-29 18:41:37 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2007-11-29 18:41:37 +0100
commit10650fbb88871139f242597b1f081041868c43f6 (patch)
treeb42760de48aec223a457ec3e2ab06cc9c9e3f01d /gcc/fortran
parent5ac74d254221fa92b4e55f03a46329599e8f31d1 (diff)
downloadgcc-10650fbb88871139f242597b1f081041868c43f6.zip
gcc-10650fbb88871139f242597b1f081041868c43f6.tar.gz
gcc-10650fbb88871139f242597b1f081041868c43f6.tar.bz2
re PR fortran/34248 (ICE on assumed length character function)
2007-11-29 Tobias Burnus <burnus@net-b.de> PR fortran/34248 * trans-decl.c (generate_dependency_declarations): Check for NULL pointers before accessing the string length. 2007-11-29 Tobias Burnus <burnus@net-b.de> PR fortran/34248 * gfortran.dg/result_in_spec_3.f90: New. From-SVN: r130517
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-decl.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index a176c27..8f185f7 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2007-11-29 Tobias Burnus <burnus@net-b.de>
+ PR fortran/34248
+ * trans-decl.c (generate_dependency_declarations): Check
+ for NULL pointers before accessing the string length.
+
+2007-11-29 Tobias Burnus <burnus@net-b.de>
+
PR fortran/34262
* intrinsic.c (gfc_get_intrinsic_sub_symbol): Add comment.
(gfc_intrinsic_sub_interface): Copy elemental state if needed.
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 84e7226..e48de1f 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -2924,7 +2924,9 @@ generate_dependency_declarations (gfc_symbol *sym)
int i;
if (sym->ts.type == BT_CHARACTER
- && sym->ts.cl->length->expr_type != EXPR_CONSTANT)
+ && sym->ts.cl
+ && sym->ts.cl->length
+ && sym->ts.cl->length->expr_type != EXPR_CONSTANT)
generate_expr_decls (sym, sym->ts.cl->length);
if (sym->as && sym->as->rank)