zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2875216f8e01c4e71a76fe840a0b298f0d42758e (tree)
parent 5a5648c0f03058e1d3878cc8c072af968fc90aa8
Author: Jakub Konka <kubkon@jakubkonka.com>
Date:   Thu, 28 Apr 2022 11:42:14 +0200

test: fix x86_64-macos failures

This is just a temporary fix - I would like to unify all of x86_64
tests across linux and macos OSes.

Diffstat:
Dtest/incremental/assert_function.0.zig | 15---------------
Dtest/incremental/assert_function.7.zig | 40----------------------------------------
Dtest/incremental/assert_function.8.zig | 36------------------------------------
Dtest/incremental/comptime_var.0.zig | 12------------
Dtest/incremental/comptime_var.2.zig | 34----------------------------------
Dtest/incremental/comptime_var.6.zig | 32--------------------------------
Mtest/incremental/llvm/address_space_pointer_access_chaining_pointer_to_optional_array.zig | 2+-
Mtest/incremental/llvm/address_spaces_pointer_access_chaining_array_pointer.zig | 2+-
Mtest/incremental/llvm/address_spaces_pointer_access_chaining_complex.zig | 2+-
Mtest/incremental/llvm/address_spaces_pointer_access_chaining_struct_pointer.zig | 2+-
Mtest/incremental/llvm/any_typed_null_to_any_typed_optional.zig | 2+-
Mtest/incremental/llvm/blocks.zig | 2+-
Mtest/incremental/llvm/dereferencing_though_multiple_pointers_with_address_spaces.zig | 2+-
Mtest/incremental/llvm/for_loop.zig | 2+-
Mtest/incremental/llvm/hello_world.zig | 2+-
Mtest/incremental/llvm/invalid_address_space_coercion.zig | 2+-
Mtest/incremental/llvm/invalid_pointer_keeps_address_space_when_taking_address_of_dereference.zig | 2+-
Mtest/incremental/llvm/nested_blocks.zig | 2+-
Mtest/incremental/llvm/optionals.zig | 2+-
Mtest/incremental/llvm/pointer_keeps_address_space.zig | 2+-
Mtest/incremental/llvm/pointer_keeps_address_space_when_taking_address_of_dereference.zig | 2+-
Mtest/incremental/llvm/pointer_to_explicit_generic_address_space_coerces_to_implicit_pointer.zig | 2+-
Mtest/incremental/llvm/pointer_with_different_address_spaces.zig | 2+-
Mtest/incremental/llvm/pointers_with_different_address_spaces.zig | 2+-
Mtest/incremental/llvm/rem.zig | 2+-
Mtest/incremental/llvm/shift_right_plus_left.0.zig | 2+-
Mtest/incremental/llvm/simple_addition_and_subtraction.zig | 2+-
Mtest/incremental/llvm/simple_if_statement.zig | 2+-
Mtest/incremental/llvm/while_loops.zig | 2+-
Atest/incremental/x86_64-linux/assert_function.0.zig | 15+++++++++++++++
Rtest/incremental/assert_function.1.zig -> test/incremental/x86_64-linux/assert_function.1.zig | 0
Rtest/incremental/assert_function.10.zig -> test/incremental/x86_64-linux/assert_function.10.zig | 0
Rtest/incremental/assert_function.11.zig -> test/incremental/x86_64-linux/assert_function.11.zig | 0
Rtest/incremental/assert_function.12.zig -> test/incremental/x86_64-linux/assert_function.12.zig | 0
Rtest/incremental/assert_function.13.zig -> test/incremental/x86_64-linux/assert_function.13.zig | 0
Rtest/incremental/assert_function.14.zig -> test/incremental/x86_64-linux/assert_function.14.zig | 0
Rtest/incremental/assert_function.15.zig -> test/incremental/x86_64-linux/assert_function.15.zig | 0
Rtest/incremental/assert_function.16.zig -> test/incremental/x86_64-linux/assert_function.16.zig | 0
Rtest/incremental/assert_function.17.zig -> test/incremental/x86_64-linux/assert_function.17.zig | 0
Rtest/incremental/assert_function.18.zig -> test/incremental/x86_64-linux/assert_function.18.zig | 0
Rtest/incremental/assert_function.2.zig -> test/incremental/x86_64-linux/assert_function.2.zig | 0
Rtest/incremental/assert_function.3.zig -> test/incremental/x86_64-linux/assert_function.3.zig | 0
Rtest/incremental/assert_function.4.zig -> test/incremental/x86_64-linux/assert_function.4.zig | 0
Rtest/incremental/assert_function.5.zig -> test/incremental/x86_64-linux/assert_function.5.zig | 0
Rtest/incremental/assert_function.6.zig -> test/incremental/x86_64-linux/assert_function.6.zig | 0
Atest/incremental/x86_64-linux/assert_function.7.zig | 28++++++++++++++++++++++++++++
Atest/incremental/x86_64-linux/assert_function.8.zig | 24++++++++++++++++++++++++
Rtest/incremental/assert_function.9.zig -> test/incremental/x86_64-linux/assert_function.9.zig | 0
Atest/incremental/x86_64-linux/comptime_var.0.zig | 12++++++++++++
Rtest/incremental/comptime_var.1.zig -> test/incremental/x86_64-linux/comptime_var.1.zig | 0
Atest/incremental/x86_64-linux/comptime_var.2.zig | 22++++++++++++++++++++++
Rtest/incremental/comptime_var.3.zig -> test/incremental/x86_64-linux/comptime_var.3.zig | 0
Rtest/incremental/comptime_var.4.zig -> test/incremental/x86_64-linux/comptime_var.4.zig | 0
Rtest/incremental/comptime_var.5.zig -> test/incremental/x86_64-linux/comptime_var.5.zig | 0
Atest/incremental/x86_64-linux/comptime_var.6.zig | 20++++++++++++++++++++
Atest/incremental/x86_64-macos/assert_function.0.zig | 15+++++++++++++++
Rtest/incremental/assert_function.1.zig -> test/incremental/x86_64-macos/assert_function.1.zig | 0
Rtest/incremental/assert_function.10.zig -> test/incremental/x86_64-macos/assert_function.10.zig | 0
Rtest/incremental/assert_function.11.zig -> test/incremental/x86_64-macos/assert_function.11.zig | 0
Rtest/incremental/assert_function.12.zig -> test/incremental/x86_64-macos/assert_function.12.zig | 0
Rtest/incremental/assert_function.13.zig -> test/incremental/x86_64-macos/assert_function.13.zig | 0
Rtest/incremental/assert_function.14.zig -> test/incremental/x86_64-macos/assert_function.14.zig | 0
Rtest/incremental/assert_function.15.zig -> test/incremental/x86_64-macos/assert_function.15.zig | 0
Rtest/incremental/assert_function.16.zig -> test/incremental/x86_64-macos/assert_function.16.zig | 0
Rtest/incremental/assert_function.17.zig -> test/incremental/x86_64-macos/assert_function.17.zig | 0
Rtest/incremental/assert_function.18.zig -> test/incremental/x86_64-macos/assert_function.18.zig | 0
Rtest/incremental/assert_function.2.zig -> test/incremental/x86_64-macos/assert_function.2.zig | 0
Rtest/incremental/assert_function.3.zig -> test/incremental/x86_64-macos/assert_function.3.zig | 0
Rtest/incremental/assert_function.4.zig -> test/incremental/x86_64-macos/assert_function.4.zig | 0
Rtest/incremental/assert_function.5.zig -> test/incremental/x86_64-macos/assert_function.5.zig | 0
Rtest/incremental/assert_function.6.zig -> test/incremental/x86_64-macos/assert_function.6.zig | 0
Atest/incremental/x86_64-macos/assert_function.7.zig | 23+++++++++++++++++++++++
Atest/incremental/x86_64-macos/assert_function.8.zig | 19+++++++++++++++++++
Rtest/incremental/assert_function.9.zig -> test/incremental/x86_64-macos/assert_function.9.zig | 0
Atest/incremental/x86_64-macos/comptime_var.0.zig | 12++++++++++++
Rtest/incremental/comptime_var.1.zig -> test/incremental/x86_64-macos/comptime_var.1.zig | 0
Atest/incremental/x86_64-macos/comptime_var.2.zig | 17+++++++++++++++++
Rtest/incremental/comptime_var.3.zig -> test/incremental/x86_64-macos/comptime_var.3.zig | 0
Rtest/incremental/comptime_var.4.zig -> test/incremental/x86_64-macos/comptime_var.4.zig | 0
Rtest/incremental/comptime_var.5.zig -> test/incremental/x86_64-macos/comptime_var.5.zig | 0
Atest/incremental/x86_64-macos/comptime_var.6.zig | 15+++++++++++++++
81 files changed, 245 insertions(+), 192 deletions(-)

diff --git a/test/incremental/assert_function.0.zig b/test/incremental/assert_function.0.zig @@ -1,15 +0,0 @@ -pub fn main() void { - add(3, 4); -} - -fn add(a: u32, b: u32) void { - assert(a + b == 7); -} - -pub fn assert(ok: bool) void { - if (!ok) unreachable; // assertion failure -} - -// run -// target=x86_64-linux,x86_64-macos -// diff --git a/test/incremental/assert_function.7.zig b/test/incremental/assert_function.7.zig @@ -1,40 +0,0 @@ -const builtin = @import("builtin"); - -extern "c" fn write(usize, usize, usize) usize; - -pub fn main() void { - var i: u32 = 0; - while (i < 4) : (i += 1) print(); - assert(i == 4); -} - -fn print() void { - switch (builtin.os.tag) { - .linux => { - asm volatile ("syscall" - : - : [number] "{rax}" (1), - [arg1] "{rdi}" (1), - [arg2] "{rsi}" (@ptrToInt("hello\n")), - [arg3] "{rdx}" (6), - : "rcx", "r11", "memory" - ); - }, - .macos => { - _ = write(1, @ptrToInt("hello\n"), 6); - }, - else => unreachable, - } -} - -pub fn assert(ok: bool) void { - if (!ok) unreachable; // assertion failure -} - -// run -// -// hello -// hello -// hello -// hello -// diff --git a/test/incremental/assert_function.8.zig b/test/incremental/assert_function.8.zig @@ -1,36 +0,0 @@ -const builtin = @import("builtin"); - -extern "c" fn write(usize, usize, usize) usize; - -pub fn main() void { - var i: u32 = 0; - inline while (i < 4) : (i += 1) print(); - assert(i == 4); -} - -fn print() void { - switch (builtin.os.tag) { - .linux => { - asm volatile ("syscall" - : - : [number] "{rax}" (1), - [arg1] "{rdi}" (1), - [arg2] "{rsi}" (@ptrToInt("hello\n")), - [arg3] "{rdx}" (6), - : "rcx", "r11", "memory" - ); - }, - .macos => { - _ = write(1, @ptrToInt("hello\n"), 6); - }, - else => unreachable, - } -} - -pub fn assert(ok: bool) void { - if (!ok) unreachable; // assertion failure -} - -// error -// -// :7:21: error: unable to resolve comptime value diff --git a/test/incremental/comptime_var.0.zig b/test/incremental/comptime_var.0.zig @@ -1,12 +0,0 @@ -pub fn main() void { - var a: u32 = 0; - comptime var b: u32 = 0; - if (a == 0) b = 3; -} - -// error -// output_mode=Exe -// target=x86_64-linux,x86_64-macos -// -// :4:21: error: store to comptime variable depends on runtime condition -// :4:11: note: runtime condition here diff --git a/test/incremental/comptime_var.2.zig b/test/incremental/comptime_var.2.zig @@ -1,34 +0,0 @@ -const builtin = @import("builtin"); - -extern "c" fn write(usize, usize, usize) usize; - -pub fn main() void { - comptime var len: u32 = 5; - print(len); - len += 9; - print(len); -} - -fn print(len: usize) void { - switch (builtin.os.tag) { - .linux => { - asm volatile ("syscall" - : - : [number] "{rax}" (1), - [arg1] "{rdi}" (1), - [arg2] "{rsi}" (@ptrToInt("Hello, World!\n")), - [arg3] "{rdx}" (len), - : "rcx", "r11", "memory" - ); - }, - .macos => { - _ = write(1, @ptrToInt("Hello, World!\n"), len); - }, - else => unreachable, - } -} - -// run -// -// HelloHello, World! -// diff --git a/test/incremental/comptime_var.6.zig b/test/incremental/comptime_var.6.zig @@ -1,32 +0,0 @@ -const builtin = @import("builtin"); - -extern "c" fn write(usize, usize, usize) usize; - -pub fn main() void { - comptime var i: u64 = 2; - inline while (i < 6) : (i += 1) { - print(i); - } -} -fn print(len: usize) void { - switch (builtin.os.tag) { - .linux => { - asm volatile ("syscall" - : - : [number] "{rax}" (1), - [arg1] "{rdi}" (1), - [arg2] "{rsi}" (@ptrToInt("Hello")), - [arg3] "{rdx}" (len), - : "rcx", "r11", "memory" - ); - }, - .macos => { - _ = write(1, @ptrToInt("Hello"), len); - }, - else => unreachable, - } -} - -// run -// -// HeHelHellHello diff --git a/test/incremental/llvm/address_space_pointer_access_chaining_pointer_to_optional_array.zig b/test/incremental/llvm/address_space_pointer_access_chaining_pointer_to_optional_array.zig @@ -8,5 +8,5 @@ pub fn main() void { // error // output_mode=Exe // backend=llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/address_spaces_pointer_access_chaining_array_pointer.zig b/test/incremental/llvm/address_spaces_pointer_access_chaining_array_pointer.zig @@ -8,5 +8,5 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/address_spaces_pointer_access_chaining_complex.zig b/test/incremental/llvm/address_spaces_pointer_access_chaining_complex.zig @@ -9,5 +9,5 @@ pub fn main() void { // error // output_mode=Exe // backend=llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/address_spaces_pointer_access_chaining_struct_pointer.zig b/test/incremental/llvm/address_spaces_pointer_access_chaining_struct_pointer.zig @@ -9,5 +9,5 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/any_typed_null_to_any_typed_optional.zig b/test/incremental/llvm/any_typed_null_to_any_typed_optional.zig @@ -6,6 +6,6 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // // :3:21: error: expected *anyopaque, found ?usize diff --git a/test/incremental/llvm/blocks.zig b/test/incremental/llvm/blocks.zig @@ -18,5 +18,5 @@ pub fn main() void { // run // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/dereferencing_though_multiple_pointers_with_address_spaces.zig b/test/incremental/llvm/dereferencing_though_multiple_pointers_with_address_spaces.zig @@ -8,5 +8,5 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/for_loop.zig b/test/incremental/llvm/for_loop.zig @@ -12,5 +12,5 @@ pub fn main() void { // run // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/hello_world.zig b/test/incremental/llvm/hello_world.zig @@ -6,7 +6,7 @@ pub fn main() void { // run // backend=llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // // hello world! // diff --git a/test/incremental/llvm/invalid_address_space_coercion.zig b/test/incremental/llvm/invalid_address_space_coercion.zig @@ -8,6 +8,6 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // // :2:12: error: expected *i32, found *addrspace(.gs) i32 diff --git a/test/incremental/llvm/invalid_pointer_keeps_address_space_when_taking_address_of_dereference.zig b/test/incremental/llvm/invalid_pointer_keeps_address_space_when_taking_address_of_dereference.zig @@ -8,6 +8,6 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // // :2:12: error: expected *i32, found *addrspace(.gs) i32 diff --git a/test/incremental/llvm/nested_blocks.zig b/test/incremental/llvm/nested_blocks.zig @@ -20,5 +20,5 @@ pub fn main() void { // run // backend=stage2, llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/optionals.zig b/test/incremental/llvm/optionals.zig @@ -41,5 +41,5 @@ pub fn main() void { // run // backend=llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/pointer_keeps_address_space.zig b/test/incremental/llvm/pointer_keeps_address_space.zig @@ -8,5 +8,5 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/pointer_keeps_address_space_when_taking_address_of_dereference.zig b/test/incremental/llvm/pointer_keeps_address_space_when_taking_address_of_dereference.zig @@ -8,5 +8,5 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/pointer_to_explicit_generic_address_space_coerces_to_implicit_pointer.zig b/test/incremental/llvm/pointer_to_explicit_generic_address_space_coerces_to_implicit_pointer.zig @@ -8,5 +8,5 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/pointer_with_different_address_spaces.zig b/test/incremental/llvm/pointer_with_different_address_spaces.zig @@ -8,6 +8,6 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // // :2:12: error: expected *addrspace(.fs) i32, found *addrspace(.gs) i32 diff --git a/test/incremental/llvm/pointers_with_different_address_spaces.zig b/test/incremental/llvm/pointers_with_different_address_spaces.zig @@ -8,6 +8,6 @@ pub fn main() void { // error // output_mode=Exe // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // // :2:13: error: expected *i32, found *addrspace(.gs) i32 diff --git a/test/incremental/llvm/rem.zig b/test/incremental/llvm/rem.zig @@ -11,5 +11,5 @@ pub fn main() void { // run // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/shift_right_plus_left.0.zig b/test/incremental/llvm/shift_right_plus_left.0.zig @@ -8,5 +8,5 @@ fn assert(a: u32, b: u32) void { // run // backend=llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/simple_addition_and_subtraction.zig b/test/incremental/llvm/simple_addition_and_subtraction.zig @@ -16,5 +16,5 @@ fn assert(ok: bool) void { // run // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/simple_if_statement.zig b/test/incremental/llvm/simple_if_statement.zig @@ -12,5 +12,5 @@ pub fn main() void { // run // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/llvm/while_loops.zig b/test/incremental/llvm/while_loops.zig @@ -14,5 +14,5 @@ pub fn main() void { // run // backend=stage2,llvm -// target=x86_64-linux +// target=x86_64-linux,x86_64-macos // diff --git a/test/incremental/x86_64-linux/assert_function.0.zig b/test/incremental/x86_64-linux/assert_function.0.zig @@ -0,0 +1,15 @@ +pub fn main() void { + add(3, 4); +} + +fn add(a: u32, b: u32) void { + assert(a + b == 7); +} + +pub fn assert(ok: bool) void { + if (!ok) unreachable; // assertion failure +} + +// run +// target=x86_64-linux +// diff --git a/test/incremental/assert_function.1.zig b/test/incremental/x86_64-linux/assert_function.1.zig diff --git a/test/incremental/assert_function.10.zig b/test/incremental/x86_64-linux/assert_function.10.zig diff --git a/test/incremental/assert_function.11.zig b/test/incremental/x86_64-linux/assert_function.11.zig diff --git a/test/incremental/assert_function.12.zig b/test/incremental/x86_64-linux/assert_function.12.zig diff --git a/test/incremental/assert_function.13.zig b/test/incremental/x86_64-linux/assert_function.13.zig diff --git a/test/incremental/assert_function.14.zig b/test/incremental/x86_64-linux/assert_function.14.zig diff --git a/test/incremental/assert_function.15.zig b/test/incremental/x86_64-linux/assert_function.15.zig diff --git a/test/incremental/assert_function.16.zig b/test/incremental/x86_64-linux/assert_function.16.zig diff --git a/test/incremental/assert_function.17.zig b/test/incremental/x86_64-linux/assert_function.17.zig diff --git a/test/incremental/assert_function.18.zig b/test/incremental/x86_64-linux/assert_function.18.zig diff --git a/test/incremental/assert_function.2.zig b/test/incremental/x86_64-linux/assert_function.2.zig diff --git a/test/incremental/assert_function.3.zig b/test/incremental/x86_64-linux/assert_function.3.zig diff --git a/test/incremental/assert_function.4.zig b/test/incremental/x86_64-linux/assert_function.4.zig diff --git a/test/incremental/assert_function.5.zig b/test/incremental/x86_64-linux/assert_function.5.zig diff --git a/test/incremental/assert_function.6.zig b/test/incremental/x86_64-linux/assert_function.6.zig diff --git a/test/incremental/x86_64-linux/assert_function.7.zig b/test/incremental/x86_64-linux/assert_function.7.zig @@ -0,0 +1,28 @@ +pub fn main() void { + var i: u32 = 0; + while (i < 4) : (i += 1) print(); + assert(i == 4); +} + +fn print() void { + asm volatile ("syscall" + : + : [number] "{rax}" (1), + [arg1] "{rdi}" (1), + [arg2] "{rsi}" (@ptrToInt("hello\n")), + [arg3] "{rdx}" (6), + : "rcx", "r11", "memory" + ); +} + +pub fn assert(ok: bool) void { + if (!ok) unreachable; // assertion failure +} + +// run +// +// hello +// hello +// hello +// hello +// diff --git a/test/incremental/x86_64-linux/assert_function.8.zig b/test/incremental/x86_64-linux/assert_function.8.zig @@ -0,0 +1,24 @@ +pub fn main() void { + var i: u32 = 0; + inline while (i < 4) : (i += 1) print(); + assert(i == 4); +} + +fn print() void { + asm volatile ("syscall" + : + : [number] "{rax}" (1), + [arg1] "{rdi}" (1), + [arg2] "{rsi}" (@ptrToInt("hello\n")), + [arg3] "{rdx}" (6), + : "rcx", "r11", "memory" + ); +} + +pub fn assert(ok: bool) void { + if (!ok) unreachable; // assertion failure +} + +// error +// +// :5:21: error: unable to resolve comptime value diff --git a/test/incremental/assert_function.9.zig b/test/incremental/x86_64-linux/assert_function.9.zig diff --git a/test/incremental/x86_64-linux/comptime_var.0.zig b/test/incremental/x86_64-linux/comptime_var.0.zig @@ -0,0 +1,12 @@ +pub fn main() void { + var a: u32 = 0; + comptime var b: u32 = 0; + if (a == 0) b = 3; +} + +// error +// output_mode=Exe +// target=x86_64-linux +// +// :4:21: error: store to comptime variable depends on runtime condition +// :4:11: note: runtime condition here diff --git a/test/incremental/comptime_var.1.zig b/test/incremental/x86_64-linux/comptime_var.1.zig diff --git a/test/incremental/x86_64-linux/comptime_var.2.zig b/test/incremental/x86_64-linux/comptime_var.2.zig @@ -0,0 +1,22 @@ +pub fn main() void { + comptime var len: u32 = 5; + print(len); + len += 9; + print(len); +} + +fn print(len: usize) void { + asm volatile ("syscall" + : + : [number] "{rax}" (1), + [arg1] "{rdi}" (1), + [arg2] "{rsi}" (@ptrToInt("Hello, World!\n")), + [arg3] "{rdx}" (len), + : "rcx", "r11", "memory" + ); +} + +// run +// +// HelloHello, World! +// diff --git a/test/incremental/comptime_var.3.zig b/test/incremental/x86_64-linux/comptime_var.3.zig diff --git a/test/incremental/comptime_var.4.zig b/test/incremental/x86_64-linux/comptime_var.4.zig diff --git a/test/incremental/comptime_var.5.zig b/test/incremental/x86_64-linux/comptime_var.5.zig diff --git a/test/incremental/x86_64-linux/comptime_var.6.zig b/test/incremental/x86_64-linux/comptime_var.6.zig @@ -0,0 +1,20 @@ +pub fn main() void { + comptime var i: u64 = 2; + inline while (i < 6) : (i += 1) { + print(i); + } +} +fn print(len: usize) void { + asm volatile ("syscall" + : + : [number] "{rax}" (1), + [arg1] "{rdi}" (1), + [arg2] "{rsi}" (@ptrToInt("Hello")), + [arg3] "{rdx}" (len), + : "rcx", "r11", "memory" + ); +} + +// run +// +// HeHelHellHello diff --git a/test/incremental/x86_64-macos/assert_function.0.zig b/test/incremental/x86_64-macos/assert_function.0.zig @@ -0,0 +1,15 @@ +pub fn main() void { + add(3, 4); +} + +fn add(a: u32, b: u32) void { + assert(a + b == 7); +} + +pub fn assert(ok: bool) void { + if (!ok) unreachable; // assertion failure +} + +// run +// target=x86_64-macos +// diff --git a/test/incremental/assert_function.1.zig b/test/incremental/x86_64-macos/assert_function.1.zig diff --git a/test/incremental/assert_function.10.zig b/test/incremental/x86_64-macos/assert_function.10.zig diff --git a/test/incremental/assert_function.11.zig b/test/incremental/x86_64-macos/assert_function.11.zig diff --git a/test/incremental/assert_function.12.zig b/test/incremental/x86_64-macos/assert_function.12.zig diff --git a/test/incremental/assert_function.13.zig b/test/incremental/x86_64-macos/assert_function.13.zig diff --git a/test/incremental/assert_function.14.zig b/test/incremental/x86_64-macos/assert_function.14.zig diff --git a/test/incremental/assert_function.15.zig b/test/incremental/x86_64-macos/assert_function.15.zig diff --git a/test/incremental/assert_function.16.zig b/test/incremental/x86_64-macos/assert_function.16.zig diff --git a/test/incremental/assert_function.17.zig b/test/incremental/x86_64-macos/assert_function.17.zig diff --git a/test/incremental/assert_function.18.zig b/test/incremental/x86_64-macos/assert_function.18.zig diff --git a/test/incremental/assert_function.2.zig b/test/incremental/x86_64-macos/assert_function.2.zig diff --git a/test/incremental/assert_function.3.zig b/test/incremental/x86_64-macos/assert_function.3.zig diff --git a/test/incremental/assert_function.4.zig b/test/incremental/x86_64-macos/assert_function.4.zig diff --git a/test/incremental/assert_function.5.zig b/test/incremental/x86_64-macos/assert_function.5.zig diff --git a/test/incremental/assert_function.6.zig b/test/incremental/x86_64-macos/assert_function.6.zig diff --git a/test/incremental/x86_64-macos/assert_function.7.zig b/test/incremental/x86_64-macos/assert_function.7.zig @@ -0,0 +1,23 @@ +extern "c" fn write(usize, usize, usize) usize; + +pub fn main() void { + var i: u32 = 0; + while (i < 4) : (i += 1) print(); + assert(i == 4); +} + +fn print() void { + _ = write(1, @ptrToInt("hello\n"), 6); +} + +pub fn assert(ok: bool) void { + if (!ok) unreachable; // assertion failure +} + +// run +// +// hello +// hello +// hello +// hello +// diff --git a/test/incremental/x86_64-macos/assert_function.8.zig b/test/incremental/x86_64-macos/assert_function.8.zig @@ -0,0 +1,19 @@ +extern "c" fn write(usize, usize, usize) usize; + +pub fn main() void { + var i: u32 = 0; + inline while (i < 4) : (i += 1) print(); + assert(i == 4); +} + +fn print() void { + _ = write(1, @ptrToInt("hello\n"), 6); +} + +pub fn assert(ok: bool) void { + if (!ok) unreachable; // assertion failure +} + +// error +// +// :5:21: error: unable to resolve comptime value diff --git a/test/incremental/assert_function.9.zig b/test/incremental/x86_64-macos/assert_function.9.zig diff --git a/test/incremental/x86_64-macos/comptime_var.0.zig b/test/incremental/x86_64-macos/comptime_var.0.zig @@ -0,0 +1,12 @@ +pub fn main() void { + var a: u32 = 0; + comptime var b: u32 = 0; + if (a == 0) b = 3; +} + +// error +// output_mode=Exe +// target=x86_64-macos +// +// :4:21: error: store to comptime variable depends on runtime condition +// :4:11: note: runtime condition here diff --git a/test/incremental/comptime_var.1.zig b/test/incremental/x86_64-macos/comptime_var.1.zig diff --git a/test/incremental/x86_64-macos/comptime_var.2.zig b/test/incremental/x86_64-macos/comptime_var.2.zig @@ -0,0 +1,17 @@ +extern "c" fn write(usize, usize, usize) usize; + +pub fn main() void { + comptime var len: u32 = 5; + print(len); + len += 9; + print(len); +} + +fn print(len: usize) void { + _ = write(1, @ptrToInt("Hello, World!\n"), len); +} + +// run +// +// HelloHello, World! +// diff --git a/test/incremental/comptime_var.3.zig b/test/incremental/x86_64-macos/comptime_var.3.zig diff --git a/test/incremental/comptime_var.4.zig b/test/incremental/x86_64-macos/comptime_var.4.zig diff --git a/test/incremental/comptime_var.5.zig b/test/incremental/x86_64-macos/comptime_var.5.zig diff --git a/test/incremental/x86_64-macos/comptime_var.6.zig b/test/incremental/x86_64-macos/comptime_var.6.zig @@ -0,0 +1,15 @@ +extern "c" fn write(usize, usize, usize) usize; + +pub fn main() void { + comptime var i: u64 = 2; + inline while (i < 6) : (i += 1) { + print(i); + } +} +fn print(len: usize) void { + _ = write(1, @ptrToInt("Hello"), len); +} + +// run +// +// HeHelHellHello