aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/CodeGen/CGDebugInfo.cpp8
-rw-r--r--test/CodeGen/debug-info-iv.c2
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp
index c1687b38fe..0008919ccc 100644
--- a/lib/CodeGen/CGDebugInfo.cpp
+++ b/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/test/CodeGen/debug-info-iv.c b/test/CodeGen/debug-info-iv.c
index 92654738cf..55ea659fd8 100644
--- a/test/CodeGen/debug-info-iv.c
+++ b/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];