diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-04-30 21:29:41 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-04-30 21:29:41 +0000 |
commit | 3b2a53a4370b898fdd6b6d4945b0d22df5d2c611 (patch) | |
tree | 4f56e43dee500845f877d5a87c3cf2f67d2f35b2 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | |
parent | c717e7803cbb0147e252a2ca31972c2bad4eac4a (diff) | |
download | bcm5719-llvm-3b2a53a4370b898fdd6b6d4945b0d22df5d2c611.tar.gz bcm5719-llvm-3b2a53a4370b898fdd6b6d4945b0d22df5d2c611.zip |
Emit DW_AT_object_pointer once, on the declaration, for each function.
This effectively reverts r164326, but adds some comments and
justification and ensures we /don't/ emit the DW_AT_object_pointer on
the (abstract and concrete) definitions. (while still preserving it on
standalone definitions involving ObjC Blocks)
This does increase the size of member function declarations from 7 to 11
bytes, unfortunately, but still seems like the Right Thing to do so that
callers that see only the declaration still have the information about
the object pointer. That said, I don't know what, if any, DWARF
consumers don't have a heuristic to guess this in the case of normal
C++ member functions - perhaps we can remove it entirely.
llvm-svn: 207705
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h index d7359a3105e..16a314bdb32 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -371,7 +371,7 @@ class DwarfDebug : public AsmPrinterHandler { std::unique_ptr<DIE> constructScopeDIE(DwarfCompileUnit &TheCU, LexicalScope *Scope); void createAndAddScopeChildren(DwarfCompileUnit &TheCU, LexicalScope *Scope, - DIE &ScopeDIE); + DISubprogram Sub, DIE &ScopeDIE); /// \brief Construct a DIE for this abstract scope. void constructAbstractSubprogramScopeDIE(DwarfCompileUnit &TheCU, LexicalScope *Scope); |