diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-19 07:03:11 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-19 07:03:11 +0000 |
commit | 669521c97c79a0b1e289658c26e8a356b21cb75d (patch) | |
tree | 0dd1fa2b07fd60adc227d3a0252f315c1ab4278f | |
parent | b6adc43f6ec4d2c1eef7b00d3f6460fe2d7be381 (diff) | |
download | bcm5719-llvm-669521c97c79a0b1e289658c26e8a356b21cb75d.tar.gz bcm5719-llvm-669521c97c79a0b1e289658c26e8a356b21cb75d.zip |
Fix thinko.
llvm-svn: 76362
-rw-r--r-- | clang/lib/CodeGen/CGDecl.cpp | 5 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGStmt.cpp | 7 |
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); |