fix incorrect zir offset loading in sema

This commit is contained in:
Loris Cro 2022-01-21 22:46:12 +01:00
parent d819663543
commit 8c23b81e86

View File

@ -558,14 +558,14 @@ pub const Decl = struct {
if (!decl.has_align) return .none;
assert(decl.zir_decl_index != 0);
const zir = decl.getFileScope().zir;
return @intToEnum(Zir.Inst.Ref, zir.extra[decl.zir_decl_index + 7]);
return @intToEnum(Zir.Inst.Ref, zir.extra[decl.zir_decl_index + 8]);
}
pub fn zirLinksectionRef(decl: Decl) Zir.Inst.Ref {
if (!decl.has_linksection_or_addrspace) return .none;
assert(decl.zir_decl_index != 0);
const zir = decl.getFileScope().zir;
const extra_index = decl.zir_decl_index + 7 + @boolToInt(decl.has_align);
const extra_index = decl.zir_decl_index + 8 + @boolToInt(decl.has_align);
return @intToEnum(Zir.Inst.Ref, zir.extra[extra_index]);
}
@ -573,7 +573,7 @@ pub const Decl = struct {
if (!decl.has_linksection_or_addrspace) return .none;
assert(decl.zir_decl_index != 0);
const zir = decl.getFileScope().zir;
const extra_index = decl.zir_decl_index + 7 + @boolToInt(decl.has_align) + 1;
const extra_index = decl.zir_decl_index + 8 + @boolToInt(decl.has_align) + 1;
return @intToEnum(Zir.Inst.Ref, zir.extra[extra_index]);
}