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