1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

Add support for runtime languages on our forward declarations.

llvm-svn: 150973
This commit is contained in:
Eric Christopher 2012-02-20 18:04:14 +00:00
parent 9ade8e4d79
commit ed41b1f1ef
2 changed files with 6 additions and 3 deletions

View File

@ -343,7 +343,7 @@ namespace llvm {
/// createForwardDecl - Create a temporary forward-declared type.
DIType createForwardDecl(unsigned Tag, StringRef Name, DIFile F,
unsigned Line);
unsigned Line, unsigned RuntimeLang = 0);
/// retainType - Retain DIType in a module even if it is not referenced
/// through debug info anchors.

View File

@ -672,7 +672,7 @@ DIType DIBuilder::createTemporaryType(DIFile F) {
/// createForwardDecl - Create a temporary forward-declared type that
/// can be RAUW'd if the full type is seen.
DIType DIBuilder::createForwardDecl(unsigned Tag, StringRef Name, DIFile F,
unsigned Line) {
unsigned Line, unsigned RuntimeLang) {
// Create a temporary MDNode.
Value *Elts[] = {
GetTagConstant(VMContext, Tag),
@ -685,7 +685,10 @@ DIType DIBuilder::createForwardDecl(unsigned Tag, StringRef Name, DIFile F,
ConstantInt::get(Type::getInt32Ty(VMContext), 0),
ConstantInt::get(Type::getInt32Ty(VMContext), 0),
ConstantInt::get(Type::getInt32Ty(VMContext),
DIDescriptor::FlagFwdDecl)
DIDescriptor::FlagFwdDecl),
NULL,
DIArray(),
ConstantInt::get(Type::getInt32Ty(VMContext), RuntimeLang)
};
MDNode *Node = MDNode::getTemporary(VMContext, Elts);
return DIType(Node);