mirror of
https://github.com/ziglang/zig.git
synced 2025-12-27 16:43:07 +00:00
Sema: fix fn_proto_param LazySrcLoc resolution
to match source code span from merge-base.
This commit is contained in:
parent
727b371bbc
commit
8daa8d255b
@ -2152,8 +2152,15 @@ pub const SrcLoc = struct {
|
||||
while (it.next()) |param| : (i += 1) {
|
||||
if (i == fn_proto_param.param_index) {
|
||||
if (param.anytype_ellipsis3) |token| return tokenToSpan(tree, token);
|
||||
if (param.name_token) |token| return tokenToSpan(tree, token);
|
||||
return nodeToSpan(tree, param.type_expr);
|
||||
const first_token = param.comptime_noalias orelse
|
||||
param.name_token orelse
|
||||
tree.firstToken(param.type_expr);
|
||||
return tokensToSpan(
|
||||
tree,
|
||||
first_token,
|
||||
tree.lastToken(param.type_expr),
|
||||
first_token,
|
||||
);
|
||||
}
|
||||
}
|
||||
unreachable;
|
||||
|
||||
@ -10,7 +10,7 @@ export fn zig_return_array() [10]u8 {
|
||||
// backend=stage2
|
||||
// target=native
|
||||
//
|
||||
// :1:24: error: parameter of type '[10]u8' not allowed in function with calling convention 'C'
|
||||
// :1:24: note: arrays are not allowed as a parameter type
|
||||
// :1:21: error: parameter of type '[10]u8' not allowed in function with calling convention 'C'
|
||||
// :1:21: note: arrays are not allowed as a parameter type
|
||||
// :5:30: error: return type '[10]u8' not allowed in function with calling convention 'C'
|
||||
// :5:30: note: arrays are not allowed as a return type
|
||||
|
||||
@ -6,4 +6,4 @@ export fn foo(comptime x: anytype, y: i32) i32 {
|
||||
// backend=stage2
|
||||
// target=native
|
||||
//
|
||||
// :1:15: error: comptime parameters not allowed in function with calling convention 'C'
|
||||
// :1:27: error: comptime parameters not allowed in function with calling convention 'C'
|
||||
|
||||
@ -7,4 +7,4 @@ export fn foo(num: anytype) i32 {
|
||||
// backend=stage2
|
||||
// target=native
|
||||
//
|
||||
// :1:15: error: generic parameters not allowed in function with calling convention 'C'
|
||||
// :1:20: error: generic parameters not allowed in function with calling convention 'C'
|
||||
|
||||
@ -19,5 +19,5 @@ comptime {
|
||||
// target=native
|
||||
//
|
||||
// :5:30: error: comptime parameters not allowed in function with calling convention 'C'
|
||||
// :6:30: error: generic parameters not allowed in function with calling convention 'C'
|
||||
// :6:41: error: generic parameters not allowed in function with calling convention 'C'
|
||||
// :1:15: error: comptime parameters not allowed in function with calling convention 'C'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user