diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-07-15 19:58:55 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-07-15 19:58:55 +0000 |
commit | a07b81c7422349f3a104058af3ae192565a6a6f4 (patch) | |
tree | 61b7c0ce5454c61aa9c28620d7b1f82c25a99954 /gcc/fortran/symbol.c | |
parent | d1129d45b09c6fe0542f439fffda3bd4667a67a1 (diff) | |
download | gcc-a07b81c7422349f3a104058af3ae192565a6a6f4.zip gcc-a07b81c7422349f3a104058af3ae192565a6a6f4.tar.gz gcc-a07b81c7422349f3a104058af3ae192565a6a6f4.tar.bz2 |
re PR fortran/62125 (Nested select type not accepted (rejects valid))
2016-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Marco Restelli <mrestelli@gmail.com>
PR fortran/62125
* symbol.c (select_type_insert_tmp): Recursively call self to take care
of nested select type.
* gfortran.dg/pr62125.f90: New test.
Co-Authored-By: Marco Restelli <mrestelli@gmail.com>
From-SVN: r238400
Diffstat (limited to 'gcc/fortran/symbol.c')
-rw-r--r-- | gcc/fortran/symbol.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index 0ee7dec..c967f25 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -2930,7 +2930,11 @@ 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 && stack->tmp) - *st = stack->tmp; + { + *st = stack->tmp; + select_type_insert_tmp (st); + return; + } } |