authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-09-24 15:13:38-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-09-24 15:14:20-04:00
log877036e7ef37432579233347b5b3cfce66040f83
tree83314e63282cb5f288a23a0b20c2b25b64b80180
parent32c91ad892f5dc0138828aea19b3c0e2b062d168

fix translate-c test expecting incorrect C ABI on windows


1 files changed, 57 insertions(+), 53 deletions(-)

test/translate_c.zig+57-53
......@@ -1,59 +1,63 @@
11const tests = @import("tests.zig");
2const builtin = @import("builtin");
23
34pub fn addCases(cases: *tests.TranslateCContext) void {
4 cases.add("negative enum init values",
5 \\enum EnumWithInits {
6 \\ VAL01 = 0,
7 \\ VAL02 = 1,
8 \\ VAL03 = 2,
9 \\ VAL04 = 3,
10 \\ VAL05 = -1,
11 \\ VAL06 = -2,
12 \\ VAL07 = -3,
13 \\ VAL08 = -4,
14 \\ VAL09 = VAL02 + VAL08,
15 \\ VAL10 = -1000012000,
16 \\ VAL11 = -1000161000,
17 \\ VAL12 = -1000174001,
18 \\ VAL13 = VAL09,
19 \\ VAL14 = VAL10,
20 \\ VAL15 = VAL11,
21 \\ VAL16 = VAL13,
22 \\ VAL17 = (VAL16 - VAL10 + 1),
23 \\ VAL18 = 0x1000000000000000L,
24 \\ VAL19 = VAL18 + VAL18 + VAL18 - 1,
25 \\ VAL20 = VAL19 + VAL19,
26 \\ VAL21 = VAL20 + 0xFFFFFFFFFFFFFFFF,
27 \\ VAL22 = 0xFFFFFFFFFFFFFFFF + 1,
28 \\ VAL23 = 0xFFFFFFFFFFFFFFFF,
29 \\};
30 ,
31 \\pub const enum_EnumWithInits = extern enum(c_longlong) {
32 \\ VAL01 = 0,
33 \\ VAL02 = 1,
34 \\ VAL03 = 2,
35 \\ VAL04 = 3,
36 \\ VAL05 = -1,
37 \\ VAL06 = -2,
38 \\ VAL07 = -3,
39 \\ VAL08 = -4,
40 \\ VAL09 = -3,
41 \\ VAL10 = -1000012000,
42 \\ VAL11 = -1000161000,
43 \\ VAL12 = -1000174001,
44 \\ VAL13 = -3,
45 \\ VAL14 = -1000012000,
46 \\ VAL15 = -1000161000,
47 \\ VAL16 = -3,
48 \\ VAL17 = 1000011998,
49 \\ VAL18 = 1152921504606846976,
50 \\ VAL19 = 3458764513820540927,
51 \\ VAL20 = 6917529027641081854,
52 \\ VAL21 = 6917529027641081853,
53 \\ VAL22 = 0,
54 \\ VAL23 = -1,
55 \\};
56 );
5 if (builtin.os != builtin.Os.windows) {
6 // Windows treats this as an enum with type c_int
7 cases.add("big negative enum init values when C ABI supports long long enums",
8 \\enum EnumWithInits {
9 \\ VAL01 = 0,
10 \\ VAL02 = 1,
11 \\ VAL03 = 2,
12 \\ VAL04 = 3,
13 \\ VAL05 = -1,
14 \\ VAL06 = -2,
15 \\ VAL07 = -3,
16 \\ VAL08 = -4,
17 \\ VAL09 = VAL02 + VAL08,
18 \\ VAL10 = -1000012000,
19 \\ VAL11 = -1000161000,
20 \\ VAL12 = -1000174001,
21 \\ VAL13 = VAL09,
22 \\ VAL14 = VAL10,
23 \\ VAL15 = VAL11,
24 \\ VAL16 = VAL13,
25 \\ VAL17 = (VAL16 - VAL10 + 1),
26 \\ VAL18 = 0x1000000000000000L,
27 \\ VAL19 = VAL18 + VAL18 + VAL18 - 1,
28 \\ VAL20 = VAL19 + VAL19,
29 \\ VAL21 = VAL20 + 0xFFFFFFFFFFFFFFFF,
30 \\ VAL22 = 0xFFFFFFFFFFFFFFFF + 1,
31 \\ VAL23 = 0xFFFFFFFFFFFFFFFF,
32 \\};
33 ,
34 \\pub const enum_EnumWithInits = extern enum(c_longlong) {
35 \\ VAL01 = 0,
36 \\ VAL02 = 1,
37 \\ VAL03 = 2,
38 \\ VAL04 = 3,
39 \\ VAL05 = -1,
40 \\ VAL06 = -2,
41 \\ VAL07 = -3,
42 \\ VAL08 = -4,
43 \\ VAL09 = -3,
44 \\ VAL10 = -1000012000,
45 \\ VAL11 = -1000161000,
46 \\ VAL12 = -1000174001,
47 \\ VAL13 = -3,
48 \\ VAL14 = -1000012000,
49 \\ VAL15 = -1000161000,
50 \\ VAL16 = -3,
51 \\ VAL17 = 1000011998,
52 \\ VAL18 = 1152921504606846976,
53 \\ VAL19 = 3458764513820540927,
54 \\ VAL20 = 6917529027641081854,
55 \\ VAL21 = 6917529027641081853,
56 \\ VAL22 = 0,
57 \\ VAL23 = -1,
58 \\};
59 );
60 }
5761
5862 cases.add("for loop with var init but empty body",
5963 \\void foo(void) {