Module debugging: Emit Objective-C interfaces in their module scope when

building a clang module.

llvm-svn: 248974
This commit is contained in:
Adrian Prantl
2015-10-01 00:48:51 +00:00
parent f997bd88d7
commit fd69611c8e
2 changed files with 11 additions and 3 deletions

View File

@@ -1743,9 +1743,10 @@ llvm::DIType *CGDebugInfo::CreateTypeDefinition(const ObjCInterfaceType *Ty,
if (ID->getImplementation())
Flags |= llvm::DINode::FlagObjcClassComplete;
llvm::DIScope *Mod = getParentModuleOrNull(ID);
llvm::DICompositeType *RealDecl = DBuilder.createStructType(
Unit, ID->getName(), DefUnit, Line, Size, Align, Flags, nullptr,
llvm::DINodeArray(), RuntimeLang);
Mod ? Mod : Unit, ID->getName(), DefUnit, Line, Size, Align, Flags,
nullptr, llvm::DINodeArray(), RuntimeLang);
QualType QTy(Ty, 0);
TypeCache[QTy.getAsOpaquePtr()].reset(RealDecl);