modernc.org/ccgo/v3@v3.16.14/lib/testdata/bug/init.c (about) 1 typedef struct TSLexer TSLexer; 2 3 struct TSLexer { 4 int lookahead; 5 int result_symbol; 6 void (*advance)(); 7 void (*mark_end)(); 8 void (*get_column)(); 9 void (*is_at_included_range_start)(); 10 void (*eof)(); 11 }; 12 13 void f1() {} 14 void f2() {} 15 void f3() {} 16 void f4() {} 17 void f5() {} 18 19 int main() { 20 TSLexer l = { 21 .advance = f1, 22 .mark_end = f2, 23 .get_column = f3, 24 .eof = f5, 25 .is_at_included_range_start = f4, 26 .lookahead = 0, 27 .result_symbol = 0, 28 }; 29 if (l.lookahead != 0) { 30 return __LINE__; 31 } 32 33 if (l.result_symbol != 0) { 34 return __LINE__; 35 } 36 37 if (l.advance != f1) { 38 return __LINE__; 39 } 40 41 if (l.mark_end != f2) { 42 return __LINE__; 43 } 44 45 if (l.get_column != f3) { 46 return __LINE__; 47 } 48 49 if (l.is_at_included_range_start != f4) { 50 return __LINE__; 51 } 52 53 if (l.eof != f5) { 54 return __LINE__; 55 } 56 57 return 0; 58 }