aboutsummaryrefslogtreecommitdiff
path: root/test/compile_errors.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-02-12 00:51:06 -0500
committerAndrew Kelley <andrew@ziglang.org>2019-02-12 00:51:06 -0500
commit285e2f62ba0648d6d8e7ff64d1ee7d2900481e2f (patch)
treeca99c7ae5e4e29bb12a750b92a8d292b3e09a556 /test/compile_errors.zig
parent0abe6d668eb52aefa59c75a8d8f782f2372f8600 (diff)
downloadzig-285e2f62ba0648d6d8e7ff64d1ee7d2900481e2f.tar.gz
zig-285e2f62ba0648d6d8e7ff64d1ee7d2900481e2f.zip
disallow C pointers to non-C-ABI-compatible element types
See #1059
Diffstat (limited to 'test/compile_errors.zig')
-rw-r--r--test/compile_errors.zig10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/compile_errors.zig b/test/compile_errors.zig
index b47cdf2ed1..63850bb888 100644
--- a/test/compile_errors.zig
+++ b/test/compile_errors.zig
@@ -2,6 +2,16 @@ const tests = @import("tests.zig");
pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.addTest(
+ "C pointer pointing to non C ABI compatible type",
+ \\const Foo = struct {};
+ \\export fn entry() [*c]Foo {
+ \\ return undefined;
+ \\}
+ ,
+ ".tmp_source.zig:2:19: error: C pointers cannot point to non-C-ABI-compatible type 'Foo'",
+ );
+
+ cases.addTest(
"@truncate undefined value",
\\export fn entry() void {
\\ var z = @truncate(u8, u16(undefined));