[Bug fortran/43180] [4.5 Regression] Bad results without temporary copy of intent(in) argument
pault at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Feb 28 13:46:00 GMT 2010
------- Comment #10 from pault at gcc dot gnu dot org 2010-02-28 13:46 -------
(In reply to comment #9)
> Reduced test case below. The problem is the call. On the trunk the call looks
> as follows:
> set_set_v (&ru, D.1578);
> which is complete nonesense. It should be:
> &ru.data[0].c.use
> or something like that. If one removes the "comment" component, it works - but
> only because then "&ru" and "&ru.data[0].c.use" point to the same memory -
> otherwise it is as wrong as before.
Yes, indeed - that is the problem. Since the need for a temporary has been
removed, the code now runs straight into line trans-array.c:5515. The
condition !sym->as causes tmp to be used as the actual, rather than calling
gfc_conv_expr_descriptor.
Just as soon as todayÃ
 clean build stops, I will remove the condition and will
try a regtest.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43180
More information about the Gcc-bugs
mailing list