mirror of
https://github.com/ziglang/zig.git
synced 2025-12-23 14:43:17 +00:00
astgen: fix var decl source locations
This commit is contained in:
parent
b9c5a1fdf5
commit
4fd3a2e8e8
@ -1240,7 +1240,7 @@ fn varDecl(
|
|||||||
.gen_zir = gz,
|
.gen_zir = gz,
|
||||||
.name = ident_name,
|
.name = ident_name,
|
||||||
.inst = init_inst,
|
.inst = init_inst,
|
||||||
.src = gz.nodeSrcLoc(node),
|
.src = name_src,
|
||||||
};
|
};
|
||||||
return &sub_scope.base;
|
return &sub_scope.base;
|
||||||
}
|
}
|
||||||
@ -1300,7 +1300,7 @@ fn varDecl(
|
|||||||
.gen_zir = gz,
|
.gen_zir = gz,
|
||||||
.name = ident_name,
|
.name = ident_name,
|
||||||
.inst = casted_init,
|
.inst = casted_init,
|
||||||
.src = gz.nodeSrcLoc(node),
|
.src = name_src,
|
||||||
};
|
};
|
||||||
return &sub_scope.base;
|
return &sub_scope.base;
|
||||||
}
|
}
|
||||||
@ -1328,7 +1328,7 @@ fn varDecl(
|
|||||||
.gen_zir = gz,
|
.gen_zir = gz,
|
||||||
.name = ident_name,
|
.name = ident_name,
|
||||||
.ptr = init_scope.rl_ptr,
|
.ptr = init_scope.rl_ptr,
|
||||||
.src = gz.nodeSrcLoc(node),
|
.src = name_src,
|
||||||
};
|
};
|
||||||
return &sub_scope.base;
|
return &sub_scope.base;
|
||||||
},
|
},
|
||||||
@ -1357,7 +1357,7 @@ fn varDecl(
|
|||||||
.gen_zir = gz,
|
.gen_zir = gz,
|
||||||
.name = ident_name,
|
.name = ident_name,
|
||||||
.ptr = var_data.alloc,
|
.ptr = var_data.alloc,
|
||||||
.src = gz.nodeSrcLoc(node),
|
.src = name_src,
|
||||||
};
|
};
|
||||||
return &sub_scope.base;
|
return &sub_scope.base;
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1001,43 +1001,43 @@ pub fn addCases(ctx: *TestContext) !void {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//{
|
{
|
||||||
// var case = ctx.exe("basic import", linux_x64);
|
var case = ctx.exe("basic import", linux_x64);
|
||||||
// case.addCompareOutput(
|
case.addCompareOutput(
|
||||||
// \\export fn _start() noreturn {
|
\\export fn _start() noreturn {
|
||||||
// \\ @import("print.zig").print();
|
\\ @import("print.zig").print();
|
||||||
// \\ exit();
|
\\ exit();
|
||||||
// \\}
|
\\}
|
||||||
// \\
|
\\
|
||||||
// \\fn exit() noreturn {
|
\\fn exit() noreturn {
|
||||||
// \\ asm volatile ("syscall"
|
\\ asm volatile ("syscall"
|
||||||
// \\ :
|
\\ :
|
||||||
// \\ : [number] "{rax}" (231),
|
\\ : [number] "{rax}" (231),
|
||||||
// \\ [arg1] "{rdi}" (@as(usize, 0))
|
\\ [arg1] "{rdi}" (@as(usize, 0))
|
||||||
// \\ : "rcx", "r11", "memory"
|
\\ : "rcx", "r11", "memory"
|
||||||
// \\ );
|
\\ );
|
||||||
// \\ unreachable;
|
\\ unreachable;
|
||||||
// \\}
|
\\}
|
||||||
// ,
|
,
|
||||||
// "Hello, World!\n",
|
"Hello, World!\n",
|
||||||
// );
|
);
|
||||||
// try case.files.append(.{
|
try case.files.append(.{
|
||||||
// .src =
|
.src =
|
||||||
// \\pub fn print() void {
|
\\pub fn print() void {
|
||||||
// \\ asm volatile ("syscall"
|
\\ asm volatile ("syscall"
|
||||||
// \\ :
|
\\ :
|
||||||
// \\ : [number] "{rax}" (@as(usize, 1)),
|
\\ : [number] "{rax}" (@as(usize, 1)),
|
||||||
// \\ [arg1] "{rdi}" (@as(usize, 1)),
|
\\ [arg1] "{rdi}" (@as(usize, 1)),
|
||||||
// \\ [arg2] "{rsi}" (@ptrToInt("Hello, World!\n")),
|
\\ [arg2] "{rsi}" (@ptrToInt("Hello, World!\n")),
|
||||||
// \\ [arg3] "{rdx}" (@as(usize, 14))
|
\\ [arg3] "{rdx}" (@as(usize, 14))
|
||||||
// \\ : "rcx", "r11", "memory"
|
\\ : "rcx", "r11", "memory"
|
||||||
// \\ );
|
\\ );
|
||||||
// \\ return;
|
\\ return;
|
||||||
// \\}
|
\\}
|
||||||
// ,
|
,
|
||||||
// .path = "print.zig",
|
.path = "print.zig",
|
||||||
// });
|
});
|
||||||
//}
|
}
|
||||||
|
|
||||||
ctx.compileError("function redefinition", linux_x64,
|
ctx.compileError("function redefinition", linux_x64,
|
||||||
\\fn entry() void {}
|
\\fn entry() void {}
|
||||||
@ -1051,26 +1051,26 @@ pub fn addCases(ctx: *TestContext) !void {
|
|||||||
\\}
|
\\}
|
||||||
, &[_][]const u8{":2:3: error: this is an error"});
|
, &[_][]const u8{":2:3: error: this is an error"});
|
||||||
|
|
||||||
//{
|
{
|
||||||
// var case = ctx.obj("variable shadowing", linux_x64);
|
var case = ctx.obj("variable shadowing", linux_x64);
|
||||||
// case.addError(
|
case.addError(
|
||||||
// \\export fn _start() noreturn {
|
\\export fn _start() noreturn {
|
||||||
// \\ var i: u32 = 10;
|
\\ var i: u32 = 10;
|
||||||
// \\ var i: u32 = 10;
|
\\ var i: u32 = 10;
|
||||||
// \\ unreachable;
|
\\ unreachable;
|
||||||
// \\}
|
\\}
|
||||||
// , &[_][]const u8{
|
, &[_][]const u8{
|
||||||
// ":3:9: error: redefinition of 'i'",
|
":3:9: error: redefinition of 'i'",
|
||||||
// ":2:9: note: previous definition is here",
|
":2:9: note: previous definition is here",
|
||||||
// });
|
});
|
||||||
// case.addError(
|
case.addError(
|
||||||
// \\var testing: i64 = 10;
|
\\var testing: i64 = 10;
|
||||||
// \\export fn _start() noreturn {
|
\\export fn _start() noreturn {
|
||||||
// \\ var testing: i64 = 20;
|
\\ var testing: i64 = 20;
|
||||||
// \\ unreachable;
|
\\ unreachable;
|
||||||
// \\}
|
\\}
|
||||||
// , &[_][]const u8{":3:9: error: redefinition of 'testing'"});
|
, &[_][]const u8{":3:9: error: redefinition of 'testing'"});
|
||||||
//}
|
}
|
||||||
|
|
||||||
//{
|
//{
|
||||||
// // TODO make the test harness support checking the compile log output too
|
// // TODO make the test harness support checking the compile log output too
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user