[cfe-commits] r144938 - /cfe/trunk/lib/CodeGen/CGDebugInfo.cpp

jahanian fjahanian at apple.com
Thu Nov 17 15:50:01 PST 2011


Test please.
- fariborz

On Nov 17, 2011, at 3:45 PM, Eric Christopher wrote:

> Author: echristo
> Date: Thu Nov 17 17:45:00 2011
> New Revision: 144938
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=144938&view=rev
> Log:
> Use the canonical decl to index so that we can really find it later.
> 
> Fixes rdar://10433202
> 
> Modified:
>    cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
> 
> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=144938&r1=144937&r2=144938&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Thu Nov 17 17:45:00 2011
> @@ -851,7 +851,7 @@
>                           Virtuality, VIndex, ContainingType,
>                           Flags, CGM.getLangOptions().Optimize);
> 
> -  SPCache[Method] = llvm::WeakVH(SP);
> +  SPCache[Method->getCanonicalDecl()] = llvm::WeakVH(SP);
> 
>   return SP;
> }
> @@ -1690,7 +1690,7 @@
>   getContextDescriptor(cast<Decl>(D->getDeclContext()));
> 
>   llvm::DenseMap<const FunctionDecl *, llvm::WeakVH>::iterator
> -    MI = SPCache.find(FD);
> +    MI = SPCache.find(FD->getCanonicalDecl());
>   if (MI != SPCache.end()) {
>     llvm::DISubprogram SP(dyn_cast_or_null<llvm::MDNode>(&*MI->second));
>     if (SP.isSubprogram() && !llvm::DISubprogram(SP).isDefinition())
> @@ -1701,7 +1701,7 @@
>          E = FD->redecls_end(); I != E; ++I) {
>     const FunctionDecl *NextFD = *I;
>     llvm::DenseMap<const FunctionDecl *, llvm::WeakVH>::iterator
> -      MI = SPCache.find(NextFD);
> +      MI = SPCache.find(NextFD->getCanonicalDecl());
>     if (MI != SPCache.end()) {
>       llvm::DISubprogram SP(dyn_cast_or_null<llvm::MDNode>(&*MI->second));
>       if (SP.isSubprogram() && !llvm::DISubprogram(SP).isDefinition())
> @@ -1759,7 +1759,7 @@
>   if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
>     // If there is a DISubprogram for this function available then use it.
>     llvm::DenseMap<const FunctionDecl *, llvm::WeakVH>::iterator
> -      FI = SPCache.find(FD);
> +      FI = SPCache.find(FD->getCanonicalDecl());
>     if (FI != SPCache.end()) {
>       llvm::DIDescriptor SP(dyn_cast_or_null<llvm::MDNode>(&*FI->second));
>       if (SP.isSubprogram() && llvm::DISubprogram(SP).isDefinition()) {
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits




More information about the cfe-commits mailing list