diff options
Diffstat (limited to 'test/translate_c.zig')
| -rw-r--r-- | test/translate_c.zig | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/test/translate_c.zig b/test/translate_c.zig index 917bd98d09..304c290be9 100644 --- a/test/translate_c.zig +++ b/test/translate_c.zig @@ -814,6 +814,14 @@ pub fn addCases(cases: *tests.TranslateCContext) void { /////////////// Cases that pass for only stage2 //////////////// + cases.add_2("Parameterless function pointers", + \\typedef void (*fn0)(); + \\typedef void (*fn1)(char); + , &[_][]const u8{ + \\pub const fn0 = ?extern fn (...) void; + \\pub const fn1 = ?extern fn (u8) void; + }); + cases.add_2("Parameterless function prototypes", \\void a() {} \\void b(void) {} @@ -1024,7 +1032,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { \\pub inline fn glClearUnion(arg_2: GLbitfield) void { \\ return glProcs.gl.Clear.?(arg_2); \\} - , + , \\pub const OpenGLProcs = union_OpenGLProcs; }); @@ -2166,7 +2174,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { }); cases.add_2("macro cast", - \\#define FOO(bar) baz((void *)(baz)) + \\#define FOO(bar) baz((void *)(baz)) , &[_][]const u8{ \\pub inline fn FOO(bar: var) @TypeOf(baz(if (@typeId(@TypeOf(baz)) == .Pointer) @ptrCast([*c]void, baz) else if (@typeId(@TypeOf(baz)) == .Int) @intToPtr([*c]void, baz) else @as([*c]void, baz))) { \\ return baz(if (@typeId(@TypeOf(baz)) == .Pointer) @ptrCast([*c]void, baz) else if (@typeId(@TypeOf(baz)) == .Int) @intToPtr([*c]void, baz) else @as([*c]void, baz)); |
