Rename DIImportedModule to DIImportedEntity and allow imported declarations
DIBuilder::createImportedDeclaration isn't fully plumbed through (note,
lacking in AsmPrinter/DwarfDebug support) but this seemed like a
sufficiently useful division of code to make the subsequent patch(es)
easier to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181364 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/IR/DIBuilder.cpp b/lib/IR/DIBuilder.cpp
index 0980e80..eb220b2 100644
--- a/lib/IR/DIBuilder.cpp
+++ b/lib/IR/DIBuilder.cpp
@@ -128,7 +128,7 @@
NMD->addOperand(TheCU);
}
-DIImportedModule DIBuilder::createImportedModule(DIScope Context,
+DIImportedEntity DIBuilder::createImportedModule(DIScope Context,
DINameSpace NS,
unsigned Line) {
Value *Elts[] = {
@@ -137,7 +137,22 @@
NS,
ConstantInt::get(Type::getInt32Ty(VMContext), Line),
};
- DIImportedModule M(MDNode::get(VMContext, Elts));
+ DIImportedEntity M(MDNode::get(VMContext, Elts));
+ assert(M.Verify() && "Imported module should be valid");
+ AllImportedModules.push_back(M);
+ return M;
+}
+
+DIImportedEntity DIBuilder::createImportedDeclaration(DIScope Context,
+ DIDescriptor Decl,
+ unsigned Line) {
+ Value *Elts[] = {
+ GetTagConstant(VMContext, dwarf::DW_TAG_imported_declaration),
+ Context,
+ Decl,
+ ConstantInt::get(Type::getInt32Ty(VMContext), Line),
+ };
+ DIImportedEntity M(MDNode::get(VMContext, Elts));
assert(M.Verify() && "Imported module should be valid");
AllImportedModules.push_back(M);
return M;