This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Patch, gfortran] PR16511 - Test 19990905-0.f fails with gfortran
- From: Tobias dot Schlueter at Physik dot Uni-Muenchen dot DE
- To: Paul Thomas <paulthomas2 at wanadoo dot fr>
- Cc: "'fortran at gcc dot gnu dot org'" <fortran at gcc dot gnu dot org>,patch <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 18 Aug 2005 22:13:05 +0200
- Subject: Re: [Patch, gfortran] PR16511 - Test 19990905-0.f fails with gfortran
:REVIEWURL http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01072.html:
(Sorry for the broken threading, my mail server chose to work perfectly fine for
receiving mail, but doesn't let me authenticate for sending, even though the
web interface works perfectly fine. Sigh.)
Paul Thomas wrote:
> 2005-08-17 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/16511
> * match.c (gfc_match_common, gfc_match_equivalence): Ensure that
> symbols that are equivalence associated with a common block are
> marked as being in_common.
>
>
> 2005-08-17 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/16511
> * gfortran.dg/g77/19990905-0.f: Remove XFAIL and add comment to
> connect the test with the PR.
I think it would be even better to introduce an 'is_equivalenced' flag in the
symbol_attribute structure, and set this in match_equivalence, exactly the same
way this is done for in_common in match_common. You would then only have to
scan the equivalences if oyu know that a symbol is equivalenced.
> + /* Check to see if the symbol is already in an equivalence group.
> + If it is, set the other members as being in common. */
> + for (e1 = gfc_current_ns->equiv; e1; e1 = e1->next)
> + {
> + equiv_flag = false;
> + for (e2 = e1; e2; e2 = e2->eq)
> + if (e2->expr->symtree->n.sym == sym)
> + {
> + equiv_flag = true;
> + continue;
^^^^^^^^ should be break;
except for that this is ok.
- Tobi