This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/39086] [4.4 Regression] ICE in decl_ultimate_origin, at dwarf2out.c:5770 when compiling with -fno-tree-sra
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Feb 2009 16:37:44 -0000
- Subject: [Bug debug/39086] [4.4 Regression] ICE in decl_ultimate_origin, at dwarf2out.c:5770 when compiling with -fno-tree-sra
- References: <bug-39086-15951@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #14 from jakub at gcc dot gnu dot org 2009-02-06 16:37 -------
The problem is with f4 RESULT_DECL. First during save_inline_function_body
remap_decl creates a copy of that RESULT_DECL and sets copy's
DECL_ABSTRACT_ORIGIN to the original f4's RESULT_DECL. Then during
optimization of the original f4 tree_nrv sets the original f4 RESULT_DECL's
DECL_ABSTRACT_ORIGIN to found's DECL_ABSTRACT_ORIGIN (where found is a VAR_DECL
originally from f1). But at this point decl_ultimate_origin will already ICE
on the inlined f4's RESULT_DECL, as its DECL_ABSTRACT_ORIGIN has another
DECL_ABSTRACT_ORIGIN, so it is not ultimate anymore.
I have no idea how to prevent this though.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39086