This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/34080] [4.3 regression] Transfer was working, now broken
- From: "pault at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Nov 2007 20:07:30 -0000
- Subject: [Bug fortran/34080] [4.3 regression] Transfer was working, now broken
- References: <bug-34080-13164@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from pault at gcc dot gnu dot org 2007-11-13 20:07 -------
The regression occurred at r129505. Allowance was not made in the correction
to gfc_resolve_transfer for assumed size dummy arguments. This fixes it:
Index: /svn/trunk/gcc/fortran/iresolve.c
===================================================================
*** /svn/trunk/gcc/fortran/iresolve.c (revision 130152)
--- /svn/trunk/gcc/fortran/iresolve.c (working copy)
*************** gfc_resolve_transfer (gfc_expr *f, gfc_e
*** 2283,2289 ****
/* TODO: Make this do something meaningful. */
static char transfer0[] = "__transfer0", transfer1[] = "__transfer1";
! if (mold->ts.type == BT_CHARACTER && !mold->ts.cl->length)
mold->ts.cl->length = gfc_int_expr (mold->value.character.length);
f->ts = mold->ts;
--- 2283,2290 ----
/* TODO: Make this do something meaningful. */
static char transfer0[] = "__transfer0", transfer1[] = "__transfer1";
! if (mold->ts.type == BT_CHARACTER && !mold->ts.cl->length
! && !(mold->expr_type == EXPR_VARIABLE &&
mold->symtree->n.sym->attr.dummy))
mold->ts.cl->length = gfc_int_expr (mold->value.character.length);
f->ts = mold->ts;
It's just now regtesting with a couple of other fixes. I'll clean this patch
up and commit it as obvious (the others I will submit).
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2007-11-13 13:55:55 |2007-11-13 20:07:30
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34080