| ... | ... | @@ -1,11 +1,11 @@ |
| 1 | 1 | const tests = @import("tests.zig"); |
| 2 | 2 | const builtin = @import("builtin"); |
| 3 | 3 | |
| 4 | | // add_both - test for stage1 and stage2, in #include mode |
| 5 | | // add - test stage1 only, in #include mode |
| 6 | | // add_2 - test stage2 only, in #include mode |
| 4 | // add_both - test for stage1 and stage2 |
| 5 | // add - test stage1 only |
| 6 | // add_2 - test stage2 only |
| 7 | 7 | |
| 8 | | pub export fn addCases(cases: *tests.TranslateCContext) void { |
| 8 | pub fn addCases(cases: *tests.TranslateCContext) void { |
| 9 | 9 | /////////////// Cases that pass for both stage1/stage2 //////////////// |
| 10 | 10 | cases.add_both("simple function prototypes", |
| 11 | 11 | \\void __attribute__((noreturn)) foo(void); |
| ... | ... | @@ -66,21 +66,17 @@ pub export fn addCases(cases: *tests.TranslateCContext) void { |
| 66 | 66 | \\pub var v0: [*c]const u8 = "0.0.0"; |
| 67 | 67 | }); |
| 68 | 68 | |
| 69 | | /////////////// Cases that pass for only stage2 //////////////// |
| 70 | | |
| 71 | | cases.add_2("Parameterless function prototypes", |
| 72 | | \\void a() {} |
| 73 | | \\void b(void) {} |
| 74 | | \\void c(); |
| 75 | | \\void d(void); |
| 69 | cases.add_both("static incomplete array inside function", |
| 70 | \\void foo(void) { |
| 71 | \\ static const char v2[] = "2.2.2"; |
| 72 | \\} |
| 76 | 73 | , &[_][]const u8{ |
| 77 | | \\pub export fn a() void {} |
| 78 | | \\pub export fn b() void {} |
| 79 | | \\pub extern fn c(...) void; |
| 80 | | \\pub extern fn d() void; |
| 74 | \\pub export fn foo() void { |
| 75 | \\ const v2: [*c]const u8 = "2.2.2"; |
| 76 | \\} |
| 81 | 77 | }); |
| 82 | 78 | |
| 83 | | cases.add_2("simple function definition", |
| 79 | cases.add_both("simple function definition", |
| 84 | 80 | \\void foo(void) {} |
| 85 | 81 | \\static void bar(void) {} |
| 86 | 82 | , &[_][]const u8{ |
| ... | ... | @@ -88,7 +84,9 @@ pub export fn addCases(cases: *tests.TranslateCContext) void { |
| 88 | 84 | \\pub fn bar() void {} |
| 89 | 85 | }); |
| 90 | 86 | |
| 91 | | cases.add_2("parameterless function prototypes", |
| 87 | /////////////// Cases that pass for only stage2 //////////////// |
| 88 | |
| 89 | cases.add_2("Parameterless function prototypes", |
| 92 | 90 | \\void a() {} |
| 93 | 91 | \\void b(void) {} |
| 94 | 92 | \\void c(); |
| ... | ... | @@ -130,14 +128,6 @@ pub export fn addCases(cases: *tests.TranslateCContext) void { |
| 130 | 128 | \\}; |
| 131 | 129 | }); |
| 132 | 130 | |
| 133 | | cases.add_both("simple function definition", |
| 134 | | \\void foo(void) {} |
| 135 | | \\static void bar(void) {} |
| 136 | | , &[_][]const u8{ |
| 137 | | \\pub export fn foo() void {} |
| 138 | | \\pub fn bar() void {} |
| 139 | | }); |
| 140 | | |
| 141 | 131 | cases.add("macro with left shift", |
| 142 | 132 | \\#define REDISMODULE_READ (1<<0) |
| 143 | 133 | , &[_][]const u8{ |
| ... | ... | @@ -1521,16 +1511,6 @@ pub export fn addCases(cases: *tests.TranslateCContext) void { |
| 1521 | 1511 | \\} |
| 1522 | 1512 | }); |
| 1523 | 1513 | |
| 1524 | | cases.add("static incomplete array inside function", |
| 1525 | | \\void foo(void) { |
| 1526 | | \\ static const char v2[] = "2.2.2"; |
| 1527 | | \\} |
| 1528 | | , &[_][]const u8{ |
| 1529 | | \\pub export fn foo() void { |
| 1530 | | \\ const v2: [*c]const u8 = "2.2.2"; |
| 1531 | | \\} |
| 1532 | | }); |
| 1533 | | |
| 1534 | 1514 | cases.add("macro pointer cast", |
| 1535 | 1515 | \\#define NRF_GPIO ((NRF_GPIO_Type *) NRF_GPIO_BASE) |
| 1536 | 1516 | , &[_][]const u8{ |