Mercurial > hg > CbC > CbC_llvm
comparison tools/clang/test/Index/complete-macro-args.c @ 0:95c75e76d11b LLVM3.4
LLVM 3.4
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 13:56:28 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:95c75e76d11b |
---|---|
1 struct Point { | |
2 float x; | |
3 float y; | |
4 float z; | |
5 }; | |
6 | |
7 #define MACRO2(x) x | |
8 #define MACRO(x) MACRO2(x) | |
9 | |
10 void test(struct Point *p) { | |
11 p->x; | |
12 MACRO(p->x); | |
13 } | |
14 | |
15 #define MACRO3(x,y,z) x;y;z | |
16 | |
17 void test2(struct Point *p) { | |
18 MACRO3(p->x); | |
19 MACRO3(p->x | |
20 } | |
21 | |
22 #define FM(x) x | |
23 void test3(struct Point *p) { | |
24 FM(p->x, a); | |
25 } | |
26 | |
27 #define VGM(...) 0 | |
28 #define VGM2(...) __VA_ARGS__ | |
29 | |
30 // These need to be last, to test proper handling of EOF. | |
31 #ifdef EOF_TEST1 | |
32 void test3(struct Point *p) { | |
33 VGM(1,2, p->x | |
34 | |
35 #elif EOF_TEST2 | |
36 void test3(struct Point *p) { | |
37 VGM2(VGM(1,2, p->x | |
38 | |
39 #endif | |
40 | |
41 // RUN: c-index-test -code-completion-at=%s:11:12 %s | FileCheck %s | |
42 // RUN: c-index-test -code-completion-at=%s:12:12 %s | FileCheck %s | |
43 // RUN: c-index-test -code-completion-at=%s:18:13 %s | FileCheck %s | |
44 // RUN: c-index-test -code-completion-at=%s:19:13 %s | FileCheck %s | |
45 // RUN: c-index-test -code-completion-at=%s:24:9 %s | FileCheck %s | |
46 // CHECK: FieldDecl:{ResultType float}{TypedText x} (35) | |
47 // CHECK-NEXT: FieldDecl:{ResultType float}{TypedText y} (35) | |
48 // CHECK-NEXT: FieldDecl:{ResultType float}{TypedText z} (35) | |
49 // CHECK-NEXT: Completion contexts: | |
50 // CHECK-NEXT: Arrow member access | |
51 // CHECK-NEXT: Container Kind: StructDecl | |
52 | |
53 // With these, code-completion is unknown because the macro argument (and the | |
54 // completion point) is not expanded by the macro definition. | |
55 // RUN: c-index-test -code-completion-at=%s:33:15 %s -DEOF_TEST1 | FileCheck %s -check-prefix=CHECK-EOF | |
56 // RUN: c-index-test -code-completion-at=%s:37:20 %s -DEOF_TEST2 | FileCheck %s -check-prefix=CHECK-EOF | |
57 // CHECK-EOF: Completion contexts: | |
58 // CHECK-EOF: Unknown |