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.