From 0cd43b0f8686075cf9bb8b8655ca828bd329d60f Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 13 May 2022 17:58:32 -0700 Subject: [PATCH] runtime safety tests only on the native target This matches master branch. We can look into adding more target coverage as we switch to stage2. As it stands, this works around having to duplicate the "Executor" logic to figure out when to not run the tests due to them being non-native. --- test/cases/safety/@alignCast misaligned.zig | 3 ++- test/cases/safety/@asyncCall with too small a frame.zig | 1 + .../safety/@errSetCast error not present in destination.zig | 3 ++- .../safety/@floatToInt cannot fit - negative out of range.zig | 3 ++- .../safety/@floatToInt cannot fit - negative to unsigned.zig | 3 ++- .../safety/@floatToInt cannot fit - positive out of range.zig | 3 ++- test/cases/safety/@intCast to u0.zig | 3 ++- test/cases/safety/@intToEnum - no matching tag value.zig | 1 + ...ToPtr address zero to non-optional byte-aligned pointer.zig | 1 + .../safety/@intToPtr address zero to non-optional pointer.zig | 1 + test/cases/safety/@tagName on corrupted enum value.zig | 1 + test/cases/safety/@tagName on corrupted union value.zig | 1 + test/cases/safety/array slice sentinel mismatch.zig | 2 +- test/cases/safety/awaiting twice.zig | 1 + test/cases/safety/bad union field access.zig | 3 ++- test/cases/safety/calling panic.zig | 3 ++- test/cases/safety/cast []u8 to bigger slice of wrong size.zig | 3 ++- .../cast integer to global error and no code matches.zig | 3 ++- test/cases/safety/empty slice with sentinel out of bounds.zig | 1 + test/cases/safety/error return trace across suspend points.zig | 3 ++- test/cases/safety/exact division failure - vectors.zig | 3 ++- test/cases/safety/exact division failure.zig | 3 ++- test/cases/safety/intToPtr with misaligned address.zig | 1 + test/cases/safety/integer addition overflow.zig | 1 + test/cases/safety/integer division by zero - vectors.zig | 3 ++- test/cases/safety/integer division by zero.zig | 3 ++- test/cases/safety/integer multiplication overflow.zig | 3 ++- test/cases/safety/integer negation overflow.zig | 3 ++- test/cases/safety/integer subtraction overflow.zig | 3 ++- test/cases/safety/invalid resume of async function.zig | 1 + test/cases/safety/nosuspend function call, callee suspends.zig | 1 + test/cases/safety/optional unwrap operator on C pointer.zig | 1 + test/cases/safety/optional unwrap operator on null pointer.zig | 1 + test/cases/safety/out of bounds slice access.zig | 3 ++- .../safety/pointer casting null to non-optional pointer.zig | 1 + test/cases/safety/pointer slice sentinel mismatch.zig | 1 + .../safety/resuming a function which is awaiting a call.zig | 1 + .../safety/resuming a function which is awaiting a frame.zig | 1 + ...suspended function which has been suspended and resumed.zig | 1 + ...ing a non-suspended function which never been suspended.zig | 1 + test/cases/safety/shift left by huge amount.zig | 1 + test/cases/safety/shift right by huge amount.zig | 1 + .../safety/signed integer division overflow - vectors.zig | 3 ++- test/cases/safety/signed integer division overflow.zig | 3 ++- ...eger not fitting in cast to unsigned integer - widening.zig | 3 ++- .../signed integer not fitting in cast to unsigned integer.zig | 3 ++- test/cases/safety/signed shift left overflow.zig | 3 ++- test/cases/safety/signed shift right overflow.zig | 3 ++- test/cases/safety/signed-unsigned vector cast.zig | 1 + test/cases/safety/slice sentinel mismatch - floats.zig | 1 + .../safety/slice sentinel mismatch - optional pointers.zig | 1 + test/cases/safety/slice slice sentinel mismatch.zig | 1 + test/cases/safety/slice with sentinel out of bounds.zig | 1 + test/cases/safety/slicing null C pointer.zig | 3 ++- test/cases/safety/switch on corrupted enum value.zig | 1 + test/cases/safety/switch on corrupted union value.zig | 1 + test/cases/safety/truncating vector cast.zig | 1 + ... not fitting in cast to signed integer - same bit count.zig | 3 ++- test/cases/safety/unsigned shift left overflow.zig | 3 ++- test/cases/safety/unsigned shift right overflow.zig | 3 ++- test/cases/safety/unsigned-signed vector cast.zig | 1 + test/cases/safety/unwrap error.zig | 3 ++- .../safety/value does not fit in shortening cast - u0.zig | 3 ++- test/cases/safety/value does not fit in shortening cast.zig | 3 ++- test/cases/safety/vector integer addition overflow.zig | 3 ++- test/cases/safety/vector integer multiplication overflow.zig | 3 ++- test/cases/safety/vector integer negation overflow.zig | 3 ++- test/cases/safety/vector integer subtraction overflow.zig | 3 ++- 68 files changed, 104 insertions(+), 37 deletions(-) diff --git a/test/cases/safety/@alignCast misaligned.zig b/test/cases/safety/@alignCast misaligned.zig index 3948cea443..2708d63e6f 100644 --- a/test/cases/safety/@alignCast misaligned.zig +++ b/test/cases/safety/@alignCast misaligned.zig @@ -18,4 +18,5 @@ fn foo(bytes: []u8) u32 { return int_slice[0]; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/@asyncCall with too small a frame.zig b/test/cases/safety/@asyncCall with too small a frame.zig index 8315643538..e245e9bb47 100644 --- a/test/cases/safety/@asyncCall with too small a frame.zig +++ b/test/cases/safety/@asyncCall with too small a frame.zig @@ -22,3 +22,4 @@ fn other() callconv(.Async) void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/@errSetCast error not present in destination.zig b/test/cases/safety/@errSetCast error not present in destination.zig index 3934307e9e..5bb92f4f28 100644 --- a/test/cases/safety/@errSetCast error not present in destination.zig +++ b/test/cases/safety/@errSetCast error not present in destination.zig @@ -15,4 +15,5 @@ fn foo(set1: Set1) Set2 { return @errSetCast(Set2, set1); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/@floatToInt cannot fit - negative out of range.zig b/test/cases/safety/@floatToInt cannot fit - negative out of range.zig index 1e7016830e..f6b2d632f2 100644 --- a/test/cases/safety/@floatToInt cannot fit - negative out of range.zig +++ b/test/cases/safety/@floatToInt cannot fit - negative out of range.zig @@ -14,4 +14,5 @@ fn bar(a: f32) i8 { } fn baz(_: i8) void { } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/@floatToInt cannot fit - negative to unsigned.zig b/test/cases/safety/@floatToInt cannot fit - negative to unsigned.zig index fbcc7fc11d..22e9def050 100644 --- a/test/cases/safety/@floatToInt cannot fit - negative to unsigned.zig +++ b/test/cases/safety/@floatToInt cannot fit - negative to unsigned.zig @@ -14,4 +14,5 @@ fn bar(a: f32) u8 { } fn baz(_: u8) void { } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/@floatToInt cannot fit - positive out of range.zig b/test/cases/safety/@floatToInt cannot fit - positive out of range.zig index 1ab83edafa..67fecde115 100644 --- a/test/cases/safety/@floatToInt cannot fit - positive out of range.zig +++ b/test/cases/safety/@floatToInt cannot fit - positive out of range.zig @@ -14,4 +14,5 @@ fn bar(a: f32) u8 { } fn baz(_: u8) void { } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/@intCast to u0.zig b/test/cases/safety/@intCast to u0.zig index 10c3d22213..7d51fdec25 100644 --- a/test/cases/safety/@intCast to u0.zig +++ b/test/cases/safety/@intCast to u0.zig @@ -16,4 +16,5 @@ fn bar(one: u1, not_zero: i32) void { _ = x; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/@intToEnum - no matching tag value.zig b/test/cases/safety/@intToEnum - no matching tag value.zig index 7f66dc050d..79fcf33bc6 100644 --- a/test/cases/safety/@intToEnum - no matching tag value.zig +++ b/test/cases/safety/@intToEnum - no matching tag value.zig @@ -20,3 +20,4 @@ fn bar(a: u2) Foo { fn baz(_: Foo) void {} // run // backend=stage1 +// target=native diff --git a/test/cases/safety/@intToPtr address zero to non-optional byte-aligned pointer.zig b/test/cases/safety/@intToPtr address zero to non-optional byte-aligned pointer.zig index 6c44505af9..ac781dc53f 100644 --- a/test/cases/safety/@intToPtr address zero to non-optional byte-aligned pointer.zig +++ b/test/cases/safety/@intToPtr address zero to non-optional byte-aligned pointer.zig @@ -13,3 +13,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/@intToPtr address zero to non-optional pointer.zig b/test/cases/safety/@intToPtr address zero to non-optional pointer.zig index 9f61766884..f8fd53eb97 100644 --- a/test/cases/safety/@intToPtr address zero to non-optional pointer.zig +++ b/test/cases/safety/@intToPtr address zero to non-optional pointer.zig @@ -13,3 +13,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/@tagName on corrupted enum value.zig b/test/cases/safety/@tagName on corrupted enum value.zig index 577ba183d5..507157911e 100644 --- a/test/cases/safety/@tagName on corrupted enum value.zig +++ b/test/cases/safety/@tagName on corrupted enum value.zig @@ -22,3 +22,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/@tagName on corrupted union value.zig b/test/cases/safety/@tagName on corrupted union value.zig index 6012e86833..0c35b5ef3d 100644 --- a/test/cases/safety/@tagName on corrupted union value.zig +++ b/test/cases/safety/@tagName on corrupted union value.zig @@ -23,3 +23,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/array slice sentinel mismatch.zig b/test/cases/safety/array slice sentinel mismatch.zig index 83e8b1f787..3aca5b9610 100644 --- a/test/cases/safety/array slice sentinel mismatch.zig +++ b/test/cases/safety/array slice sentinel mismatch.zig @@ -15,4 +15,4 @@ pub fn main() !void { } // run // backend=stage1 - +// target=native diff --git a/test/cases/safety/awaiting twice.zig b/test/cases/safety/awaiting twice.zig index 2a64320c07..867263de6e 100644 --- a/test/cases/safety/awaiting twice.zig +++ b/test/cases/safety/awaiting twice.zig @@ -26,3 +26,4 @@ fn func() void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/bad union field access.zig b/test/cases/safety/bad union field access.zig index cc476f57c5..7adf48abf2 100644 --- a/test/cases/safety/bad union field access.zig +++ b/test/cases/safety/bad union field access.zig @@ -21,4 +21,5 @@ fn bar(f: *Foo) void { f.float = 12.34; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/calling panic.zig b/test/cases/safety/calling panic.zig index e6ff577e7f..5befea3e3c 100644 --- a/test/cases/safety/calling panic.zig +++ b/test/cases/safety/calling panic.zig @@ -12,4 +12,5 @@ pub fn main() !void { return error.TestFailed; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/cast []u8 to bigger slice of wrong size.zig b/test/cases/safety/cast []u8 to bigger slice of wrong size.zig index 5bdee09e52..588801b27e 100644 --- a/test/cases/safety/cast []u8 to bigger slice of wrong size.zig +++ b/test/cases/safety/cast []u8 to bigger slice of wrong size.zig @@ -15,4 +15,5 @@ fn widenSlice(slice: []align(1) const u8) []align(1) const i32 { return std.mem.bytesAsSlice(i32, slice); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/cast integer to global error and no code matches.zig b/test/cases/safety/cast integer to global error and no code matches.zig index 57b72aab5d..3a8dc2374f 100644 --- a/test/cases/safety/cast integer to global error and no code matches.zig +++ b/test/cases/safety/cast integer to global error and no code matches.zig @@ -13,4 +13,5 @@ fn bar(x: u16) anyerror { return @intToError(x); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/empty slice with sentinel out of bounds.zig b/test/cases/safety/empty slice with sentinel out of bounds.zig index 2ea22ed41d..ad8010868a 100644 --- a/test/cases/safety/empty slice with sentinel out of bounds.zig +++ b/test/cases/safety/empty slice with sentinel out of bounds.zig @@ -18,3 +18,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/error return trace across suspend points.zig b/test/cases/safety/error return trace across suspend points.zig index b27bc770fb..b8cb90505a 100644 --- a/test/cases/safety/error return trace across suspend points.zig +++ b/test/cases/safety/error return trace across suspend points.zig @@ -35,4 +35,5 @@ fn printTrace(p: anyframe->anyerror!void) void { (await p) catch unreachable; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/exact division failure - vectors.zig b/test/cases/safety/exact division failure - vectors.zig index 77dd427683..a514213f58 100644 --- a/test/cases/safety/exact division failure - vectors.zig +++ b/test/cases/safety/exact division failure - vectors.zig @@ -17,4 +17,5 @@ fn divExact(a: @Vector(4, i32), b: @Vector(4, i32)) @Vector(4, i32) { return @divExact(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/exact division failure.zig b/test/cases/safety/exact division failure.zig index c363df94ab..5e30f14b06 100644 --- a/test/cases/safety/exact division failure.zig +++ b/test/cases/safety/exact division failure.zig @@ -15,4 +15,5 @@ fn divExact(a: i32, b: i32) i32 { return @divExact(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/intToPtr with misaligned address.zig b/test/cases/safety/intToPtr with misaligned address.zig index eaca2cb32d..5b480eccca 100644 --- a/test/cases/safety/intToPtr with misaligned address.zig +++ b/test/cases/safety/intToPtr with misaligned address.zig @@ -15,3 +15,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/integer addition overflow.zig b/test/cases/safety/integer addition overflow.zig index 74fce53890..cd23b66f36 100644 --- a/test/cases/safety/integer addition overflow.zig +++ b/test/cases/safety/integer addition overflow.zig @@ -20,3 +20,4 @@ fn add(a: u16, b: u16) u16 { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/integer division by zero - vectors.zig b/test/cases/safety/integer division by zero - vectors.zig index b3365bfcae..136f179935 100644 --- a/test/cases/safety/integer division by zero - vectors.zig +++ b/test/cases/safety/integer division by zero - vectors.zig @@ -16,4 +16,5 @@ fn div0(a: @Vector(4, i32), b: @Vector(4, i32)) @Vector(4, i32) { return @divTrunc(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/integer division by zero.zig b/test/cases/safety/integer division by zero.zig index b209a69d35..8d80a7c848 100644 --- a/test/cases/safety/integer division by zero.zig +++ b/test/cases/safety/integer division by zero.zig @@ -14,4 +14,5 @@ fn div0(a: i32, b: i32) i32 { return @divTrunc(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/integer multiplication overflow.zig b/test/cases/safety/integer multiplication overflow.zig index 0eb68fabe0..c9894217a7 100644 --- a/test/cases/safety/integer multiplication overflow.zig +++ b/test/cases/safety/integer multiplication overflow.zig @@ -15,4 +15,5 @@ fn mul(a: u16, b: u16) u16 { return a * b; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/integer negation overflow.zig b/test/cases/safety/integer negation overflow.zig index c9d7e4f919..f3eb1feffe 100644 --- a/test/cases/safety/integer negation overflow.zig +++ b/test/cases/safety/integer negation overflow.zig @@ -15,4 +15,5 @@ fn neg(a: i16) i16 { return -a; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/integer subtraction overflow.zig b/test/cases/safety/integer subtraction overflow.zig index f1b17020a8..ce1526cf60 100644 --- a/test/cases/safety/integer subtraction overflow.zig +++ b/test/cases/safety/integer subtraction overflow.zig @@ -15,4 +15,5 @@ fn sub(a: u16, b: u16) u16 { return a - b; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/invalid resume of async function.zig b/test/cases/safety/invalid resume of async function.zig index acde5eed92..2ed5704c74 100644 --- a/test/cases/safety/invalid resume of async function.zig +++ b/test/cases/safety/invalid resume of async function.zig @@ -16,3 +16,4 @@ fn suspendOnce() void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/nosuspend function call, callee suspends.zig b/test/cases/safety/nosuspend function call, callee suspends.zig index fc99174bd0..42daa4a9bd 100644 --- a/test/cases/safety/nosuspend function call, callee suspends.zig +++ b/test/cases/safety/nosuspend function call, callee suspends.zig @@ -17,3 +17,4 @@ fn add(a: i32, b: i32) i32 { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/optional unwrap operator on C pointer.zig b/test/cases/safety/optional unwrap operator on C pointer.zig index 4d5fa54d3d..05614b4ca2 100644 --- a/test/cases/safety/optional unwrap operator on C pointer.zig +++ b/test/cases/safety/optional unwrap operator on C pointer.zig @@ -13,3 +13,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/optional unwrap operator on null pointer.zig b/test/cases/safety/optional unwrap operator on null pointer.zig index eb791be268..1db44ba22a 100644 --- a/test/cases/safety/optional unwrap operator on null pointer.zig +++ b/test/cases/safety/optional unwrap operator on null pointer.zig @@ -13,3 +13,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/out of bounds slice access.zig b/test/cases/safety/out of bounds slice access.zig index e429328b1e..8c95978d4a 100644 --- a/test/cases/safety/out of bounds slice access.zig +++ b/test/cases/safety/out of bounds slice access.zig @@ -15,4 +15,5 @@ fn bar(a: []const i32) i32 { } fn baz(_: i32) void { } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/pointer casting null to non-optional pointer.zig b/test/cases/safety/pointer casting null to non-optional pointer.zig index a61ba2fa9b..0254e002ad 100644 --- a/test/cases/safety/pointer casting null to non-optional pointer.zig +++ b/test/cases/safety/pointer casting null to non-optional pointer.zig @@ -13,3 +13,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/pointer slice sentinel mismatch.zig b/test/cases/safety/pointer slice sentinel mismatch.zig index f796534783..f79e2a860c 100644 --- a/test/cases/safety/pointer slice sentinel mismatch.zig +++ b/test/cases/safety/pointer slice sentinel mismatch.zig @@ -18,3 +18,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/resuming a function which is awaiting a call.zig b/test/cases/safety/resuming a function which is awaiting a call.zig index 63c4e1ef50..b344441507 100644 --- a/test/cases/safety/resuming a function which is awaiting a call.zig +++ b/test/cases/safety/resuming a function which is awaiting a call.zig @@ -18,3 +18,4 @@ fn other() void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/resuming a function which is awaiting a frame.zig b/test/cases/safety/resuming a function which is awaiting a frame.zig index 0f68be4db8..e63b49183e 100644 --- a/test/cases/safety/resuming a function which is awaiting a frame.zig +++ b/test/cases/safety/resuming a function which is awaiting a frame.zig @@ -19,3 +19,4 @@ fn other() void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/resuming a non-suspended function which has been suspended and resumed.zig b/test/cases/safety/resuming a non-suspended function which has been suspended and resumed.zig index 3f3a62fe4e..54de0b9ebd 100644 --- a/test/cases/safety/resuming a non-suspended function which has been suspended and resumed.zig +++ b/test/cases/safety/resuming a non-suspended function which has been suspended and resumed.zig @@ -29,3 +29,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/resuming a non-suspended function which never been suspended.zig b/test/cases/safety/resuming a non-suspended function which never been suspended.zig index b0dfbc1911..8c35753d6d 100644 --- a/test/cases/safety/resuming a non-suspended function which never been suspended.zig +++ b/test/cases/safety/resuming a non-suspended function which never been suspended.zig @@ -24,3 +24,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/shift left by huge amount.zig b/test/cases/safety/shift left by huge amount.zig index 8cf5ec3752..b1159b7d75 100644 --- a/test/cases/safety/shift left by huge amount.zig +++ b/test/cases/safety/shift left by huge amount.zig @@ -18,3 +18,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/shift right by huge amount.zig b/test/cases/safety/shift right by huge amount.zig index 90a620ddc4..2c39011240 100644 --- a/test/cases/safety/shift right by huge amount.zig +++ b/test/cases/safety/shift right by huge amount.zig @@ -18,3 +18,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/signed integer division overflow - vectors.zig b/test/cases/safety/signed integer division overflow - vectors.zig index 5ce8fd740e..d59adeb698 100644 --- a/test/cases/safety/signed integer division overflow - vectors.zig +++ b/test/cases/safety/signed integer division overflow - vectors.zig @@ -17,4 +17,5 @@ fn div(a: @Vector(4, i16), b: @Vector(4, i16)) @Vector(4, i16) { return @divTrunc(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/signed integer division overflow.zig b/test/cases/safety/signed integer division overflow.zig index 64e1827b45..a46f175487 100644 --- a/test/cases/safety/signed integer division overflow.zig +++ b/test/cases/safety/signed integer division overflow.zig @@ -15,4 +15,5 @@ fn div(a: i16, b: i16) i16 { return @divTrunc(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/signed integer not fitting in cast to unsigned integer - widening.zig b/test/cases/safety/signed integer not fitting in cast to unsigned integer - widening.zig index 7c08fcddb2..7abd085364 100644 --- a/test/cases/safety/signed integer not fitting in cast to unsigned integer - widening.zig +++ b/test/cases/safety/signed integer not fitting in cast to unsigned integer - widening.zig @@ -12,4 +12,5 @@ pub fn main() !void { return error.TestFailed; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/signed integer not fitting in cast to unsigned integer.zig b/test/cases/safety/signed integer not fitting in cast to unsigned integer.zig index 6ed4246403..4dea06fc82 100644 --- a/test/cases/safety/signed integer not fitting in cast to unsigned integer.zig +++ b/test/cases/safety/signed integer not fitting in cast to unsigned integer.zig @@ -15,4 +15,5 @@ fn unsigned_cast(x: i32) u32 { return @intCast(u32, x); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/signed shift left overflow.zig b/test/cases/safety/signed shift left overflow.zig index 814d52b1a9..88adbe5835 100644 --- a/test/cases/safety/signed shift left overflow.zig +++ b/test/cases/safety/signed shift left overflow.zig @@ -15,4 +15,5 @@ fn shl(a: i16, b: u4) i16 { return @shlExact(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/signed shift right overflow.zig b/test/cases/safety/signed shift right overflow.zig index fc2e00cee3..9d5545ed3a 100644 --- a/test/cases/safety/signed shift right overflow.zig +++ b/test/cases/safety/signed shift right overflow.zig @@ -15,4 +15,5 @@ fn shr(a: i16, b: u4) i16 { return @shrExact(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/signed-unsigned vector cast.zig b/test/cases/safety/signed-unsigned vector cast.zig index 4de78e969d..15d120350e 100644 --- a/test/cases/safety/signed-unsigned vector cast.zig +++ b/test/cases/safety/signed-unsigned vector cast.zig @@ -17,3 +17,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/slice sentinel mismatch - floats.zig b/test/cases/safety/slice sentinel mismatch - floats.zig index df5edc1fdf..3295c20db3 100644 --- a/test/cases/safety/slice sentinel mismatch - floats.zig +++ b/test/cases/safety/slice sentinel mismatch - floats.zig @@ -17,3 +17,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/slice sentinel mismatch - optional pointers.zig b/test/cases/safety/slice sentinel mismatch - optional pointers.zig index 8199f3280e..ecb82c61d4 100644 --- a/test/cases/safety/slice sentinel mismatch - optional pointers.zig +++ b/test/cases/safety/slice sentinel mismatch - optional pointers.zig @@ -17,3 +17,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/slice slice sentinel mismatch.zig b/test/cases/safety/slice slice sentinel mismatch.zig index 8303b1a288..13b331a0f4 100644 --- a/test/cases/safety/slice slice sentinel mismatch.zig +++ b/test/cases/safety/slice slice sentinel mismatch.zig @@ -16,3 +16,4 @@ pub fn main() !void { } // run // backend=stage1 +// target=native diff --git a/test/cases/safety/slice with sentinel out of bounds.zig b/test/cases/safety/slice with sentinel out of bounds.zig index 7fc890e144..1ca83ea481 100644 --- a/test/cases/safety/slice with sentinel out of bounds.zig +++ b/test/cases/safety/slice with sentinel out of bounds.zig @@ -18,3 +18,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/slicing null C pointer.zig b/test/cases/safety/slicing null C pointer.zig index 2b678ad9cf..db8d235c45 100644 --- a/test/cases/safety/slicing null C pointer.zig +++ b/test/cases/safety/slicing null C pointer.zig @@ -13,4 +13,5 @@ pub fn main() !void { return error.TestFailed; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/switch on corrupted enum value.zig b/test/cases/safety/switch on corrupted enum value.zig index b574444341..dc7b9b3abf 100644 --- a/test/cases/safety/switch on corrupted enum value.zig +++ b/test/cases/safety/switch on corrupted enum value.zig @@ -23,3 +23,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/switch on corrupted union value.zig b/test/cases/safety/switch on corrupted union value.zig index 8ec4fece1b..0fadad3c7e 100644 --- a/test/cases/safety/switch on corrupted union value.zig +++ b/test/cases/safety/switch on corrupted union value.zig @@ -23,3 +23,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/truncating vector cast.zig b/test/cases/safety/truncating vector cast.zig index f2795d9c66..b0a3c4e25b 100644 --- a/test/cases/safety/truncating vector cast.zig +++ b/test/cases/safety/truncating vector cast.zig @@ -17,3 +17,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/unsigned integer not fitting in cast to signed integer - same bit count.zig b/test/cases/safety/unsigned integer not fitting in cast to signed integer - same bit count.zig index 6118d5a5ea..9bf36b07c9 100644 --- a/test/cases/safety/unsigned integer not fitting in cast to signed integer - same bit count.zig +++ b/test/cases/safety/unsigned integer not fitting in cast to signed integer - same bit count.zig @@ -12,4 +12,5 @@ pub fn main() !void { return error.TestFailed; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/unsigned shift left overflow.zig b/test/cases/safety/unsigned shift left overflow.zig index 3fa2658c3f..73c4292cdf 100644 --- a/test/cases/safety/unsigned shift left overflow.zig +++ b/test/cases/safety/unsigned shift left overflow.zig @@ -15,4 +15,5 @@ fn shl(a: u16, b: u4) u16 { return @shlExact(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/unsigned shift right overflow.zig b/test/cases/safety/unsigned shift right overflow.zig index 0953229a67..6a3829f675 100644 --- a/test/cases/safety/unsigned shift right overflow.zig +++ b/test/cases/safety/unsigned shift right overflow.zig @@ -15,4 +15,5 @@ fn shr(a: u16, b: u4) u16 { return @shrExact(a, b); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/unsigned-signed vector cast.zig b/test/cases/safety/unsigned-signed vector cast.zig index 9c157d8f40..c78ec2c73f 100644 --- a/test/cases/safety/unsigned-signed vector cast.zig +++ b/test/cases/safety/unsigned-signed vector cast.zig @@ -17,3 +17,4 @@ pub fn main() !void { // run // backend=stage1 +// target=native diff --git a/test/cases/safety/unwrap error.zig b/test/cases/safety/unwrap error.zig index 451b9b3891..ee9a502ebd 100644 --- a/test/cases/safety/unwrap error.zig +++ b/test/cases/safety/unwrap error.zig @@ -15,4 +15,5 @@ fn bar() !void { return error.Whatever; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/value does not fit in shortening cast - u0.zig b/test/cases/safety/value does not fit in shortening cast - u0.zig index 3bbcaf972f..072be45731 100644 --- a/test/cases/safety/value does not fit in shortening cast - u0.zig +++ b/test/cases/safety/value does not fit in shortening cast - u0.zig @@ -15,4 +15,5 @@ fn shorten_cast(x: u8) u0 { return @intCast(u0, x); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/value does not fit in shortening cast.zig b/test/cases/safety/value does not fit in shortening cast.zig index 2c7409d225..7188c9a846 100644 --- a/test/cases/safety/value does not fit in shortening cast.zig +++ b/test/cases/safety/value does not fit in shortening cast.zig @@ -15,4 +15,5 @@ fn shorten_cast(x: i32) i8 { return @intCast(i8, x); } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/vector integer addition overflow.zig b/test/cases/safety/vector integer addition overflow.zig index 32b045cd56..5eedc869e7 100644 --- a/test/cases/safety/vector integer addition overflow.zig +++ b/test/cases/safety/vector integer addition overflow.zig @@ -16,4 +16,5 @@ fn add(a: @Vector(4, i32), b: @Vector(4, i32)) @Vector(4, i32) { return a + b; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/vector integer multiplication overflow.zig b/test/cases/safety/vector integer multiplication overflow.zig index 2c9d48e1fd..5d247cf545 100644 --- a/test/cases/safety/vector integer multiplication overflow.zig +++ b/test/cases/safety/vector integer multiplication overflow.zig @@ -16,4 +16,5 @@ fn mul(a: @Vector(4, u8), b: @Vector(4, u8)) @Vector(4, u8) { return a * b; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/vector integer negation overflow.zig b/test/cases/safety/vector integer negation overflow.zig index 81506da41c..03d846aab0 100644 --- a/test/cases/safety/vector integer negation overflow.zig +++ b/test/cases/safety/vector integer negation overflow.zig @@ -15,4 +15,5 @@ fn neg(a: @Vector(4, i16)) @Vector(4, i16) { return -a; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file diff --git a/test/cases/safety/vector integer subtraction overflow.zig b/test/cases/safety/vector integer subtraction overflow.zig index c3a21e971c..72287ffd07 100644 --- a/test/cases/safety/vector integer subtraction overflow.zig +++ b/test/cases/safety/vector integer subtraction overflow.zig @@ -16,4 +16,5 @@ fn sub(a: @Vector(4, u32), b: @Vector(4, u32)) @Vector(4, u32) { return a - b; } // run -// backend=stage1 \ No newline at end of file +// backend=stage1 +// target=native \ No newline at end of file