From ebde525ccee41a8eefbb868cf4df756f1a937dd2 Mon Sep 17 00:00:00 2001 From: Bogdan Romanyuk <65823030+wrongnull@users.noreply.github.com> Date: Mon, 16 Oct 2023 04:30:39 +0300 Subject: Sema: fix `@extern` error on function pointer --- test/cases/compile_errors/invalid_type_in_builtin_extern.zig | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test/cases/compile_errors') diff --git a/test/cases/compile_errors/invalid_type_in_builtin_extern.zig b/test/cases/compile_errors/invalid_type_in_builtin_extern.zig index 882febbb73..b082c4cb3f 100644 --- a/test/cases/compile_errors/invalid_type_in_builtin_extern.zig +++ b/test/cases/compile_errors/invalid_type_in_builtin_extern.zig @@ -1,7 +1,11 @@ const x = @extern(*comptime_int, .{ .name = "foo" }); +const y = @extern(*fn (u8) u8, .{ .name = "bar" }); pub export fn entry() void { _ = x; } +pub export fn entry2() void { + _ = y; +} // error // backend=stage2 @@ -9,3 +13,6 @@ pub export fn entry() void { // // :1:19: error: extern symbol cannot have type '*comptime_int' // :1:19: note: pointer to comptime-only type 'comptime_int' +// :2:19: error: extern symbol cannot have type '*fn (u8) u8' +// :2:19: note: pointer to extern function must be 'const' +// :2:19: note: extern function must specify calling convention -- cgit v1.2.3