This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/27574] [4.1 Regression] MIssing debug info at -O0 for a local variable in a C++ constructor
- From: "drow at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Jul 2006 13:59:33 -0000
- Subject: [Bug debug/27574] [4.1 Regression] MIssing debug info at -O0 for a local variable in a C++ constructor
- References: <bug-27574-5394@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from drow at gcc dot gnu dot org 2006-07-26 13:59 -------
It is a cgraph change. There were several patches affecting cgraph_remove_node
during this time period; it was probably one of those. The problem is that we
throw away the body of the abstract copy of the constructor, before we get
around to emitting debug information for it.
There's already a debug hook at what looks like the right time. It's just not
used for dwarf2: deferred_inline_function. It was replaced by
outlining_inline_function, which is called only when we know we'll generate a
concrete instance.
There's a couple of things we could do:
- Not throw away the body.
- Try to generate the debug info earlier, and then prune it if it isn't
needed.
- Try to treat one of the concrete clones (whose bodies we need) as the
origin.
I think the first one is going to be safest for now.
I don't really see how to do it. Jan, do you have a suggestion?
--
drow at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27574