[Bug c++/20280] [4.0/4.1 regression] ICE in create_tmp_var, at gimplify.c:368

aoliva at redhat dot com gcc-bugzilla@gcc.gnu.org
Fri Mar 4 07:00:00 GMT 2005


------- Additional Comments From aoliva at gcc dot gnu dot org  2005-03-04 06:59 -------
Subject: Re: [PR c++/20280] hoist indirect_ref out of addressable cond_exprs

On Mar  4, 2005, Alexandre Oliva <aoliva@redhat.com> wrote:

>> we should be doing the same for all types (well except for
>> bitfields) and not just "addressable" types,

> Agreed.  That's relatively easy to fix.

Rats.  Not that easy.  A number of regressions showed up with the
`improved' patch :-(

It has to do with the uses of build_address, that marks variables and
fields as addressable and used, so we end up having to emit them,
instead of optimizing them out as intended.

It seems like we may indeed need something more elaborate at
gimplification time, instead of modifying the up-front representation.

I'll keep digging.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20280



More information about the Gcc-bugs mailing list