1 2 #ifdef TEST1 3 struct tag { 4 int good1; 5 register int bad; /* ERROR */ 6 int good2; 7 } badstruct; /* IGNORE */ 8 #endif 9 10 #ifdef TEST2 11 struct tag { 12 int good1; 13 int bad; /* IGNORE */ 14 int bad; /* ERROR */ 15 int good2; 16 } badstruct; 17 #endif 18 19 #ifdef TEST3a 20 struct tag { 21 int good1; 22 int bad:255; /* ERROR */ 23 int good2; 24 } badstruct; 25 #endif 26 27 #ifdef TEST3b 28 struct tag { 29 int good1; 30 float badtype1 : 5; /* ERROR */ 31 int good2; 32 _Bool badwidth2 : 2; /* ERROR */ 33 int good3; 34 int badwidth2 : 17; /* ERROR */ 35 int good4; 36 } badstruct; 37 #endif 38 39 #ifdef TEST4 40 struct tag { 41 int good1; 42 int good2; 43 } goodstruct1; 44 45 struct tag goodstruct2; 46 #endif 47 48 #ifdef TEST5a 49 struct tag { 50 int good1; 51 int good2; 52 } goodstruct1; 53 54 union tag badunion; /* ERROR */ 55 #endif 56 57 #ifdef TEST5b 58 union tag { 59 int good1; 60 int good2; 61 } goodunion1; 62 63 struct tag badstruct; /* ERROR */ 64 #endif 65 66 67 #ifdef TEST6 68 struct linklist { 69 struct linklist *prev; 70 struct linklist *next; 71 int x; 72 } ll; 73 #endif 74 75 #ifdef TEST7a 76 union tag { 77 struct tag *next; /* ERROR */ 78 int x; 79 } ll; 80 #endif 81 82 #ifdef TEST7b 83 struct tag { 84 union tag *next; /* ERROR */ 85 int x; 86 } ll; 87 #endif 88 89 #ifdef TEST8a 90 struct tag { 91 int a; /* IGNORE */ 92 struct { 93 int a; /* ERROR(SDCC) */ /* IGNORE(GCC) */ 94 int b; 95 }; 96 } ll; 97 #endif 98 99 #ifdef TEST8b 100 struct tag { 101 int a; 102 struct { 103 int b; 104 int c; 105 }; 106 } ll; 107 test(void)108void test(void) 109 { 110 ll.a = 1; 111 ll.b = 2; 112 ll.c = 3; 113 } 114 115 #endif 116