Le 11/06/2013 12:00, Tobias Burnus a écrit :
> Hello Mikael,
> 
> Mikael Morin wrote:
>> Le 03/06/2013 16:06, Tobias Burnus a écrit :
>>> diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
>>> index b2e8fdc..655d3c1 100644
>>> --- a/gcc/fortran/resolve.c
>>> +++ b/gcc/fortran/resolve.c
>>> @@ -9293,8 +9293,12 @@ get_temp_from_expr (gfc_expr *e, gfc_namespace
>>> *ns)
>>>       }
>>>       }
>>>       /* Add the attributes and the arrayspec to the temporary.  */
>>>     /* Add the attributes and the arrayspec to the temporary.  */
>>>     tmp->n.sym->attr = gfc_expr_attr (e);
>>> +  tmp->n.sym->attr.function = 0;
>>> +  tmp->n.sym->attr.result = 0;
>>> +  tmp->n.sym->attr.flavor = FL_VARIABLE;
>>> +
>>>     if (as)
>>>       {
>>>         tmp->n.sym->as = gfc_copy_array_spec (as);
>> This fixes the problem, but shouldn't the fix be in gfc_expr_attr
>> instead?
>> It seems to me that most symbol attributes don't make sense in any case
>> for non-variables, except for some of the standard ones
>> (allocatable,...) and possibly a couple more.
> 
> I will audit the use of gfc_expr_attr and send an updated patch later.
> 
> Is the current patch okay for GCC 4.8? I prefer simpler patches for the
> branch.
> 
Yes.

Reply via email to