Closed
Description
const std = @import("std");
pub const CrossTarget = struct {
dynamic_linker: DynamicLinker = DynamicLinker{},
pub fn parse() void {
var result: CrossTarget = .{ };
result.getCpuArch();
}
pub fn getCpuArch(self: CrossTarget) void { }
};
pub const DynamicLinker = struct {
buffer: [255]u8 = undefined,
};
comptime {
CrossTarget.parse();
CrossTarget.parse();
}
pub fn panic(msg: []const u8, stack_trace: ?*const std.builtin.StackTrace) noreturn {
@breakpoint();
unreachable;
}
[nix-shell:~/Downloads/zig/build]$ ./zig build-obj test.zig
Assertion failed at /home/andy/Downloads/zig/src/analyze.cpp:5403 in can_mutate_comptime_var_state. This is a bug in the Zig compiler.
/home/andy/Downloads/zig/src-self-hosted/stage2.zig:36:5: 0xff003c in stage2_panic (zigstage2)
@panic(ptr[0..len]);
^
/home/andy/Downloads/zig/src/util.cpp:20:17: 0xfb2914 in zig_panic (/home/andy/Downloads/zig/src/util.cpp)
stage2_panic("", 0);
^
/home/andy/Downloads/zig/src/util_base.hpp:53:18: 0xfb302f in zig_assert (/home/andy/Downloads/zig/src/analyze.cpp)
zig_panic("Assertion failed at %s:%d in %s. This is a bug in the Zig compiler.", file, line, func);
^
/home/andy/Downloads/zig/src/analyze.cpp:5403:5: 0xfc39a1 in can_mutate_comptime_var_state (/home/andy/Downloads/zig/src/analyze.cpp)
assert(value != nullptr);
^
/home/andy/Downloads/zig/src/analyze.cpp:5440:58: 0xfc3a78 in can_mutate_comptime_var_state (/home/andy/Downloads/zig/src/analyze.cpp)
if (can_mutate_comptime_var_state(&value->data.x_array.data.s_none.elements[i]))
^
/home/andy/Downloads/zig/src/analyze.cpp:5448:50: 0xfc3ae7 in can_mutate_comptime_var_state (/home/andy/Downloads/zig/src/analyze.cpp)
if (can_mutate_comptime_var_state(value->data.x_struct.fields[i]))
^
/home/andy/Downloads/zig/src/analyze.cpp:5448:50: 0xfc3ae7 in can_mutate_comptime_var_state (/home/andy/Downloads/zig/src/analyze.cpp)
if (can_mutate_comptime_var_state(value->data.x_struct.fields[i]))
^
/home/andy/Downloads/zig/src/analyze.cpp:5522:46: 0xfc3d0f in fn_eval_cacheable (/home/andy/Downloads/zig/src/analyze.cpp)
if (can_mutate_comptime_var_state(var_scope->var->const_value))
^
/home/andy/Downloads/zig/src/ir.cpp:19155:43: 0xf56b5d in ir_analyze_fn_call (/home/andy/Downloads/zig/src/ir.cpp)
bool cacheable = fn_eval_cacheable(exec_scope, return_type);
^
/home/andy/Downloads/zig/src/ir.cpp:19571:43: 0xf587a2 in ir_analyze_fn_call_src (/home/andy/Downloads/zig/src/ir.cpp)
IrInstGen *result = ir_analyze_fn_call(ira, &call_instruction->base.base, fn_entry, fn_type, fn_ref,
^
/home/andy/Downloads/zig/src/ir.cpp:19757:42: 0xf59367 in ir_analyze_instruction_call (/home/andy/Downloads/zig/src/ir.cpp)
return ir_analyze_fn_call_src(ira, call_instruction, fn_table_entry, fn_table_entry->type_entry,
^
/home/andy/Downloads/zig/src/ir.cpp:29159:47: 0xf7c5ba in ir_analyze_instruction_base (/home/andy/Downloads/zig/src/ir.cpp)
return ir_analyze_instruction_call(ira, (IrInstSrcCall *)instruction);
^
/home/andy/Downloads/zig/src/ir.cpp:29473:65: 0xf7d54c in ir_analyze (/home/andy/Downloads/zig/src/ir.cpp)
IrInstGen *new_instruction = ir_analyze_instruction_base(ira, old_instruction);
^
/home/andy/Downloads/zig/src/ir.cpp:13003:38: 0xf40fe2 in ir_eval_const_value (/home/andy/Downloads/zig/src/ir.cpp)
ZigType *result_type = ir_analyze(codegen, ir_executable, analyzed_executable,
^
/home/andy/Downloads/zig/src/ir.cpp:19168:43: 0xf56c7a in ir_analyze_fn_call (/home/andy/Downloads/zig/src/ir.cpp)
if ((err = ir_eval_const_value(ira->codegen, exec_scope, body_node, result_ptr,
^
/home/andy/Downloads/zig/src/ir.cpp:19571:43: 0xf587a2 in ir_analyze_fn_call_src (/home/andy/Downloads/zig/src/ir.cpp)
IrInstGen *result = ir_analyze_fn_call(ira, &call_instruction->base.base, fn_entry, fn_type, fn_ref,
^
/home/andy/Downloads/zig/src/ir.cpp:19749:42: 0xf592ac in ir_analyze_instruction_call (/home/andy/Downloads/zig/src/ir.cpp)
return ir_analyze_fn_call_src(ira, call_instruction, fn_table_entry, fn_type,
^
/home/andy/Downloads/zig/src/ir.cpp:29159:47: 0xf7c5ba in ir_analyze_instruction_base (/home/andy/Downloads/zig/src/ir.cpp)
return ir_analyze_instruction_call(ira, (IrInstSrcCall *)instruction);
^
/home/andy/Downloads/zig/src/ir.cpp:29473:65: 0xf7d54c in ir_analyze (/home/andy/Downloads/zig/src/ir.cpp)
IrInstGen *new_instruction = ir_analyze_instruction_base(ira, old_instruction);
^
/home/andy/Downloads/zig/src/ir.cpp:13003:38: 0xf40fe2 in ir_eval_const_value (/home/andy/Downloads/zig/src/ir.cpp)
ZigType *result_type = ir_analyze(codegen, ir_executable, analyzed_executable,
^
/home/andy/Downloads/zig/src/analyze.cpp:1119:35: 0xfb6bfd in analyze_const_value (/home/andy/Downloads/zig/src/analyze.cpp)
if ((err = ir_eval_const_value(g, scope, node, result_ptr,
^
/home/andy/Downloads/zig/src/analyze.cpp:3588:24: 0xfbe370 in resolve_decl_comptime (/home/andy/Downloads/zig/src/analyze.cpp)
analyze_const_value(g, tld_comptime->base.parent_scope, expr_node, g->builtin_types.entry_void,
^
/home/andy/Downloads/zig/src/analyze.cpp:4182:34: 0xfbff13 in resolve_top_level_decl (/home/andy/Downloads/zig/src/analyze.cpp)
resolve_decl_comptime(g, tld_comptime);
^
/home/andy/Downloads/zig/src/analyze.cpp:4981:35: 0xfc26bc in semantic_analyze (/home/andy/Downloads/zig/src/analyze.cpp)
resolve_top_level_decl(g, tld, source_node, false);
^
/home/andy/Downloads/zig/src/codegen.cpp:9497:25: 0xeff751 in gen_root_source (/home/andy/Downloads/zig/src/codegen.cpp)
semantic_analyze(g);
^
/home/andy/Downloads/zig/src/codegen.cpp:10506:28: 0xf031ee in codegen_build_and_link (/home/andy/Downloads/zig/src/codegen.cpp)
gen_root_source(g);
^
/home/andy/Downloads/zig/src/main.cpp:1301:39: 0xed78e4 in main0 (/home/andy/Downloads/zig/src/main.cpp)
codegen_build_and_link(g);
^
/home/andy/Downloads/zig/src/main.cpp:1448:24: 0xed8158 in main (/home/andy/Downloads/zig/src/main.cpp)
auto result = main0(argc, argv);
^