File: enum.c

package info (click to toggle)
sdcc 4.5.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 112,804 kB
  • sloc: ansic: 622,685; cpp: 259,454; makefile: 81,253; sh: 40,203; asm: 19,222; perl: 12,139; yacc: 7,761; awk: 3,378; lisp: 1,677; python: 1,097; lex: 1,028; sed: 76
file content (110 lines) | stat: -rw-r--r-- 1,030 bytes parent folder | download | duplicates (2)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110

#ifdef TEST1
enum tag
{
  first,
  second,
  third
};
#endif

#ifdef TEST2
enum tag
{
  first,	/* IGNORE */
  second,
  third,
  first,	/* ERROR */
  fourth
};
#endif


#ifdef TEST3
enum
{
  first,	/* IGNORE */
  second,
  third,
  first,	/* ERROR */
  fourth
};
#endif


#ifdef TEST4
enum
{
  first=1,
  second,
  third,
};
#endif


#ifdef TEST5
enum
{
  first=1.1,	/* ERROR */
  second,
  third,
};
#endif

#ifdef TEST6
int second;	/* IGNORE */

enum tag
{
  first,
  second,	/* ERROR */
  third
};
#endif

#ifdef TEST7
enum tag	/* IGNORE */
{
  first,
  second,
  third
};

enum tag {	/* ERROR */
  fourth,
  fifth,
  sixth
};
#endif

#ifdef TEST8
enum tag x;  /* IGNORE(GCC) */

enum tag
{
  first,
  second,
  third
};
#endif

#ifdef TEST9
enum comma
{
  first,
  second,,	/* ERROR */
}
#endif

// C23 allows multiple compatible definitions for enum.
#ifdef TEST10
#ifdef __SDCC
#pragma std_c23
#endif

enum X {A = 1, B};     /* IGNORE */
enum X {B = 2, A = 1}; /* IGNORE(GCC) */
enum X {A = 1, B = 3}; /* ERROR */

#endif