https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92600
--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Well, because the source files differs, the comdat group differs and the loosing one has fewer symbols in it. So we end up keeping some symbols from the other comdat group that happens to have same name. The compilation is bound to fail, so I guess question is how best to silence the ICE. I suppose we may get around by dissoling comdat groups of all UNDEF symbols