aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2009-12-11 15:40:36 +0100
committerJanus Weil <janus@gcc.gnu.org>2009-12-11 15:40:36 +0100
commite219f32f4b52e334503376ba983ee1503dd34e09 (patch)
treeca2cc8d506c36f950dfd34db4731f0c40b750d52 /gcc/fortran
parent63a00e0d9139428cec7f5b5471ae036ee3d73db4 (diff)
downloadgcc-e219f32f4b52e334503376ba983ee1503dd34e09.zip
gcc-e219f32f4b52e334503376ba983ee1503dd34e09.tar.gz
gcc-e219f32f4b52e334503376ba983ee1503dd34e09.tar.bz2
re PR fortran/42335 ([OOP] ICE on CLASS IS (bad_identifier))
gcc/fortran/ 2009-12-11 Janus Weil <janus@gcc.gnu.org> PR fortran/42335 * symbol.c (select_type_insert_tmp): Add an extra check for error recovery. gcc/testsuite/ 2009-12-11 Janus Weil <janus@gcc.gnu.org> PR fortran/42335 * gfortran.dg/select_type_11.f03: New test. From-SVN: r155162
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/symbol.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 6e588c6..7000e25 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2009-12-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/42335
+ * symbol.c (select_type_insert_tmp): Add an extra check for
+ error recovery.
+
2009-12-10 Daniel Franke <franke.daniel@gmail.com>
PR fortran/40287
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index 08477c4..1b40d9a 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -2476,7 +2476,7 @@ select_type_insert_tmp (gfc_symtree **st)
{
gfc_select_type_stack *stack = select_type_stack;
for (; stack; stack = stack->prev)
- if ((*st)->n.sym == stack->selector)
+ if ((*st)->n.sym == stack->selector && stack->tmp)
*st = stack->tmp;
}