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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[diagnostic] basic.align#9  |coroutine frame is not
                   |should emit diagnostic for  |being allocated with the
                   |unsupported alignas         |correct alignment

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The problem is GCC produces:

  _1 = .CO_FRAME (6144, _Coro_frameptr);
  _Coro_frameptr = std::promise_base_alloc<void>::operator new (_1);

But also does not use

std::promise_base_alloc<void>::operator new (std::size_t size, std::align_val_t
align);

There could also be a Defect in the C++ standard when it comes to coroutines
where it misses out on overaligned types on the stack.
Someone who how more knowledge on that should be able to answer the question.

Reply via email to