aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorDaniel Franke <franke.daniel@gmail.com>2007-08-01 08:52:48 -0400
committerDaniel Franke <dfranke@gcc.gnu.org>2007-08-01 08:52:48 -0400
commitd05360a6128c8ba1e2c616bc94d23a5c686b92db (patch)
tree179f02146059e9ae5f92b9364d6e2eff3d13d366 /gcc/fortran/expr.c
parente5c95afe1e18581b060601f70b1a6888835028ce (diff)
downloadgcc-d05360a6128c8ba1e2c616bc94d23a5c686b92db.zip
gcc-d05360a6128c8ba1e2c616bc94d23a5c686b92db.tar.gz
gcc-d05360a6128c8ba1e2c616bc94d23a5c686b92db.tar.bz2
re PR fortran/32945 (ICE with initialization expressions)
gcc/fortran: 2007-08-01 Daniel Franke <franke.daniel@gmail.com> PR fortran/32945 * expr.c (check_specification_function): Skip check if no symtree is available. gcc/testsuite: 2007-08-01 Daniel Franke <franke.daniel@gmail.com> PR fortran/32945 * gfortran.dg/initialization_12.f90: New test. From-SVN: r127124
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index 8e608ed..1048920 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -693,6 +693,10 @@ static match
check_specification_function (gfc_expr *e)
{
gfc_symbol *sym;
+
+ if (!e->symtree)
+ return MATCH_NO;
+
sym = e->symtree->n.sym;
/* F95, 7.1.6.2; F2003, 7.1.7 */