aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-06-30 22:57:20 +0300
committerVeikka Tuominen <git@vexu.eu>2022-07-01 10:22:25 +0300
commita6bf8c2593ae6e60d4c4804d4e9fd87fe29885ed (patch)
tree57b34649c7efdf725967eb06ccb1af26ba077749 /test/cases/compile_errors
parente6ebf56dd6cf2e2c23af952d2e9e327703c9cd02 (diff)
downloadzig-a6bf8c2593ae6e60d4c4804d4e9fd87fe29885ed.tar.gz
zig-a6bf8c2593ae6e60d4c4804d4e9fd87fe29885ed.zip
Sema: add more validation to zirFieldParentPtr
Diffstat (limited to 'test/cases/compile_errors')
-rw-r--r--test/cases/compile_errors/division_by_zero.zig (renamed from test/cases/compile_errors/stage1/obj/division_by_zero.zig)11
-rw-r--r--test/cases/compile_errors/error_not_handled_in_switch.zig (renamed from test/cases/compile_errors/stage1/obj/error_not_handled_in_switch.zig)7
-rw-r--r--test/cases/compile_errors/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig (renamed from test/cases/compile_errors/stage1/obj/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig)4
-rw-r--r--test/cases/compile_errors/fieldParentPtr-comptime_wrong_field_index.zig (renamed from test/cases/compile_errors/stage1/obj/fieldParentPtr-comptime_wrong_field_index.zig)5
-rw-r--r--test/cases/compile_errors/fieldParentPtr-field_pointer_is_not_pointer.zig (renamed from test/cases/compile_errors/stage1/obj/fieldParentPtr-field_pointer_is_not_pointer.zig)4
-rw-r--r--test/cases/compile_errors/field_access_of_opaque_type.zig (renamed from test/cases/compile_errors/stage1/obj/field_access_of_opaque_type.zig)4
-rw-r--r--test/cases/compile_errors/field_access_of_slices.zig (renamed from test/cases/compile_errors/stage1/obj/field_access_of_slices.zig)5
-rw-r--r--test/cases/compile_errors/field_access_of_unknown_length_pointer.zig (renamed from test/cases/compile_errors/stage1/obj/field_access_of_unknown_length_pointer.zig)4
-rw-r--r--test/cases/compile_errors/stage1/error_equality_but_sets_have_no_common_members.zig (renamed from test/cases/compile_errors/stage1/obj/error_equality_but_sets_have_no_common_members.zig)0
9 files changed, 23 insertions, 21 deletions
diff --git a/test/cases/compile_errors/stage1/obj/division_by_zero.zig b/test/cases/compile_errors/division_by_zero.zig
index 3023f0c6f3..2e2f7e2be2 100644
--- a/test/cases/compile_errors/stage1/obj/division_by_zero.zig
+++ b/test/cases/compile_errors/division_by_zero.zig
@@ -6,13 +6,12 @@ const float_x = @as(f32, 1.0) / @as(f32, 0.0);
export fn entry1() usize { return @sizeOf(@TypeOf(lit_int_x)); }
export fn entry2() usize { return @sizeOf(@TypeOf(lit_float_x)); }
export fn entry3() usize { return @sizeOf(@TypeOf(int_x)); }
-export fn entry4() usize { return @sizeOf(@TypeOf(float_x)); }
+export fn entry4() usize { return @sizeOf(@TypeOf(float_x)); } // no error on purpose
// error
-// backend=stage1
+// backend=stage2
// target=native
//
-// tmp.zig:1:21: error: division by zero
-// tmp.zig:2:25: error: division by zero
-// tmp.zig:3:27: error: division by zero
-// tmp.zig:4:31: error: division by zero
+// :1:23: error: division by zero here causes undefined behavior
+// :2:27: error: division by zero here causes undefined behavior
+// :3:29: error: division by zero here causes undefined behavior
diff --git a/test/cases/compile_errors/stage1/obj/error_not_handled_in_switch.zig b/test/cases/compile_errors/error_not_handled_in_switch.zig
index 12ee35daef..8f0d26a4a9 100644
--- a/test/cases/compile_errors/stage1/obj/error_not_handled_in_switch.zig
+++ b/test/cases/compile_errors/error_not_handled_in_switch.zig
@@ -13,8 +13,9 @@ fn foo(x: i32) !void {
}
// error
-// backend=stage1
+// backend=llvm
// target=native
//
-// tmp.zig:2:26: error: error.Baz not handled in switch
-// tmp.zig:2:26: error: error.Bar not handled in switch
+// :2:26: error: switch must handle all possibilities
+// :2:26: note: unhandled error value: 'error.Bar'
+// :2:26: note: unhandled error value: 'error.Baz'
diff --git a/test/cases/compile_errors/stage1/obj/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig b/test/cases/compile_errors/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig
index 9375f4639a..7f57268f06 100644
--- a/test/cases/compile_errors/stage1/obj/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig
+++ b/test/cases/compile_errors/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig
@@ -11,7 +11,7 @@ comptime {
}
// error
-// backend=stage1
+// backend=stage2
// target=native
//
-// tmp.zig:9:55: error: pointer value not based on parent struct
+// :9:55: error: pointer value not based on parent struct
diff --git a/test/cases/compile_errors/stage1/obj/fieldParentPtr-comptime_wrong_field_index.zig b/test/cases/compile_errors/fieldParentPtr-comptime_wrong_field_index.zig
index c322543dc0..a73409aea3 100644
--- a/test/cases/compile_errors/stage1/obj/fieldParentPtr-comptime_wrong_field_index.zig
+++ b/test/cases/compile_errors/fieldParentPtr-comptime_wrong_field_index.zig
@@ -10,7 +10,8 @@ comptime {
}
// error
-// backend=stage1
+// backend=stage2
// target=native
//
-// tmp.zig:8:29: error: field 'b' has index 1 but pointer value is index 0 of struct 'Foo'
+// :8:29: error: field 'b' has index '1' but pointer value is index '0' of struct 'tmp.Foo'
+// :1:13: note: struct declared here
diff --git a/test/cases/compile_errors/stage1/obj/fieldParentPtr-field_pointer_is_not_pointer.zig b/test/cases/compile_errors/fieldParentPtr-field_pointer_is_not_pointer.zig
index 71360e5681..8a57d08c3b 100644
--- a/test/cases/compile_errors/stage1/obj/fieldParentPtr-field_pointer_is_not_pointer.zig
+++ b/test/cases/compile_errors/fieldParentPtr-field_pointer_is_not_pointer.zig
@@ -6,7 +6,7 @@ export fn foo(a: i32) *Foo {
}
// error
-// backend=stage1
+// backend=stage2
// target=native
//
-// tmp.zig:5:38: error: expected pointer, found 'i32'
+// :5:38: error: expected pointer type, found 'i32'
diff --git a/test/cases/compile_errors/stage1/obj/field_access_of_opaque_type.zig b/test/cases/compile_errors/field_access_of_opaque_type.zig
index 963c89dafe..f9ec483305 100644
--- a/test/cases/compile_errors/stage1/obj/field_access_of_opaque_type.zig
+++ b/test/cases/compile_errors/field_access_of_opaque_type.zig
@@ -10,7 +10,7 @@ fn bar(x: *MyType) bool {
}
// error
-// backend=stage1
+// backend=stage2
// target=native
//
-// tmp.zig:9:13: error: no member named 'blah' in opaque type 'MyType'
+// :9:13: error: type '*tmp.MyType' does not support field access
diff --git a/test/cases/compile_errors/stage1/obj/field_access_of_slices.zig b/test/cases/compile_errors/field_access_of_slices.zig
index 45ca711367..1fbfda9646 100644
--- a/test/cases/compile_errors/stage1/obj/field_access_of_slices.zig
+++ b/test/cases/compile_errors/field_access_of_slices.zig
@@ -5,7 +5,8 @@ export fn entry() void {
}
// error
-// backend=stage1
+// backend=stage2
// target=native
//
-// tmp.zig:3:32: error: type 'type' does not support field access
+// :3:32: error: type '[]i32' has no members
+// :3:32: note: slice values have 'len' and 'ptr' members
diff --git a/test/cases/compile_errors/stage1/obj/field_access_of_unknown_length_pointer.zig b/test/cases/compile_errors/field_access_of_unknown_length_pointer.zig
index f9a37cabcc..2f526277fe 100644
--- a/test/cases/compile_errors/stage1/obj/field_access_of_unknown_length_pointer.zig
+++ b/test/cases/compile_errors/field_access_of_unknown_length_pointer.zig
@@ -7,7 +7,7 @@ export fn entry(foo: [*]Foo) void {
}
// error
-// backend=stage1
+// backend=stage2
// target=native
//
-// tmp.zig:6:8: error: type '[*]Foo' does not support field access
+// :6:8: error: type '[*]tmp.Foo' does not support field access
diff --git a/test/cases/compile_errors/stage1/obj/error_equality_but_sets_have_no_common_members.zig b/test/cases/compile_errors/stage1/error_equality_but_sets_have_no_common_members.zig
index d42169b503..d42169b503 100644
--- a/test/cases/compile_errors/stage1/obj/error_equality_but_sets_have_no_common_members.zig
+++ b/test/cases/compile_errors/stage1/error_equality_but_sets_have_no_common_members.zig