File: enum-typecheck.c

package info (click to toggle)
sparse 0.6.4-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,868 kB
  • sloc: ansic: 46,050; sh: 614; python: 301; perl: 293; makefile: 279
file content (39 lines) | stat: -rw-r--r-- 976 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
 */