------- 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