1 | // RUN: c-index-test -test-load-source all -fspell-checking %s 2> %t |
2 | // RUN: FileCheck %s < %t |
3 | struct X { |
4 | int wibble; |
5 | }; |
6 | |
7 | #define MACRO(X) X |
8 | |
9 | void f(struct X *x) { |
10 | // CHECK: error: no member named 'wobble' in 'struct X'; did you mean 'wibble'? |
11 | // CHECK: FIX-IT: Replace [13:12 - 13:18] with "wibble" |
12 | // CHECK: note: 'wibble' declared here |
13 | MACRO(x->wobble = 17); |
14 | // CHECK: error: no member named 'wabble' in 'struct X'; did you mean 'wibble'? |
15 | // CHECK: FIX-IT: Replace [17:6 - 17:12] with "wibble" |
16 | // CHECK: note: 'wibble' declared here |
17 | x->wabble = 17; |
18 | } |
19 | |
20 | int printf(const char *restrict, ...); |
21 | |
22 | void f2() { |
23 | unsigned long index; |
24 | // CHECK: warning: format specifies type 'int' but the argument has type 'unsigned long' |
25 | // CHECK: FIX-IT: Replace [26:17 - 26:19] with "%lu" |
26 | MACRO(printf("%d", index)); |
27 | } |
28 | |