zig

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

commit 589e564f16fd9c07dde9ae88910219d25b7a377f (tree)
parent 2e3fac3626a3edc61eb8afc7c17a19b5fec4b672
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Tue, 16 Sep 2025 16:18:58 +0200

test: delete old stage1 compile_errors tests

generic_function_returning_opaque_type.zig was salvaged as it's still worth
having.

Diffstat:
Mtest/cases/README.md | 1-
Atest/cases/compile_errors/generic_function_returning_opaque_type.zig | 16++++++++++++++++
Dtest/cases/compile_errors/stage1/obj/call_with_new_stack_on_unsupported_target.zig | 11-----------
Dtest/cases/compile_errors/stage1/obj/generic_fn_as_parameter_without_comptime_keyword.zig | 11-----------
Dtest/cases/compile_errors/stage1/obj/generic_function_returning_opaque_type.zig | 25-------------------------
Dtest/cases/compile_errors/stage1/obj/generic_function_where_return_type_is_self-referenced.zig | 13-------------
Dtest/cases/compile_errors/stage1/obj/unsupported_modifier_at_start_of_asm_output_constraint.zig | 14--------------
Dtest/cases/compile_errors/stage1/obj/variable_in_inline_assembly_template_cannot_be_found.zig | 12------------
Mtest/src/Cases.zig | 3---
9 files changed, 16 insertions(+), 90 deletions(-)

diff --git a/test/cases/README.md b/test/cases/README.md @@ -84,6 +84,5 @@ path will be prepended as a prefix on the test case name. Possible backends are: * `auto`: the default; compiler picks the backend based on robustness. - * `stage1`: equivalent to `-fstage1`. * `selfhosted`: equivalent to passing `-fno-llvm -fno-lld`. * `llvm`: equivalent to `-fllvm`. diff --git a/test/cases/compile_errors/generic_function_returning_opaque_type.zig b/test/cases/compile_errors/generic_function_returning_opaque_type.zig @@ -0,0 +1,16 @@ +fn generic(comptime T: type) T { + return undefined; +} +const MyOpaque = opaque {}; +export fn foo() void { + _ = generic(MyOpaque); +} +export fn bar() void { + _ = generic(anyopaque); +} + +// error +// +// :1:30: error: opaque return type 'tmp.MyOpaque' not allowed +// :4:18: note: opaque declared here +// :1:30: error: opaque return type 'anyopaque' not allowed diff --git a/test/cases/compile_errors/stage1/obj/call_with_new_stack_on_unsupported_target.zig b/test/cases/compile_errors/stage1/obj/call_with_new_stack_on_unsupported_target.zig @@ -1,11 +0,0 @@ -var buf: [10]u8 align(16) = undefined; -export fn entry() void { - @call(.{ .stack = &buf }, foo, .{}); -} -fn foo() void {} - -// error -// backend=stage1 -// target=wasm32-wasi-none -// -// tmp.zig:3:5: error: target arch 'wasm32' does not support calling with a new stack diff --git a/test/cases/compile_errors/stage1/obj/generic_fn_as_parameter_without_comptime_keyword.zig b/test/cases/compile_errors/stage1/obj/generic_fn_as_parameter_without_comptime_keyword.zig @@ -1,11 +0,0 @@ -fn f(_: fn (anytype) void) void {} -fn g(_: anytype) void {} -export fn entry() void { - f(g); -} - -// error -// backend=stage1 -// target=native -// -// tmp.zig:1:9: error: parameter of type 'fn (anytype) anytype' must be declared comptime diff --git a/test/cases/compile_errors/stage1/obj/generic_function_returning_opaque_type.zig b/test/cases/compile_errors/stage1/obj/generic_function_returning_opaque_type.zig @@ -1,25 +0,0 @@ -const FooType = opaque {}; -fn generic(comptime T: type) !T { - return undefined; -} -export fn bar() void { - _ = generic(FooType); -} -export fn bav() void { - _ = generic(@TypeOf(null)); -} -export fn baz() void { - _ = generic(@TypeOf(undefined)); -} - -// error -// backend=stage1 -// target=native -// -// tmp.zig:6:16: error: call to generic function with Opaque return type 'FooType' not allowed -// tmp.zig:2:1: note: function declared here -// tmp.zig:1:1: note: type declared here -// tmp.zig:9:16: error: call to generic function with Null return type '@Type(.Null)' not allowed -// tmp.zig:2:1: note: function declared here -// tmp.zig:12:16: error: call to generic function with Undefined return type '@Type(.Undefined)' not allowed -// tmp.zig:2:1: note: function declared here diff --git a/test/cases/compile_errors/stage1/obj/generic_function_where_return_type_is_self-referenced.zig b/test/cases/compile_errors/stage1/obj/generic_function_where_return_type_is_self-referenced.zig @@ -1,13 +0,0 @@ -fn Foo(comptime T: type) Foo(T) { - return struct { x: T }; -} -export fn entry() void { - const t = Foo(u32){ .x = 1 }; - _ = t; -} - -// error -// backend=stage1 -// target=native -// -// tmp.zig:1:29: error: evaluation exceeded 1000 backwards branches diff --git a/test/cases/compile_errors/stage1/obj/unsupported_modifier_at_start_of_asm_output_constraint.zig b/test/cases/compile_errors/stage1/obj/unsupported_modifier_at_start_of_asm_output_constraint.zig @@ -1,14 +0,0 @@ -export fn foo() void { - var bar: u32 = 3; - asm volatile ("" - : [baz] "+r" (bar), - : - : "" - ); -} - -// error -// backend=stage1 -// target=native -// -// tmp.zig:3:5: error: invalid modifier starting output constraint for 'baz': '+', only '=' is supported. Compiler TODO: see https://github.com/ziglang/zig/issues/215 diff --git a/test/cases/compile_errors/stage1/obj/variable_in_inline_assembly_template_cannot_be_found.zig b/test/cases/compile_errors/stage1/obj/variable_in_inline_assembly_template_cannot_be_found.zig @@ -1,12 +0,0 @@ -export fn entry() void { - var sp = asm volatile ("mov %[foo], sp" - : [bar] "=r" (-> usize), - ); - _ = &sp; -} - -// error -// backend=stage1 -// target=x86_64-linux-gnu -// -// tmp.zig:2:14: error: could not find 'foo' in the inputs or outputs diff --git a/test/src/Cases.zig b/test/src/Cases.zig @@ -28,7 +28,6 @@ pub const DepModule = struct { pub const Backend = enum { /// Test does not care which backend is used; compiler gets to pick the default. auto, - stage1, selfhosted, llvm, }; @@ -623,7 +622,6 @@ pub fn lowerToBuildSteps( const would_use_llvm = @import("../tests.zig").wouldUseLlvm( switch (case.backend) { .auto => null, - .stage1 => continue, .selfhosted => false, .llvm => true, }, @@ -699,7 +697,6 @@ pub fn lowerToBuildSteps( switch (case.backend) { .auto => {}, - .stage1 => continue, .selfhosted => { artifact.use_llvm = false; artifact.use_lld = false;