This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gfortran,patch] Fix for PR 27478


:REVIEWMAIL:

FX,

> The attached patch is a proposed fix for PR 27478. I think it's
> only a workaround for a middle-end bug, but I don't think there's
> any drawback to declaring this symbol addressable even if it's
> not stricly necessary.

I spent a bit of time this morning trying to supply the address to
DECL_RESULT but kept getting the likes of:
internal compiler error: in expand_expr_real_1, at expr.c:6882
Somebody more adept in these matters could undoubtedly get a result(!)
from this approach.

I also tried to do some of the obvious things in gfc_conv_expr_reference
but kept returning from gfc_conv_expr with the right TREE_TYPE and
a NULL expression.

Thus, forcing a memory location, using TREE_ADDRESSABLE, so that the
entry result variable can be addressed does seem to do the trick and
might even be strictly necessary!

> Bootstrapped and regtested on i686-linux. OK for mainline?

OK - it regtests for me too. Could you dejgnuify the reduced testcase
and submit that too, please? 

> 2006-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>

> PR middle-end/27478
> * trans-decl.c (gfc_get_fake_result_decl): Mark var as TREE_ADDRESSABLE.

Paul





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]