https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109682

--- Comment #3 from Arsen Arsenović <arsen at gcc dot gnu.org> ---
further reduced reproducer (this one should also be fully valid):

#include <coroutine>
#include <new>

struct test
{
  test () {}
  test (int) {}

  struct promise_type {
    test get_return_object () { return {}; }
    //     vvv
    static int get_return_object_on_allocation_failure () { return {}; }
    std::suspend_never initial_suspend () noexcept { return {}; }
    std::suspend_never final_suspend () noexcept { return {}; }
    void return_void () {}
    void unhandled_exception () {}
  };
};

test
f () { co_return; }

int
main ()
{
  f ();
}

Reply via email to