authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-01-08 06:34:39-05:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-01-08 11:10:28-05:00
log5b5c60f433394c2b703fb8bfb8603395e66b0c5a
treea6db89946ced94d1c35e17450e1d94b3a418157f
parent6a21d18adfe9ae4ff7f4beacbd4faed4d04832b8

Dwarf: fix assertion failure

I'm not entirely sure how this happens.

1 files changed, 2 insertions(+), 1 deletions(-)

src/link/Dwarf.zig+2-1
...@@ -1999,7 +1999,7 @@ pub const WipNav = struct {...@@ -1999,7 +1999,7 @@ pub const WipNav = struct {
1999 errdefer _ = if (!decl_gop.found_existing) dwarf.decls.pop();1999 errdefer _ = if (!decl_gop.found_existing) dwarf.decls.pop();
2000 const was_generic_decl = decl_gop.found_existing and2000 const was_generic_decl = decl_gop.found_existing and
2001 switch (try dwarf.debug_info.declAbbrevCode(wip_nav.unit, decl_gop.value_ptr.*)) {2001 switch (try dwarf.debug_info.declAbbrevCode(wip_nav.unit, decl_gop.value_ptr.*)) {
2002 else => unreachable,2002 .null,
2003 .decl_alias,2003 .decl_alias,
2004 .decl_empty_enum,2004 .decl_empty_enum,
2005 .decl_enum,2005 .decl_enum,
...@@ -2021,6 +2021,7 @@ pub const WipNav = struct {...@@ -2021,6 +2021,7 @@ pub const WipNav = struct {
2021 .generic_decl_const,2021 .generic_decl_const,
2022 .generic_decl_func,2022 .generic_decl_func,
2023 => true,2023 => true,
2024 else => unreachable,
2024 };2025 };
2025 if (parent_type.getCaptures(zcu).len == 0) {2026 if (parent_type.getCaptures(zcu).len == 0) {
2026 if (was_generic_decl) try dwarf.freeCommonEntry(wip_nav.unit, decl_gop.value_ptr.*);2027 if (was_generic_decl) try dwarf.freeCommonEntry(wip_nav.unit, decl_gop.value_ptr.*);