This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/20280] [4.0/4.1 regression] ICE in create_tmp_var, at gimplify.c:368
- From: "aoliva at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Mar 2005 06:59:44 -0000
- Subject: [Bug c++/20280] [4.0/4.1 regression] ICE in create_tmp_var, at gimplify.c:368
- References: <20050302093824.20280.caolanm@redhat.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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