[cfe-commits] [PATCH] PR14097, no debug info for artificial/'nodebug' methods

Eric Christopher echristo at gmail.com
Tue Oct 16 20:57:23 PDT 2012


> Yes it looks like our patches are at cross-purposes.
>
> I assume that your patch gets the desired effect because there is now a DIE that
> points to the subprogram's generated code?  That's not good for me, because if
> there's a class method definition DIE, it insists on having a declaration DIE too.
> I'm not sure whether the same is true for standalone functions.
>
> I wonder if there is a way we could produce an artificial subprogram DIE, but then
> have LLVM not actually emit it to the DWARF.  That is, suppress the excess DWARF
> in LLVM rather than in Clang.  If lives long enough to build the address ranges (and
> also .debug_line?) it would meet your needs, and then if it doesn't actually get emitted
> to .debug_info, it would meet my needs.
>

I'm more than happy to revert r158009, I originally added it to reduce
the amount of debug information since often people would not be trying
to add break points or debug through an artificial function. Alexey's
patch and motivation, however, lead me to believe that this was
originally incorrect as we may want a backtrace with information and
line numbers that includes artificial functions like global
constructors.

Either of you have an argument against reverting it?

-eric



More information about the cfe-commits mailing list