forked from OSchip/llvm-project
Give CGDebugInfo::getContextDescriptor a more specific return type
Not that the DI* hierarchy is terribly type safe, but this makes the contract a little clearer I think. llvm-svn: 179835
This commit is contained in:
parent
77bf0afcc8
commit
bfa5274df5
|
@ -89,7 +89,7 @@ void CGDebugInfo::setLocation(SourceLocation Loc) {
|
|||
}
|
||||
|
||||
/// getContextDescriptor - Get context info for the decl.
|
||||
llvm::DIDescriptor CGDebugInfo::getContextDescriptor(const Decl *Context) {
|
||||
llvm::DIScope CGDebugInfo::getContextDescriptor(const Decl *Context) {
|
||||
if (!Context)
|
||||
return TheCU;
|
||||
|
||||
|
@ -97,20 +97,17 @@ llvm::DIDescriptor CGDebugInfo::getContextDescriptor(const Decl *Context) {
|
|||
I = RegionMap.find(Context);
|
||||
if (I != RegionMap.end()) {
|
||||
llvm::Value *V = I->second;
|
||||
return llvm::DIDescriptor(dyn_cast_or_null<llvm::MDNode>(V));
|
||||
return llvm::DIScope(dyn_cast_or_null<llvm::MDNode>(V));
|
||||
}
|
||||
|
||||
// Check namespace.
|
||||
if (const NamespaceDecl *NSDecl = dyn_cast<NamespaceDecl>(Context))
|
||||
return llvm::DIDescriptor(getOrCreateNameSpace(NSDecl));
|
||||
return getOrCreateNameSpace(NSDecl);
|
||||
|
||||
if (const RecordDecl *RDecl = dyn_cast<RecordDecl>(Context)) {
|
||||
if (!RDecl->isDependentType()) {
|
||||
llvm::DIType Ty = getOrCreateType(CGM.getContext().getTypeDeclType(RDecl),
|
||||
if (const RecordDecl *RDecl = dyn_cast<RecordDecl>(Context))
|
||||
if (!RDecl->isDependentType())
|
||||
return getOrCreateType(CGM.getContext().getTypeDeclType(RDecl),
|
||||
getOrCreateMainFile());
|
||||
return llvm::DIDescriptor(Ty);
|
||||
}
|
||||
}
|
||||
return TheCU;
|
||||
}
|
||||
|
||||
|
|
|
@ -281,7 +281,7 @@ private:
|
|||
uint64_t *OffSet);
|
||||
|
||||
/// getContextDescriptor - Get context info for the decl.
|
||||
llvm::DIDescriptor getContextDescriptor(const Decl *Decl);
|
||||
llvm::DIScope getContextDescriptor(const Decl *Decl);
|
||||
|
||||
/// createRecordFwdDecl - Create a forward decl for a RecordType in a given
|
||||
/// context.
|
||||
|
|
Loading…
Reference in New Issue