summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-19 07:03:11 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-19 07:03:11 +0000
commit669521c97c79a0b1e289658c26e8a356b21cb75d (patch)
tree0dd1fa2b07fd60adc227d3a0252f315c1ab4278f
parentb6adc43f6ec4d2c1eef7b00d3f6460fe2d7be381 (diff)
downloadbcm5719-llvm-669521c97c79a0b1e289658c26e8a356b21cb75d.tar.gz
bcm5719-llvm-669521c97c79a0b1e289658c26e8a356b21cb75d.zip
Fix thinko.
llvm-svn: 76362
-rw-r--r--clang/lib/CodeGen/CGDecl.cpp5
-rw-r--r--clang/lib/CodeGen/CGStmt.cpp7
2 files changed, 8 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGDecl.cpp b/clang/lib/CodeGen/CGDecl.cpp
index 6da8649b0a8..47727f2d36b 100644
--- a/clang/lib/CodeGen/CGDecl.cpp
+++ b/clang/lib/CodeGen/CGDecl.cpp
@@ -325,10 +325,7 @@ void CodeGenFunction::EmitLocalBlockVarDecl(const VarDecl &D) {
// Emit debug info for local var declaration.
if (CGDebugInfo *DI = getDebugInfo()) {
- // FIXME: Remove this once debug info isn't modeled as instructions.
- EnsureInsertPoint();
-
- EmitStopPoint(S);
+ assert(HaveInsertPoint() && "Unexpected unreachable point!");
DI->setLocation(D.getLocation());
if (Target.useGlobalsForAutomaticVariables()) {
diff --git a/clang/lib/CodeGen/CGStmt.cpp b/clang/lib/CodeGen/CGStmt.cpp
index 0999947881f..4e6ec82eb52 100644
--- a/clang/lib/CodeGen/CGStmt.cpp
+++ b/clang/lib/CodeGen/CGStmt.cpp
@@ -525,6 +525,13 @@ void CodeGenFunction::EmitReturnStmt(const ReturnStmt &S) {
}
void CodeGenFunction::EmitDeclStmt(const DeclStmt &S) {
+ // As long as debug info is modeled with instructions, we have to ensure we
+ // have a place to insert here and write the stop point here.
+ if (getDebugInfo()) {
+ EnsureInsertPoint();
+ EmitStopPoint(&S);
+ }
+
for (DeclStmt::const_decl_iterator I = S.decl_begin(), E = S.decl_end();
I != E; ++I)
EmitDecl(**I);
OpenPOWER on IntegriCloud