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.