]> git.xonotic.org Git - xonotic/gmqcc.git/blob - tests/enum.qc
1691661e62d8d627f14e704524f5888668a98fae
[xonotic/gmqcc.git] / tests / enum.qc
1 void(string, ...)   print  = #1;enum {
2     // this behaviour is confusing, but I like that
3     // we support it.
4     __ = (__ - 1),
5     A  = (__ + 1),
6
7     B,
8     C
9 };
10
11 enum {
12     D = C + B,
13     E = C + C,
14     F = C + D,
15 };
16
17 enum {
18     G = (B + F), H = (C + F),
19     I = (D + F), J = (B + I)
20 };
21 enum {
22     K = A + B - C + D - E + F *
23         G - H + I - J + A - B -
24         J + A,
25     L,
26     M,
27     N
28 };
29
30 enum : flag {
31     F1, /* = 1 << 1 */
32     F2, /* = 1 << 2 */
33     F3  /* = 1 << 3 */
34 };
35
36 void main() {
37     print(ftos(A), "\n");
38     print(ftos(B), "\n");
39     print(ftos(C), "\n");
40     print(ftos(D), "\n");
41     print(ftos(E), "\n");
42     print(ftos(F), "\n");
43     print(ftos(G), "\n");
44     print(ftos(H), "\n");
45     print(ftos(I), "\n");
46     print(ftos(J), "\n");
47     print(ftos(K), "\n");
48     print(ftos(L), "\n");
49     print(ftos(M), "\n");
50     print(ftos(N), "\n");
51
52     print(ftos(F1), "\n");
53     print(ftos(F2), "\n");
54     print(ftos(F3), "\n");
55 };