https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98016

--- Comment #8 from Paul Thomas <pault at gcc dot gnu.org> ---
(In reply to Ev Drikos from comment #7)
> Created attachment 49659 [details]
> attachment for pr98016-07
> 
> (In reply to Paul Thomas from comment #6)
> > Created attachment 49645 [details]
> > Fix for the PR
> > 
> > Unless there are objections, ...
> 
> Not an objection, rather just an observation:
> 
> 1. This code is inside "resolve_symbol" and the
>    following double declaration seems redundant:
> 
>    bool saved_specification_expr
> 
>    The reason I'm mentioning it is that I debugged
>    the example with gcc-4.8 and the debugger makes
>    this call:
> 
>    gfc_resolve_array_spec (sym->as, check_constant)
> 
>    So, the declaration below could be at the top of
>    the function declarations like the code below
Hi There,

The multiple declarations (5 in resolve.c) come about because of the
possibility of rather torturous recursion paths. I guess that we could replace
the boolean with a counter but this doesn't seem to be much of an improvement.

I am just now preparing for a commit this evening.

Thanks for the comment.

Paul

Reply via email to