-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
arch-x86_6464-bit x8664-bit x86backend-llvmThe LLVM backend outputs an LLVM IR Module.The LLVM backend outputs an LLVM IR Module.bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behaviorenhancementSolving this issue will likely involve adding new logic or components to the codebase.Solving this issue will likely involve adding new logic or components to the codebase.frontendTokenization, parsing, AstGen, Sema, and Liveness.Tokenization, parsing, AstGen, Sema, and Liveness.
Milestone
Description
Zig Version: 0.10.0-dev.3291+4624c8189
Can be reproduced by cd into test/standalone/c_abi and then zig build.
thread 410936 panic: TODO
/home/andy/Downloads/zig/src/codegen/llvm.zig:9345:41: 0x3721fee in codegen.llvm.ParamTypeIterator.nextInner (zig)
@panic("TODO");
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:9230:25: 0x3712636 in codegen.llvm.ParamTypeIterator.next (zig)
return nextInner(it, ty);
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:2838:23: 0x351c788 in codegen.llvm.DeclGen.lowerTypeFn (zig)
while (it.next()) |lowering| switch (lowering) {
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:2798:38: 0x333c15e in codegen.llvm.DeclGen.lowerTypeInner (zig)
.Fn => return lowerTypeFn(dg, t),
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:2433:43: 0x3336771 in codegen.llvm.DeclGen.lowerType (zig)
const llvm_ty = try lowerTypeInner(dg, t);
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:2251:41: 0x332ed2b in codegen.llvm.DeclGen.resolveLlvmFunction (zig)
const fn_type = try dg.lowerType(zig_fn_type);
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:3190:46: 0x3331ff9 in codegen.llvm.DeclGen.lowerValue (zig)
return dg.resolveLlvmFunction(fn_decl_index);
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:3963:48: 0x3956191 in codegen.llvm.FuncGen.resolveInst (zig)
const llvm_val = try self.dg.lowerValue(.{ .ty = ty, .val = val });
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:4227:45: 0x37391f8 in codegen.llvm.FuncGen.airCall (zig)
const llvm_fn = try self.resolveInst(pl_op.operand);
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:4117:55: 0x37169b8 in codegen.llvm.FuncGen.genBody (zig)
.call => try self.airCall(inst, .Auto),
^
/home/andy/Downloads/zig/src/codegen/llvm.zig:972:19: 0x3710edd in codegen.llvm.Object.updateFunc (zig)
fg.genBody(air.getMainBody()) catch |err| switch (err) {
^
/home/andy/Downloads/zig/src/link/Elf.zig:2377:74: 0x34cc537 in link.Elf.updateFunc (zig)
if (self.llvm_object) |llvm_object| return llvm_object.updateFunc(module, func, air, liveness);
^
/home/andy/Downloads/zig/src/link.zig:509:77: 0x32e7a3d in link.File.updateFunc (zig)
.elf => return @fieldParentPtr(Elf, "base", base).updateFunc(module, func, air, liveness),
^
/home/andy/Downloads/zig/src/Module.zig:4140:41: 0x32c7d45 in Module.ensureFuncBodyAnalyzed (zig)
mod.comp.bin_file.updateFunc(mod, func, air, liveness) catch |err| switch (err) {
^
/home/andy/Downloads/zig/src/Compilation.zig:2979:42: 0x2ff81aa in Compilation.processOneJob (zig)
module.ensureFuncBodyAnalyzed(func) catch |err| switch (err) {
^
/home/andy/Downloads/zig/src/Compilation.zig:2911:30: 0x2fe1d1d in Compilation.performAllTheWork (zig)
try processOneJob(comp, work_item);
^
/home/andy/Downloads/zig/src/Compilation.zig:2251:31: 0x2fda1f3 in Compilation.update (zig)
try comp.performAllTheWork(main_progress_node);
^
/home/andy/Downloads/zig/src/main.zig:3305:20: 0x2f452bf in updateModule (zig)
try comp.update();
^
/home/andy/Downloads/zig/src/main.zig:2994:17: 0x2f0d085 in buildOutputType (zig)
updateModule(gpa, comp, hook) catch |err| switch (err) {
^
/home/andy/Downloads/zig/src/main.zig:225:31: 0x2ef0fd6 in mainArgs (zig)
return buildOutputType(gpa, arena, args, .zig_test);
^
/home/andy/Downloads/zig/src/main.zig:174:20: 0x2ef0024 in main (zig)
return mainArgs(gpa, arena, args);
^
/home/andy/Downloads/zig/lib/std/start.zig:580:37: 0x2ef28ef in std.start.main (zig)
const result = root.main() catch |err| {
^
error: test...
error: The following command terminated unexpectedly:
/home/andy/Downloads/zig/build-release/stage2/bin/zig test /home/andy/Downloads/zig/test/stage1/c_abi/main.zig /home/andy/Downloads/zig/test/stage1/c_abi/zig-cache/o/d0cfaaa82bdd8732d3090be48e387c1f/cfuncs.o -lc --cache-dir /home/andy/Downloads/zig/test/stage1/c_abi/zig-cache --global-cache-dir /home/andy/.cache/zig --name test --enable-cache
Don't forget to re-enable the test case when fixing this.
Metadata
Metadata
Assignees
Labels
arch-x86_6464-bit x8664-bit x86backend-llvmThe LLVM backend outputs an LLVM IR Module.The LLVM backend outputs an LLVM IR Module.bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behaviorenhancementSolving this issue will likely involve adding new logic or components to the codebase.Solving this issue will likely involve adding new logic or components to the codebase.frontendTokenization, parsing, AstGen, Sema, and Liveness.Tokenization, parsing, AstGen, Sema, and Liveness.