aboutsummaryrefslogtreecommitdiff
path: root/test/Index/resolve-loc.c
blob: cae86f38dd6d42701e12a107d0b6184d5048ba23 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Run lines are sensitive to line numbers and come below the code.

int top_var;

void top_func_decl(int param1);

void top_func_def(int param2) {
  int local_var1;
  for (int for_var = 100; for_var < 500; ++for_var) {
    int local_var2 = for_var + 1;
  }
}

struct S {
  int field_var;
};


// RUN: clang-cc -emit-pch %s -o %t.ast &&
// RUN: index-test %t.ast -point-at %s:3:8 | grep top_var &&
// RUN: index-test %t.ast -point-at %s:5:15 | grep top_func_decl &&
// RUN: index-test %t.ast -point-at %s:5:25 | grep param1 &&
// RUN: index-test %t.ast -point-at %s:7:17 | grep top_func_def &&
// RUN: index-test %t.ast -point-at %s:7:23 | grep param2 &&
// RUN: index-test %t.ast -point-at %s:8:10 | grep local_var1 &&
// RUN: index-test %t.ast -point-at %s:9:15 | grep for_var &&

// RUN: index-test %t.ast -point-at %s:9:43 > %t &&
// RUN: grep '++for_var' %t &&

// RUN: index-test %t.ast -point-at %s:10:9 | grep local_var2 &&

// RUN: index-test %t.ast -point-at %s:10:30 > %t &&
// RUN: grep 'for_var + 1' %t &&

// fields test.
// RUN: index-test %t.ast -point-at %s:15:10 | grep field_var