diff options
author | Janus Weil <janus@gcc.gnu.org> | 2009-12-11 15:40:36 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2009-12-11 15:40:36 +0100 |
commit | e219f32f4b52e334503376ba983ee1503dd34e09 (patch) | |
tree | ca2cc8d506c36f950dfd34db4731f0c40b750d52 /gcc/fortran | |
parent | 63a00e0d9139428cec7f5b5471ae036ee3d73db4 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/symbol.c | 2 |
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; } |