summaryrefslogtreecommitdiffstats
path: root/test/Index/resolve-loc.c
blob: 68504ee0d2bc5953aa6bcf9714a1b23740b777c7 (plain)
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_cc1 -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