Commit 3c73f71177

Veikka Tuominen <git@vexu.eu>
2022-06-30 15:58:46
Sema: prefer func.onwer_decl for compilelog src
1 parent 3014a0d
src/Sema.zig
@@ -4272,7 +4272,8 @@ fn zirCompileLog(
     }
     try writer.print("\n", .{});
 
-    const gop = try sema.mod.compile_log_decls.getOrPut(sema.gpa, sema.owner_decl_index);
+    const decl_index = if (sema.func) |some| some.owner_decl else sema.owner_decl_index;
+    const gop = try sema.mod.compile_log_decls.getOrPut(sema.gpa, decl_index);
     if (!gop.found_existing) {
         gop.value_ptr.* = src_node;
     }
test/cases/compile_errors/stage1/obj/compile-time_division_by_zero.zig → test/cases/compile_errors/compile-time_division_by_zero.zig
@@ -6,7 +6,7 @@ comptime {
 }
 
 // error
-// backend=stage1
+// backend=stage2
 // target=native
 //
-// tmp.zig:4:17: error: division by zero
+// :4:19: error: division by zero here causes undefined behavior
test/cases/compile_errors/stage1/obj/compile-time_remainder_division_by_zero.zig → test/cases/compile_errors/compile-time_remainder_division_by_zero.zig
@@ -6,7 +6,7 @@ comptime {
 }
 
 // error
-// backend=stage1
+// backend=stage2
 // target=native
 //
-// tmp.zig:4:17: error: division by zero
+// :4:19: error: division by zero here causes undefined behavior
test/cases/compile_errors/stage1/obj/compile_log.zig → test/cases/compile_errors/compile_log.zig
@@ -8,9 +8,7 @@ fn bar(a: i32, b: []const u8) void {
 }
 
 // error
-// backend=stage1
+// backend=llvm
 // target=native
 //
-// tmp.zig:5:5: error: found compile log statement
-// tmp.zig:6:5: error: found compile log statement
-// tmp.zig:7:5: error: found compile log statement
+// :5:5: error: found compile log statement
test/cases/compile_errors/stage1/obj/compile_log_statement_inside_function_which_must_be_comptime_evaluated.zig → test/cases/compile_errors/compile_log_statement_inside_function_which_must_be_comptime_evaluated.zig
@@ -8,7 +8,7 @@ export fn entry() void {
 }
 
 // error
-// backend=stage1
+// backend=stage2
 // target=native
 //
-// tmp.zig:2:5: error: found compile log statement
+// :2:5: error: found compile log statement
test/cases/compile_errors/stage1/obj/compile_time_division_by_zero.zig → test/cases/compile_errors/compile_time_division_by_zero.zig
@@ -6,7 +6,8 @@ fn foo(x: u32) u32 {
 export fn entry() usize { return @sizeOf(@TypeOf(y)); }
 
 // error
-// backend=stage1
+// backend=llvm
 // target=native
 //
-// tmp.zig:3:14: error: division by zero
+// :3:16: error: division by zero here causes undefined behavior
+// :1:14: note: called from here
test/cases/compile_errors/stage1/obj/compileLog_of_tagged_enum_doesnt_crash_the_compiler.zig → test/cases/compile_errors/compileLog_of_tagged_enum_doesnt_crash_the_compiler.zig
@@ -6,12 +6,12 @@ fn testCompileLog(x: Bar) void {
     @compileLog(x);
 }
 
-pub fn main () void {
+pub export fn entry() void {
     comptime testCompileLog(Bar{.X = 123});
 }
 
 // error
-// backend=stage1
+// backend=stage2
 // target=native
 //
-// tmp.zig:6:5: error: found compile log statement
+// :6:5: error: found compile log statement