diff options
author | David Blaikie <dblaikie@gmail.com> | 2013-08-18 17:59:12 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2013-08-18 17:59:12 +0000 |
commit | 25b2085490aaf5370b4d18e5d91ccd55f21bf110 (patch) | |
tree | aac79860480da17405335a178387d6fd8a3009bd /clang/lib/CodeGen/CGDebugInfo.h | |
parent | 5a050016bb8e33f8e53b1fe05de7adb8ff00d4aa (diff) | |
download | bcm5719-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.h | 13 |
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 |