https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111075
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I can reproduce with a cross, doesn't ICE with -Os -fno-elide-constructors, on x86_64-linux doesn't ICE with/without -Os -f{,no-}elide-constructors. The ICE is on 3025 /* We used to shortcut trivial constructor/op= here, but nowadays 3026 we can only get a trivial function here with -fno-elide-constructors. */ 3027 gcc_checking_assert (!trivial_fn_p (fun) 3028 || !flag_elide_constructors 3029 /* We don't elide constructors when processing 3030 a noexcept-expression. */ 3031 || cp_noexcept_operand); where fun is X::X(X const&) and is trivial.