aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-08-15 20:49:17 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-08-15 20:49:17 +0000
commitb2e86eb64acdca438466d9423a3a6e635e71e078 (patch)
treeb44e7cff5bdd01231ac1a35bb826cebfbdabcc16 /clang/lib/CodeGen/ModuleBuilder.cpp
parent0a41d9ae7f0b70c5a613f72f119fa1c30fd6353a (diff)
downloadllvm-b2e86eb64acdca438466d9423a3a6e635e71e078.zip
llvm-b2e86eb64acdca438466d9423a3a6e635e71e078.tar.gz
llvm-b2e86eb64acdca438466d9423a3a6e635e71e078.tar.bz2
DebugInfo: Unify & optimize the lazy addition of record types
Rather than going through the whole getOrCreateType machinery to manifest a type, cut straight to the implementation because we know we have to do work. While the previous implementation was sufficient for the two cases (completeness and required completeness) we have already (the general machinery could inspect the type for those attributes & go down the full definition path), a pending change (to emit info for types when we emit their vtables) won't have that luxury & we'll need to force the creation rather than relying on the general purpose routine. llvm-svn: 188486
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
-rw-r--r--clang/lib/CodeGen/ModuleBuilder.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/ModuleBuilder.cpp b/clang/lib/CodeGen/ModuleBuilder.cpp
index c6d4033..a33b3a3 100644
--- a/clang/lib/CodeGen/ModuleBuilder.cpp
+++ b/clang/lib/CodeGen/ModuleBuilder.cpp
@@ -100,7 +100,7 @@ namespace {
virtual void HandleTagDeclRequiredDefinition(const TagDecl *D) LLVM_OVERRIDE {
if (CodeGen::CGDebugInfo *DI = Builder->getModuleDebugInfo())
if (const RecordDecl *RD = dyn_cast<RecordDecl>(D))
- DI->completeFwdDecl(*RD);
+ DI->completeRequiredType(RD);
}
virtual void HandleTranslationUnit(ASTContext &Ctx) {