| enum good { G, }; |
| enum bad { B, }; |
| enum good g; |
| |
| enum good compat_int(void) { return 1; } |
| |
| void parg(enum good); |
| void parg(enum bad); |
| |
| void farg(enum good a); |
| void farg(enum bad a) { } |
| |
| enum good pret(void); |
| enum bad pret(void); |
| |
| enum good fret(void); |
| enum bad fret(void) { return 0; } |
| |
| |
| enum good *ptr; |
| enum bad *ptr; |
| |
| enum good *gptr = &g; |
| enum bad *bptr = &g; |
| |
| /* |
| * check-name: enum-typecheck |
| * check-command: sparse -Wno-decl $file |
| * check-known-to-fail |
| * |
| * check-error-start |
| enum-typecheck.c:8:6: error: symbol 'parg' redeclared with different type |
| enum-typecheck.c:11:6: error: symbol 'farg' redeclared with different type |
| enum-typecheck.c:14:11: error: symbol 'pret' redeclared with different type |
| enum-typecheck.c:17:11: error: symbol 'fret' redeclared with different type |
| enum-typecheck.c:21:12: error: symbol 'ptr' redeclared with different type |
| enum-typecheck.c:24:20: warning: incorrect type in initializer (different type sizes) |
| * check-error-end |
| */ |