summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/debug-info-line-if.cpp
blob: 068e2a4a8c500803bb1a80ba1f254c433279e8fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// RUN: %clang_cc1 -g -std=c++11 -S -emit-llvm %s -o - | FileCheck %s
// PR19864
int main() {
    int v[] = {13, 21, 8, 3, 34, 1, 5, 2};
    int a = 0, b = 0;
    for (int x : v)
      if (x >= 3)
        ++b;     // CHECK: add nsw{{.*}}, 1
      else if (x >= 0)
        ++a;    // CHECK: add nsw{{.*}}, 1
    // The continuation block if the if statement should not share the
    // location of the ++a statement. The branch back to the start of the loop
    // should be attributed to the loop header line.

    // CHECK: br label
    // CHECK: br label
    // CHECK: br label {{.*}}, !dbg ![[DBG:.*]]
    // CHECK: ![[DBG]] = metadata !{i32 [[@LINE-12]], i32 0, metadata !{{.*}}, null}

}
OpenPOWER on IntegriCloud