This is the mail archive of the gcc@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: [ada] can't build g-awk.adb in gcc cvs trunk 20041212 on sparc-linux: GCC error: in expand_expr_addr_expr_1, at expr.c:6047, Error detected at g-awk.adb:1316:24


On Tue, Dec 14, 2004 at 09:49:43AM -0500, Richard Kenner wrote:
>     The problematic expression reaches expand_expr_addr_expr_1 unmodified
>     because it was accepted at least once by handled_component_p at an
>     earlier stage (e.g. the gimplifier).
> 
> OK, now I understand.  Unfortunately, *not* "accepting" it is also
> problematic since the gimplifier, if it doesn't accept that, will make a
> temporary for the result of the VIEW_CONVERT_EXPR, so the ADDR_EXPR would be
> returning the address of that temporary and not the operand of the V_C_E,
> which is exactly what you *don't* want to happen for TYPE_ALIGN_OK.
> 
> So this maybe indeed be the single exception to the correspondance between
> get_inner_refrence and handled_component_p.  I don't particularly care
> for that, but if there's no 
other way, we should at least document it
> *very* clearly ...
> 
> This is tricky stuff!

So, what's the suggestion then?

/ChJ


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