aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2012-09-12 00:26:55 +0000
committerEric Christopher <echristo@apple.com>2012-09-12 00:26:55 +0000
commit2c57a334d762275a0ba478b7c39f384992bcdf6a (patch)
tree2d2078fd2522e4e26efb25d495b1f44a7803a535 /lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
parent83c0eefa3b4698edd007a4cb24d550fd42566063 (diff)
Add some support for dealing with an object pointer on arguments.
Part of rdar://9797999 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163667 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index 0007f13e91..4b65a9b572 100644
--- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
@@ -1109,6 +1109,8 @@ DIE *CompileUnit::getOrCreateSubprogramDIE(DISubprogram SP) {
addType(Arg, ATy);
if (ATy.isArtificial())
addFlag(Arg, dwarf::DW_AT_artificial);
+ if (ATy.isObjectPointer())
+ addFlag(Arg, dwarf::DW_AT_object_pointer);
SPDie->addChild(Arg);
}
}
@@ -1348,6 +1350,8 @@ DIE *CompileUnit::constructVariableDIE(DbgVariable *DV, bool isScopeAbstract) {
if (DV->isArtificial())
addFlag(VariableDie, dwarf::DW_AT_artificial);
+ if (DV->isObjectPointer())
+ addFlag(VariableDie, dwarf::DW_AT_object_pointer);
if (isScopeAbstract) {
DV->setDIE(VariableDie);