aboutsummaryrefslogtreecommitdiff
path: root/test/translate_c.zig
diff options
context:
space:
mode:
Diffstat (limited to 'test/translate_c.zig')
-rw-r--r--test/translate_c.zig12
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));