From bf98608a3dd5fb295f047b957e6aea3211876de4 Mon Sep 17 00:00:00 2001 From: Gabor Greif <ggreif@gmail.com> Date: Sat, 18 Sep 2010 13:00:17 +0000 Subject: [PATCH] do not rely on the implicit-dereference semantics of dyn_cast_or_null llvm-svn: 114281 --- clang/lib/CodeGen/CGDebugInfo.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index 24542fd5b802..bf5f9746da83 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -61,7 +61,7 @@ llvm::DIDescriptor CGDebugInfo::getContextDescriptor(const Decl *Context, llvm::DenseMap<const Decl *, llvm::WeakVH>::iterator I = RegionMap.find(Context); if (I != RegionMap.end()) - return llvm::DIDescriptor(dyn_cast_or_null<llvm::MDNode>(I->second)); + return llvm::DIDescriptor(dyn_cast_or_null<llvm::MDNode>(&*I->second)); // Check namespace. if (const NamespaceDecl *NSDecl = dyn_cast<NamespaceDecl>(Context)) @@ -1478,7 +1478,7 @@ void CGDebugInfo::EmitFunctionStart(GlobalDecl GD, QualType FnType, llvm::DenseMap<const FunctionDecl *, llvm::WeakVH>::iterator FI = SPCache.find(FD); if (FI != SPCache.end()) { - llvm::DIDescriptor SP(dyn_cast_or_null<llvm::MDNode>(FI->second)); + llvm::DIDescriptor SP(dyn_cast_or_null<llvm::MDNode>(&*FI->second)); if (SP.isSubprogram() && llvm::DISubprogram(SP).isDefinition()) { llvm::MDNode *SPN = SP; RegionStack.push_back(SPN);