https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69513
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- This means the DIE in question was created too late or figured unreachable. case dw_val_class_die_ref: if (AT_ref_external (a)) ... else { gcc_assert (AT_ref (a)->die_offset); dw2_asm_output_data (DWARF_OFFSET_SIZE, AT_ref (a)->die_offset, "%s", name); both 'die' and AT_ref (a) would be interesting to look at.