diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2023-04-19 14:17:48 +0100 |
|---|---|---|
| committer | mlugg <mlugg@mlugg.co.uk> | 2023-04-20 20:49:36 +0100 |
| commit | b3f9fe6d0439bcbb5c6baa77c0646c4da2e06dd7 (patch) | |
| tree | a995c358ec71a2c562cf72a13bf24b5d6af3533e /test/cases/function_pointers.zig | |
| parent | 52fe2ebee8023944c6e701f32ab161e0c30aed5b (diff) | |
| download | zig-b3f9fe6d0439bcbb5c6baa77c0646c4da2e06dd7.tar.gz zig-b3f9fe6d0439bcbb5c6baa77c0646c4da2e06dd7.zip | |
Unify incremental test cases and disable many
The self-hosted aarch64 backend is not currently functional due to the
Liveness changes. A previous commit disabled aarch64 on the behavior
tests; this commit disables it and arm for the test cases. Moreover, all
incremental test cases have been unified into shared cross-platform
cases, which can be gradually enabled as the backends improve.
Diffstat (limited to 'test/cases/function_pointers.zig')
| -rw-r--r-- | test/cases/function_pointers.zig | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/cases/function_pointers.zig b/test/cases/function_pointers.zig new file mode 100644 index 0000000000..d48dc0da95 --- /dev/null +++ b/test/cases/function_pointers.zig @@ -0,0 +1,30 @@ +const std = @import("std"); + +const PrintFn = *const fn () void; + +pub fn main() void { + var printFn: PrintFn = stopSayingThat; + var i: u32 = 0; + while (i < 4) : (i += 1) printFn(); + + printFn = moveEveryZig; + printFn(); +} + +fn stopSayingThat() void { + _ = std.os.write(1, "Hello, my name is Inigo Montoya; you killed my father, prepare to die.\n") catch {}; +} + +fn moveEveryZig() void { + _ = std.os.write(1, "All your codebase are belong to us\n") catch {}; +} + +// run +// target=x86_64-macos +// +// Hello, my name is Inigo Montoya; you killed my father, prepare to die. +// Hello, my name is Inigo Montoya; you killed my father, prepare to die. +// Hello, my name is Inigo Montoya; you killed my father, prepare to die. +// Hello, my name is Inigo Montoya; you killed my father, prepare to die. +// All your codebase are belong to us +// |
