aboutsummaryrefslogtreecommitdiff
path: root/test/compile_errors.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-06-05 10:29:54 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-06-05 10:29:54 -0400
commit7dd18294b7988062461430d431eaad2ad7b19daa (patch)
tree8ce835394267efdf369948f0438de35a29db3b9f /test/compile_errors.zig
parent58ce79f9352a6139c873df6d99d1531101350e9f (diff)
parent677eaf29b10df9b1dc461b37e7be78734b11ef19 (diff)
downloadzig-7dd18294b7988062461430d431eaad2ad7b19daa.tar.gz
zig-7dd18294b7988062461430d431eaad2ad7b19daa.zip
Merge remote-tracking branch 'origin/master' into llvm7
Diffstat (limited to 'test/compile_errors.zig')
-rw-r--r--test/compile_errors.zig33
1 files changed, 22 insertions, 11 deletions
diff --git a/test/compile_errors.zig b/test/compile_errors.zig
index 7e9ef82e42..e264d57b5e 100644
--- a/test/compile_errors.zig
+++ b/test/compile_errors.zig
@@ -2,12 +2,21 @@ const tests = @import("tests.zig");
pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add(
+ "slicing single-item pointer",
+ \\export fn entry(ptr: *i32) void {
+ \\ const slice = ptr[0..2];
+ \\}
+ ,
+ ".tmp_source.zig:2:22: error: slice of single-item pointer",
+ );
+
+ cases.add(
"indexing single-item pointer",
\\export fn entry(ptr: *i32) i32 {
\\ return ptr[1];
\\}
,
- ".tmp_source.zig:2:15: error: indexing not allowed on pointer to single item",
+ ".tmp_source.zig:2:15: error: index of single-item pointer",
);
cases.add(
@@ -144,10 +153,10 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add(
"comptime slice of undefined pointer non-zero len",
\\export fn entry() void {
- \\ const slice = (*i32)(undefined)[0..1];
+ \\ const slice = ([*]i32)(undefined)[0..1];
\\}
,
- ".tmp_source.zig:2:36: error: non-zero length slice of undefined pointer",
+ ".tmp_source.zig:2:38: error: non-zero length slice of undefined pointer",
);
cases.add(
@@ -1530,7 +1539,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\fn foo() *const i32 { return y; }
\\export fn entry() usize { return @sizeOf(@typeOf(foo)); }
,
- ".tmp_source.zig:3:30: error: expected type '*const i32', found '*const (integer literal)'",
+ ".tmp_source.zig:3:30: error: expected type '*const i32', found '*const comptime_int'",
);
cases.add(
@@ -1546,7 +1555,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\const x = 2 == 2.0;
\\export fn entry() usize { return @sizeOf(@typeOf(x)); }
,
- ".tmp_source.zig:1:11: error: integer value 2 cannot be implicitly casted to type '(float literal)'",
+ ".tmp_source.zig:1:11: error: integer value 2 cannot be implicitly casted to type 'comptime_float'",
);
cases.add(
@@ -2180,7 +2189,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\
\\export fn entry() usize { return @sizeOf(@typeOf(block_aligned_stuff)); }
,
- ".tmp_source.zig:3:60: error: unable to perform binary not operation on type '(integer literal)'",
+ ".tmp_source.zig:3:60: error: unable to perform binary not operation on type 'comptime_int'",
);
cases.addCase(x: {
@@ -3129,14 +3138,16 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\export fn entry() void {
\\ var foo = Foo { .a = 1, .b = 10 };
\\ foo.b += 1;
- \\ bar((&foo.b)[0..1]);
+ \\ bar((*[1]u32)(&foo.b)[0..]);
\\}
\\
\\fn bar(x: []u32) void {
\\ x[0] += 1;
\\}
,
- ".tmp_source.zig:9:17: error: expected type '[]u32', found '[]align(1) u32'",
+ ".tmp_source.zig:9:18: error: cast increases pointer alignment",
+ ".tmp_source.zig:9:23: note: '*align(1) u32' has alignment 1",
+ ".tmp_source.zig:9:18: note: '*[1]u32' has alignment 4",
);
cases.add(
@@ -3258,10 +3269,10 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\ fn bar(self: *const Foo) void {}
\\};
,
- ".tmp_source.zig:4:4: error: variable of type '*(integer literal)' must be const or comptime",
+ ".tmp_source.zig:4:4: error: variable of type '*comptime_int' must be const or comptime",
".tmp_source.zig:7:4: error: variable of type '(undefined)' must be const or comptime",
- ".tmp_source.zig:8:4: error: variable of type '(integer literal)' must be const or comptime",
- ".tmp_source.zig:9:4: error: variable of type '(float literal)' must be const or comptime",
+ ".tmp_source.zig:8:4: error: variable of type 'comptime_int' must be const or comptime",
+ ".tmp_source.zig:9:4: error: variable of type 'comptime_float' must be const or comptime",
".tmp_source.zig:10:4: error: variable of type '(block)' must be const or comptime",
".tmp_source.zig:11:4: error: variable of type '(null)' must be const or comptime",
".tmp_source.zig:12:4: error: variable of type 'Opaque' must be const or comptime",