https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113083
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:fdf9df9d55802e1d8ff0bd14585ea61b2bb9d798 commit r14-9158-gfdf9df9d55802e1d8ff0bd14585ea61b2bb9d798 Author: Jakub Jelinek <ja...@redhat.com> Date: Fri Feb 23 18:55:12 2024 +0100 c++: Fix ICE due to folding a call to constructor on cdtor_returns_this arches (aka arm32) [PR113083] When targetm.cxx.cdtor_returns_this () (aka on arm32 TARGET_AAPCS_BASED) constructor is supposed to return this pointer, but when we cp_fold such a call, we don't take that into account and just INIT_EXPR the object, so we can later ICE during gimplification, because the expression doesn't have the right type. 2024-02-23 Jakub Jelinek <ja...@redhat.com> PR c++/113083 * cp-gimplify.cc (cp_fold): For targetm.cxx.cdtor_returns_this () wrap r into a COMPOUND_EXPR and return folded CALL_EXPR_ARG (x, 0). * g++.dg/cpp0x/constexpr-113083.C: New test.