https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118101

--- Comment #2 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> Is valid? In that the specialization of A<T*> (imported via module B) after
> the use in B.

No, I've probably reduced it too far.  But I can make it valid (I believe) by
replacing the static member with a function, like

  template <typename T> struct B { A<T*> f(); };

since this way we haven't needed to instantiate the specialisation yet, and
this still reproduces the ICE.  I might try to find a more obviously correct
reproduction at some point though.

Reply via email to