r221481 - Return a DIDescriptor from CGDebugInfo::getDeclarationOrDefinition...
Eric Christopher
echristo at gmail.com
Thu Nov 6 14:57:21 PST 2014
Hrm. Testcase? Where were you seeing it?
-eric
On Thu Nov 06 2014 at 1:30:34 PM Frederic Riss <friss at apple.com> wrote:
> Author: friss
> Date: Thu Nov 6 15:12:06 2014
> New Revision: 221481
>
> URL: http://llvm.org/viewvc/llvm-project?rev=221481&view=rev
> Log:
> Return a DIDescriptor from CGDebugInfo::getDeclarationOrDefinition...
>
> ... instead of a DIScope that might wrap something that's not actually
> a DIScope (eg. a DIGlobalVariable);
>
> Modified:
> cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
> cfe/trunk/lib/CodeGen/CGDebugInfo.h
>
> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/
> CGDebugInfo.cpp?rev=221481&r1=221480&r2=221481&view=diff
> ============================================================
> ==================
> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Thu Nov 6 15:12:06 2014
> @@ -2307,7 +2307,7 @@ llvm::DIType CGDebugInfo::CreateMemberTy
> return Ty;
> }
>
> -llvm::DIScope CGDebugInfo::getDeclarationOrDefinition(const Decl *D) {
> +llvm::DIDescriptor CGDebugInfo::getDeclarationOrDefinition(const Decl
> *D) {
> // We only need a declaration (not a definition) of the type - so use
> whatever
> // we would otherwise do to get a type for a pointee. (forward
> declarations in
> // limited debug info, full definitions (if the type definition is
> available)
> @@ -2327,7 +2327,7 @@ llvm::DIScope CGDebugInfo::getDeclaratio
> if (I == DeclCache.end())
> return llvm::DIScope();
> llvm::Value *V = I->second;
> - return llvm::DIScope(dyn_cast_or_null<llvm::MDNode>(V));
> + return llvm::DIDescriptor(dyn_cast_or_null<llvm::MDNode>(V));
> }
>
> /// getFunctionDeclaration - Return debug info descriptor to describe
> method
> @@ -3239,7 +3239,7 @@ void CGDebugInfo::EmitUsingDecl(const Us
> // Emitting one decl is sufficient - debuggers can detect that this is
> an
> // overloaded name & provide lookup for all the overloads.
> const UsingShadowDecl &USD = **UD.shadow_begin();
> - if (llvm::DIScope Target =
> + if (llvm::DIDescriptor Target =
> getDeclarationOrDefinition(USD.getUnderlyingDecl()))
> DBuilder.createImportedDeclaration(
> getCurrentContextDescriptor(cast<Decl>(USD.getDeclContext())),
> Target,
>
> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/
> CGDebugInfo.h?rev=221481&r1=221480&r2=221481&view=diff
> ============================================================
> ==================
> --- cfe/trunk/lib/CodeGen/CGDebugInfo.h (original)
> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.h Thu Nov 6 15:12:06 2014
> @@ -363,9 +363,9 @@ private:
> llvm::DIType CreateMemberType(llvm::DIFile Unit, QualType FType,
> StringRef Name, uint64_t *Offset);
>
> - /// \brief Retrieve the DIScope, if any, for the canonical form of this
> + /// \brief Retrieve the DIDescriptor, if any, for the canonical form of
> this
> /// declaration.
> - llvm::DIScope getDeclarationOrDefinition(const Decl *D);
> + llvm::DIDescriptor getDeclarationOrDefinition(const Decl *D);
>
> /// getFunctionDeclaration - Return debug info descriptor to describe
> method
> /// declaration for the given method definition.
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20141106/fc074320/attachment.html>
More information about the cfe-commits
mailing list