https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110138
--- Comment #1 from Hongyu Wang <wwwhhhyyy333 at gmail dot com> ---
operator+ now calls std::__cxx11::basic_string<char, std::char_traits<char>,
myAlloc_<char> >::get_allocator, and it will call the constructor again after
gimplify
__attribute__((nodiscard))
struct allocator_type std::__cxx11::basic_string<char, std::char_traits<char>,
myAlloc_<char> >::get_allocator (
const struct basic_string * const this)
{
try
{
_1 = std::__cxx11::basic_string<char, std::char_traits<char>,
myAlloc_<char> >::_M_get_allocator (this);
myAlloc_<char>::myAlloc_ (<retval>, _1);
return <retval>;
}
catch
{
<<<eh_must_not_throw (terminate)>>>
}
__builtin_unreachable trap ();
}
Possibly caused by r13-3814-gc93baa93df2d45