[Patch, Fortran] PR 33818 - Fix bogus error dummy variable is used before the entry statement

Paul Thomas paulthomas2@wanadoo.fr
Sat Oct 20 08:54:00 GMT 2007


Tobias,
Tobias,
> It is not obvious why it fails all of a sudden, but as Jerry has
> checked, the triggering patch is
> http://gcc.gnu.org/viewcvs?view=rev&revision=127939 (or at least 127938
> works and it fails with a version shortly afterwards). The patch 127939
> looks innocent; but it somehow causes resolve_variable to be called.
>
>  
-fdump-parse-tree tells all:

        symtree: uppercase  Ambig 0
        symbol uppercase (CHARACTER __len_1_i4[[((uppercase:str) ((arg 
not-present)))]])(PROCEDURE UNKNOWN-INTENT UNKNOWN-ACCESS INTERNAL-PROC 
UNKNOWN FUNCTION)

The character patch has correctly put (uppercase:str) as the character 
length specification expression for 'uppercase'.  When 'uppercase' is 
resolved, 'uppercase:str' is too.  Without the check that you have 
added, the unwanted error occurs.
> OK for the trunk? And if yes, which version is prefered?
>   
Yours is good - OK for trunk.

Many thanks

Paul

PS Off-list, you commented that the duplication of effort is 
ineffective.  My input was guilt driven - I had a bad feeling that the 
regression was my doing.  I'm just grateful that it was relatively 
subtle.  In general, we perhaps should make more use of "assigned to" - 
both signing on and signing off?



More information about the Fortran mailing list