Re: [patch, fortran] PR62125 Nested select type not accepted (rejects valid)

2016-07-15 Thread Jerry DeLisle
On 07/15/2016 01:35 AM, Mikael Morin wrote:
> Le 15/07/2016 à 03:26, Jerry DeLisle a écrit :
>> Hit send too soon and forgot to fill out the subject line. Correctly
>> given here.
>> On 07/14/2016 10:47 AM, Jerry DeLisle wrote:
>>> This simple patch kindly provided by Marco solves the problem.
>>>
>>> Regression tested on x86_64-Linux, Test case provided also.
>>>
>>> OK to commit to trunk?
>>>
> Yes. Thanks.

Thanks for review Mikael!

Jerry


Re: [patch, fortran] PR62125 Nested select type not accepted (rejects valid)

2016-07-15 Thread Mikael Morin

Le 15/07/2016 à 03:26, Jerry DeLisle a écrit :

Hit send too soon and forgot to fill out the subject line. Correctly
given here.
On 07/14/2016 10:47 AM, Jerry DeLisle wrote:

This simple patch kindly provided by Marco solves the problem.

Regression tested on x86_64-Linux, Test case provided also.

OK to commit to trunk?


Yes. Thanks.


Re: [patch, fortran] PR62125 Nested select type not accepted (rejects valid)

2016-07-14 Thread Jerry DeLisle
Hit send too soon and forgot to fill out the subject line. Correctly 
given here.

On 07/14/2016 10:47 AM, Jerry DeLisle wrote:

This simple patch kindly provided by Marco solves the problem.

Regression tested on x86_64-Linux, Test case provided also.

OK to commit to trunk?

Jerry

2016-07-14  Jerry DeLisle  
Marco Restelli 

PR fortran/62125
* symbol.c (select_type_insert_tmp): Recursively call self to take care
of nested select type.

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;
+  }
 }