Provide interface to identifiy artificial methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95240 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2010-02-03 19:57:19 +00:00
parent 3a813dc707
commit 4e0d19dfd9
3 changed files with 14 additions and 6 deletions

View File

@@ -860,7 +860,8 @@ DISubprogram DIFactory::CreateSubprogram(DIDescriptor Context,
bool isLocalToUnit,
bool isDefinition,
unsigned VK, unsigned VIndex,
DIType ContainingType) {
DIType ContainingType,
bool isArtificial) {
Value *Elts[] = {
GetTagConstant(dwarf::DW_TAG_subprogram),
@@ -876,9 +877,10 @@ DISubprogram DIFactory::CreateSubprogram(DIDescriptor Context,
ConstantInt::get(Type::getInt1Ty(VMContext), isDefinition),
ConstantInt::get(Type::getInt32Ty(VMContext), (unsigned)VK),
ConstantInt::get(Type::getInt32Ty(VMContext), VIndex),
ContainingType.getNode()
ContainingType.getNode(),
ConstantInt::get(Type::getInt1Ty(VMContext), isArtificial)
};
return DISubprogram(MDNode::get(VMContext, &Elts[0], 14));
return DISubprogram(MDNode::get(VMContext, &Elts[0], 15));
}
/// CreateSubprogramDefinition - Create new subprogram descriptor for the
@@ -902,9 +904,10 @@ DISubprogram DIFactory::CreateSubprogramDefinition(DISubprogram &SPDeclaration)
ConstantInt::get(Type::getInt1Ty(VMContext), true),
DeclNode->getOperand(11), // Virtuality
DeclNode->getOperand(12), // VIndex
DeclNode->getOperand(13) // Containting Type
DeclNode->getOperand(13), // Containting Type
DeclNode->getOperand(14) // isArtificial
};
return DISubprogram(MDNode::get(VMContext, &Elts[0], 14));
return DISubprogram(MDNode::get(VMContext, &Elts[0], 15));
}
/// CreateGlobalVariable - Create a new descriptor for the specified global.