https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78188
--- Comment #18 from David Edelsohn <dje at gcc dot gnu.org> --- Changing pass_ipa_comdats::gate to return HAVE_COMDAT_GROUP && optimize; does not experience the tree-vrp.c bootstrap failure and does not generate the numerous additional testsuite failures. There is one additional call to set_comdat_group() in cp/optimize.c, although that never triggered gcc_assert. And the testsuite failures are not ICEs. The call to set_comdat_group() in varasm.c:make_decl_one_only() apparently has some additional effect that allows the additional symbols to appear in libstdc++.