summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.h
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-08-18 17:59:12 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-08-18 17:59:12 +0000
commit25b2085490aaf5370b4d18e5d91ccd55f21bf110 (patch)
treeaac79860480da17405335a178387d6fd8a3009bd /clang/lib/CodeGen/CGDebugInfo.h
parent5a050016bb8e33f8e53b1fe05de7adb8ff00d4aa (diff)
downloadbcm5719-llvm-25b2085490aaf5370b4d18e5d91ccd55f21bf110.tar.gz
bcm5719-llvm-25b2085490aaf5370b4d18e5d91ccd55f21bf110.zip
Revert "Revert "DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class""
This reverts commit r188600. r188640/r188639 fixed the root cause of the crash-on-valid that r188600 originally introduced. This now appears to bootstrap debug clang successfully to the best of my testing. llvm-svn: 188642
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.h')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.h b/clang/lib/CodeGen/CGDebugInfo.h
index 54b9267f8e4..d0e16bfe3eb 100644
--- a/clang/lib/CodeGen/CGDebugInfo.h
+++ b/clang/lib/CodeGen/CGDebugInfo.h
@@ -291,7 +291,7 @@ public:
void completeType(const RecordDecl *RD);
void completeRequiredType(const RecordDecl *RD);
-
+ void completeClassData(const RecordDecl *RD);
private:
/// EmitDeclare - Emit call to llvm.dbg.declare for a variable declaration.
@@ -354,10 +354,13 @@ private:
/// declaration for the given method definition.
llvm::DISubprogram getFunctionDeclaration(const Decl *D);
- /// getStaticDataMemberDeclaration - Return debug info descriptor to
- /// describe in-class static data member declaration for the given
- /// out-of-class definition.
- llvm::DIDerivedType getStaticDataMemberDeclaration(const VarDecl *D);
+ /// Return debug info descriptor to describe in-class static data member
+ /// declaration for the given out-of-class definition.
+ llvm::DIDerivedType
+ getOrCreateStaticDataMemberDeclarationOrNull(const VarDecl *D);
+ llvm::DIDerivedType
+ getOrCreateStaticDataMemberDeclaration(const VarDecl *D,
+ llvm::DICompositeType Ctxt);
/// getFunctionName - Get function name for the given FunctionDecl. If the
/// name is constructred on demand (e.g. C++ destructor) then the name
OpenPOWER on IntegriCloud