-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Open
Labels
bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behaviorfrontendTokenization, parsing, AstGen, Sema, and Liveness.Tokenization, parsing, AstGen, Sema, and Liveness.
Milestone
Description
Zig Version
0.15.0-dev.828+3ce8d19f7
Steps to Reproduce and Observed Behavior
export fn foo() void {
var a: packed struct { n: u65409 = 0 } = .{};
_ = &a;
_ = a.n;
}
thread 32455 panic: integer overflow
/home/user/dev/zig/src/Zcu/PerThread.zig:3493:98: 0x1918796 in ptrType (main.zig)
assert(info.packed_offset.bit_offset + elem_bit_size <= info.packed_offset.host_size * 8);
^
/home/user/dev/zig/src/Air/Legalize.zig:2503:44: 0x2c894bc in addStructFieldPtr (main.zig)
const field_ptr_ty = try pt.ptrType(field_ptr_info);
^
/home/user/dev/zig/src/Air/Legalize.zig:2290:68: 0x27a38db in packedStructFieldValBlockPayload (main.zig)
.operand = (try res_block.addStructFieldPtr(l, agg_alloc_inst.toRef(), orig_extra.field_index)).toRef(),
^
/home/user/dev/zig/src/Air/Legalize.zig:550:116: 0x24037e4 in legalizeBody (main.zig)
.@"packed" => continue :inst l.replaceInst(inst, .block, try l.packedStructFieldValBlockPayload(inst)),
^
anything below u65409
works
Expected Behavior
successful compile
Metadata
Metadata
Assignees
Labels
bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behaviorfrontendTokenization, parsing, AstGen, Sema, and Liveness.Tokenization, parsing, AstGen, Sema, and Liveness.