diff options
Diffstat (limited to 'clang/lib/CodeGen/CGStmt.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGStmt.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/clang/lib/CodeGen/CGStmt.cpp b/clang/lib/CodeGen/CGStmt.cpp index cd86eeb1216..b9d74b675a6 100644 --- a/clang/lib/CodeGen/CGStmt.cpp +++ b/clang/lib/CodeGen/CGStmt.cpp @@ -524,18 +524,20 @@ void CodeGenFunction::EmitIfStmt(const IfStmt &S) { // Emit the 'else' code if present. if (const Stmt *Else = S.getElse()) { - // There is no need to emit line number for unconditional branch. - if (getDebugInfo()) - Builder.SetCurrentDebugLocation(llvm::DebugLoc()); - EmitBlock(ElseBlock); + { + // There is no need to emit line number for unconditional branch. + SuppressDebugLocation S(Builder); + EmitBlock(ElseBlock); + } { RunCleanupsScope ElseScope(*this); EmitStmt(Else); } - // There is no need to emit line number for unconditional branch. - if (getDebugInfo()) - Builder.SetCurrentDebugLocation(llvm::DebugLoc()); - EmitBranch(ContBlock); + { + // There is no need to emit line number for unconditional branch. + SuppressDebugLocation S(Builder); + EmitBranch(ContBlock); + } } // Emit the continuation block for code after the if. |