This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/24276] Components of a derived type array not passed as an array
- From: "paulthomas2 at wanadoo dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Jan 2006 05:16:43 -0000
- Subject: [Bug fortran/24276] Components of a derived type array not passed as an array
- References: <bug-24276-10374@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from paulthomas2 at wanadoo dot fr 2006-01-10 05:16 -------
Subject: Re: Components of a derived type array not passed
as an array
pinskia at gcc dot gnu dot org wrote:
>------- Comment #2 from pinskia at gcc dot gnu dot org 2006-01-09 23:24 -------
>the parse tree is correct:
> CALL foo ((MAIN__:list(FULL) % word))
>
>So this is just a trans issue as far as I can tell.
>
>
Yes it is. Since we do not have aliassed descriptors and size is not in
bytes, the offset and the step size cannot be transmitted, in general.
I have a patch most of the way ready that transfers a temporary to
procedure and copies it back again to the derived type upon return. I
have wrinkle to sort out, which is that the temporary descriptor is zero
based and my code is not picking that up. The result is that the
elements get shifted down one place. I was doing this, when I got
distracted by the global references and plan to return to it asap.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24276