This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]