This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/27574] [4.1 Regression] MIssing debug info at -O0 for a local variable in a C++ constructor



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]