summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-12-09 14:59:08 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-12-09 14:59:08 +0000
commitc0ff7448d758fae2168bb0d09a5893d6a7aeb5ed (patch)
treedda3f298b9ac530bad7159c02e41fd651668dbef /clang/lib/CodeGen/ModuleBuilder.cpp
parentc3cde36ead0f088c3948329ac0e6f493a9422a86 (diff)
downloadbcm5719-llvm-c0ff7448d758fae2168bb0d09a5893d6a7aeb5ed.tar.gz
bcm5719-llvm-c0ff7448d758fae2168bb0d09a5893d6a7aeb5ed.zip
When we decide to output a deferred decl, remember the llvm GlobalValue.
We can reuse it to avoid a DenseMap+StringMap lookup to find if it was already emitted or not. This fixes a 2010 TODO. llvm-svn: 196785
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
-rw-r--r--clang/lib/CodeGen/ModuleBuilder.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/ModuleBuilder.cpp b/clang/lib/CodeGen/ModuleBuilder.cpp
index bc7acbc39ca..6b81ce7fb09 100644
--- a/clang/lib/CodeGen/ModuleBuilder.cpp
+++ b/clang/lib/CodeGen/ModuleBuilder.cpp
@@ -117,6 +117,8 @@ namespace {
virtual void HandleTranslationUnit(ASTContext &Ctx) {
if (Diags.hasErrorOccurred()) {
+ if (Builder)
+ Builder->clear();
M.reset();
return;
}
OpenPOWER on IntegriCloud