forked from OSchip/llvm-project
DebugInfo: Make CGDebugInfo::getStaticDataMemberDeclaration's argument type match the semantics
Rather than having a cast immediately inside the function, push that type requirement out to the callers. llvm-svn: 188492
This commit is contained in:
parent
6a7234472e
commit
a0ef9fa6bf
|
@ -3002,8 +3002,8 @@ void CGDebugInfo::EmitDeclareOfBlockLiteralArgVariable(const CGBlockInfo &block,
|
|||
/// getStaticDataMemberDeclaration - If D is an out-of-class definition of
|
||||
/// a static data member of a class, find its corresponding in-class
|
||||
/// declaration.
|
||||
llvm::DIDerivedType CGDebugInfo::getStaticDataMemberDeclaration(const Decl *D) {
|
||||
if (cast<VarDecl>(D)->isStaticDataMember()) {
|
||||
llvm::DIDerivedType CGDebugInfo::getStaticDataMemberDeclaration(const VarDecl *D) {
|
||||
if (D->isStaticDataMember()) {
|
||||
llvm::DenseMap<const Decl *, llvm::WeakVH>::iterator
|
||||
MI = StaticDataMemberCache.find(D->getCanonicalDecl());
|
||||
if (MI != StaticDataMemberCache.end())
|
||||
|
@ -3093,10 +3093,9 @@ void CGDebugInfo::EmitGlobalVariable(const ValueDecl *VD,
|
|||
// Do not use DIGlobalVariable for enums.
|
||||
if (Ty.getTag() == llvm::dwarf::DW_TAG_enumeration_type)
|
||||
return;
|
||||
llvm::DIGlobalVariable GV =
|
||||
DBuilder.createStaticVariable(Unit, Name, Name, Unit,
|
||||
getLineNumber(VD->getLocation()), Ty, true,
|
||||
Init, getStaticDataMemberDeclaration(VD));
|
||||
llvm::DIGlobalVariable GV = DBuilder.createStaticVariable(
|
||||
Unit, Name, Name, Unit, getLineNumber(VD->getLocation()), Ty, true, Init,
|
||||
getStaticDataMemberDeclaration(cast<VarDecl>(VD)));
|
||||
DeclCache.insert(std::make_pair(VD->getCanonicalDecl(), llvm::WeakVH(GV)));
|
||||
}
|
||||
|
||||
|
|
|
@ -357,7 +357,7 @@ private:
|
|||
/// getStaticDataMemberDeclaration - Return debug info descriptor to
|
||||
/// describe in-class static data member declaration for the given
|
||||
/// out-of-class definition.
|
||||
llvm::DIDerivedType getStaticDataMemberDeclaration(const Decl *D);
|
||||
llvm::DIDerivedType getStaticDataMemberDeclaration(const VarDecl *D);
|
||||
|
||||
/// getFunctionName - Get function name for the given FunctionDecl. If the
|
||||
/// name is constructred on demand (e.g. C++ destructor) then the name
|
||||
|
|
Loading…
Reference in New Issue