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
This commit is contained in:
Eric Christopher
2012-09-12 00:26:55 +00:00
parent 83c0eefa3b
commit 2c57a334d7
7 changed files with 130 additions and 1 deletions

View File

@ -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);