https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98688
--- Comment #1 from acsawdey at gcc dot gnu.org --- I don't know if this is the right thing to do, but ignoring the opaque type here make the ICE go away. I suspect I need to construct a module test case using vector_pair/vector_quad to really test this though. diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index d2093916c9e..3ec0b04def3 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -8831,6 +8831,10 @@ trees_out::type_node (tree type) } break; + case OPAQUE_TYPE: + /* No additional data. */ + break; + case OFFSET_TYPE: tree_node (TYPE_OFFSET_BASETYPE (type)); break;