DIBuilder: Add function and method definitions to the list of all subprograms
Previously we seemed to be assuming that all functions were definitions and all methods were declarations. This may be consistent with how Clang uses DIBuilder but doesn't have to be true of all clients (such as DragonEgg). llvm-svn: 175423
This commit is contained in:
parent
68426c79db
commit
595eb44a2c
@ -924,7 +924,8 @@ DISubprogram DIBuilder::createFunction(DIDescriptor Context,
|
||||
MDNode *Node = MDNode::get(VMContext, Elts);
|
||||
|
||||
// Create a named metadata so that we do not lose this mdnode.
|
||||
AllSubprograms.push_back(Node);
|
||||
if (isDefinition)
|
||||
AllSubprograms.push_back(Node);
|
||||
return DISubprogram(Node);
|
||||
}
|
||||
|
||||
@ -968,6 +969,8 @@ DISubprogram DIBuilder::createMethod(DIDescriptor Context,
|
||||
ConstantInt::get(Type::getInt32Ty(VMContext), LineNo)
|
||||
};
|
||||
MDNode *Node = MDNode::get(VMContext, Elts);
|
||||
if (isDefinition)
|
||||
AllSubprograms.push_back(Node);
|
||||
return DISubprogram(Node);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user