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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |iains at gcc dot gnu.org
             Status|WAITING                     |NEW

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Thanks, reduced to:

cat preprocessed.cpp
namespace std {
template <typename> using remove_reference_t = int;
template <typename _Result> struct coroutine_traits : _Result {};
template <typename = void> struct coroutine_handle {
  operator coroutine_handle<>();
};
struct suspend_always {
  bool await_ready() noexcept;
  void await_suspend(coroutine_handle<>) noexcept;
  void await_resume() noexcept;
};
} // namespace std
struct generator_promise {
  void get_return_object();
  std::suspend_always initial_suspend();
  std::suspend_always final_suspend() noexcept;
  std::suspend_always yield_value(std::remove_reference_t<int>);
  void unhandled_exception();
};
struct generator {
  using promise_type = generator_promise;
};
void setjmp(int);
int foo_env;
generator foo() {
  setjmp(foo_env);
  co_yield 1;
}

Reply via email to