This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/19148] [4.0 Regression] ICE: gimplification failed
- From: "mmitchel at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Dec 2004 20:26:38 -0000
- Subject: [Bug c++/19148] [4.0 Regression] ICE: gimplification failed
- References: <20041224172149.19148.bugzilla-gcc@thewrittenword.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-12-24 20:26 -------
The front end is generating as the RHS:
(INDIRECT_REF
(NOP_EXPR
(ADDR_EXPR
(TARGET_EXPR
(COND_EXPR
...)))
which seems reasonable. The LHS is:
(INDIRECT_REF
(SAVE_EXPR
(POSTINCREMENT_EXPR
(PARM_DECL))))
which also seems reasonable.
Due to my patch, we now call gimplify_cond_expr on the RHS, with the "target"
parameter non-NULL. That causes us to call gimplify_expr on the LHS, with
fb_lvalue, which aborts, because the gimplifier doesn't have a good place to put
the post-increment.
Adding a post_p parameter to gimplify_cond_expr fixes the problem (and passing
it down to gimplify_expr) fixes the problem.
Is there any reason that's not a bad idea?
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at redhat dot com, rth
| |at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19148