This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/26004] [4.1/4.2 Regression] gcc errors on valid code [SVO]
- From: "amylaar at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Jan 2006 18:38:50 -0000
- Subject: [Bug c/26004] [4.1/4.2 Regression] gcc errors on valid code [SVO]
- References: <bug-26004-12087@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from amylaar at gcc dot gnu dot org 2006-01-30 18:38 -------
(In reply to comment #2)
> Strange - both on mainline and the 4.1 branch, I can reproduce this (albeit
> with
> a more sensible variable name of "u") for i686-pc-linux-gnu native, but not for
> a cross to sh-elf. Yet the failing mark_addressable call is done for i686 from
> the gimplifier.
FWIW, the optimization that malfunctions applies to calls of functions that
return their value in memory. Because the s_1 type is not returned in memory
on sh-elf, the testcase doesn't trigger there. For the test to trigger, s_1
has to be an aggregate (to satisfy the gimple test that this is not a register)
which is returned in memory (so that the optimization is relevant), and the
return value must be assigne to a variable that is declared as register.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26004