MATCH: Improve `A CMP 0 ? A : -A` set of patterns to use bitwise_equal_p.
[official-gcc.git] / gcc / testsuite / gdc.test / fail_compilation / fail109.d
blob003e65f9b807d5edb900dcd2144f578307d85a48
1 /*
2 TEST_OUTPUT:
3 ---
4 fail_compilation/fail109.d(12): Error: enum member `fail109.Bool.Unknown` initialization with `Bool.True+1` causes overflow for type `bool`
5 ---
6 */
8 enum Bool : bool
10 False,
11 True,
12 Unknown
15 /* https://issues.dlang.org/show_bug.cgi?id=11088
16 TEST_OUTPUT:
17 ---
18 fail_compilation/fail109.d(25): Error: enum member `fail109.E.B` initialization with `E.A+1` causes overflow for type `int`
19 fail_compilation/fail109.d(31): Error: enum member `fail109.E1.B` initialization with `E1.A+1` causes overflow for type `short`
20 ---
22 enum E
24 A = int.max,
28 enum E1 : short
30 A = short.max,
34 /* https://issues.dlang.org/show_bug.cgi?id=14950
35 TEST_OUTPUT:
36 ---
37 fail_compilation/fail109.d(50): Error: cannot check `fail109.B.end` value for overflow
38 fail_compilation/fail109.d(50): Error: comparison between different enumeration types `B` and `C`; If this behavior is intended consider using `std.conv.asOriginalType`
39 fail_compilation/fail109.d(50): Error: enum member `fail109.B.end` initialization with `B.start+1` causes overflow for type `C`
40 ---
42 enum C
44 start,
45 end
47 enum B
49 start = C.end,
50 end
53 /* https://issues.dlang.org/show_bug.cgi?id=11849
54 TEST_OUTPUT:
55 ---
56 fail_compilation/fail109.d(72): Error: enum member `fail109.RegValueType1a.Unknown` is forward referenced looking for `.max`
57 fail_compilation/fail109.d(79): Error: enum member `fail109.RegValueType1b.Unknown` is forward referenced looking for `.max`
58 fail_compilation/fail109.d(84): Error: enum member `fail109.RegValueType2a.Unknown` is forward referenced looking for `.min`
59 fail_compilation/fail109.d(91): Error: enum member `fail109.RegValueType2b.Unknown` is forward referenced looking for `.min`
60 ---
63 alias DWORD = uint;
65 enum : DWORD
67 REG_DWORD = 4
70 enum RegValueType1a : DWORD
72 Unknown = DWORD.max,
73 DWORD = REG_DWORD,
76 enum RegValueType1b : DWORD
78 DWORD = REG_DWORD,
79 Unknown = DWORD.max,
82 enum RegValueType2a : DWORD
84 Unknown = DWORD.min,
85 DWORD = REG_DWORD,
88 enum RegValueType2b : DWORD
90 DWORD = REG_DWORD,
91 Unknown = DWORD.min,
95 TEST_OUTPUT:
96 ---
97 fail_compilation/fail109.d(107): Error: enum member `fail109.d` initialization with `__anonymous.c+1` causes overflow for type `Q`
98 ---
101 struct Q {
102 enum max = Q();
105 enum {
106 c = Q(),