1 enum good { G, };
2 enum bad  { B, };
3 enum good g;
4 
compat_int(void)5 enum good compat_int(void) { return 1; }
6 
7 void parg(enum good);
8 void parg(enum bad);
9 
10 void farg(enum good a);
farg(enum bad a)11 void farg(enum bad  a) { }
12 
13 enum good pret(void);
14 enum bad  pret(void);
15 
16 enum good fret(void);
fret(void)17 enum bad  fret(void) { return 0; }
18 
19 
20 enum good *ptr;
21 enum bad  *ptr;
22 
23 enum good *gptr = &g;
24 enum bad  *bptr = &g;
25 
26 /*
27  * check-name: enum-typecheck
28  * check-command: sparse -Wno-decl $file
29  * check-known-to-fail
30  *
31  * check-error-start
32 enum-typecheck.c:8:6: error: symbol 'parg' redeclared with different type
33 enum-typecheck.c:11:6: error: symbol 'farg' redeclared with different type
34 enum-typecheck.c:14:11: error: symbol 'pret' redeclared with different type
35 enum-typecheck.c:17:11: error: symbol 'fret' redeclared with different type
36 enum-typecheck.c:21:12: error: symbol 'ptr' redeclared with different type
37 enum-typecheck.c:24:20: warning: incorrect type in initializer (different type sizes)
38  * check-error-end
39  */
40