https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79821
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- If you up from the ICE case up to gt_pch_nx_die_struct frame, it would be interesting if you can figure out what x is would be print_die (x, stderr) E.g. in void gt_pch_nx (struct dw_attr_struct& x_r ATTRIBUTE_UNUSED) there are several cases that work with _S: case dw_val_class_vec: gt_pch_n_S ((*x).dw_attr_val.v.val_vec.array); break; ... case dw_val_class_lbl_id: gt_pch_n_S ((*x).dw_attr_val.v.val_lbl_id); break; ... case dw_val_class_vms_delta: gt_pch_n_S ((*x).dw_attr_val.v.val_vms_delta.lbl1); gt_pch_n_S ((*x).dw_attr_val.v.val_vms_delta.lbl2); break; I hope vms_delta is not something you see, it would be interesting to know what kind of attribute it is. For val_lbl_id we strangely use xstrdup rather than say ggc_strdup, but it would be really weird if the labels appeared during PCH streaming.