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

--- Comment #13 from Patrick Palka <ppalka at gcc dot gnu.org> ---
(In reply to Jiu Fu Guo from comment #11)
> (In reply to Patrick Palka from comment #10)
> > 
> > Interestingly that doesn't seem to make a difference.  What seems to matter
> > is whether the constexpr function modifies the CONSTRUCTOR that it returns:
> > 
> > constexpr auto foo() {
> >   struct S { int d; } t = {};
> >   t.d = 0; // doesn't ICE if this line is commented out
> >   return t;
> > }
> > 
> > template<int>
> > int bar() {
> >   constexpr auto t = foo();
> >   return 0;
> > }
> 
> Right, it is weird. Some PRs on Xtreme-* failure (including ICE) were also
> reported before. e.g. PR100052, PR101853, PR99910.  As commented in those
> PRs, these may be random failures, and changes in headers that could expose
> the ICE.
> I'm also wondering if this may be an issue hidden inside somewhere (GC?).

In this case I suspect it's just a bug in the modules code, I opened PR105322
to track it.

Reply via email to