This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Patch, Fortran] PR 33818 - Fix bogus error dummy variable is used before the entry statement
- From: Paul Thomas <paulthomas2 at wanadoo dot fr>
- To: Tobias Burnus <burnus at net-b dot de>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, "'fortran at gcc dot gnu dot org'" <fortran at gcc dot gnu dot org>, Alan Greynolds <awgreynolds at earthlink dot net>
- Date: 2007年10月20日 10:54:44 +0200
- Subject: Re: [Patch, Fortran] PR 33818 - Fix bogus error dummy variable is used before the entry statement
- References: <4719317A.1060905@net-b.de>
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?