summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp8
-rw-r--r--clang/test/CodeGen/debug-info-iv.c2
2 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index c1687b38fe5..0008919ccc2 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -1740,9 +1740,11 @@ void CGDebugInfo::EmitStopPoint(CGBuilderTy &Builder) {
// Don't bother if things are the same as last time.
SourceManager &SM = CGM.getContext().getSourceManager();
if (CurLoc == PrevLoc
- || (SM.getInstantiationLineNumber(CurLoc) ==
- SM.getInstantiationLineNumber(PrevLoc)
- && SM.isFromSameFile(CurLoc, PrevLoc)))
+ || ((SM.getInstantiationLineNumber(CurLoc)
+ == SM.getInstantiationLineNumber(PrevLoc))
+ && (SM.getInstantiationColumnNumber(CurLoc)
+ == SM.getInstantiationColumnNumber(PrevLoc))
+ && SM.isFromSameFile(CurLoc, PrevLoc)))
// New Builder may not be in sync with CGDebugInfo.
if (!Builder.getCurrentDebugLocation().isUnknown())
return;
diff --git a/clang/test/CodeGen/debug-info-iv.c b/clang/test/CodeGen/debug-info-iv.c
index 92654738cfc..55ea659fd81 100644
--- a/clang/test/CodeGen/debug-info-iv.c
+++ b/clang/test/CodeGen/debug-info-iv.c
@@ -26,7 +26,7 @@ int main() {
Array[i][j] = 0;
test_indvars(Array[0], Array);
-//CHECK: .loc 2 30 3
+//CHECK: .loc 2 30 8
for (i=0; i < 100; i+=2)
for (j=0; j < 200; j++)
sum += Array[i][j];
OpenPOWER on IntegriCloud