This patch series implements support for coroutines whose frames require alignment.
The standard currently does not specify much about this case AFAICT, so we can do this for now (until P2014 progresses). The new dump was useful for testing, and might be useful to coroutine hackers. This patchset also depends on Iains ramp rework patch, so will be pushed after. Tested on x86_64-pc-linux-gnu. OK for trunk? TIA, have a most lovely evening. Arsen Arsenović (2): c++: Implement a coroutine language debug dump c++/coroutines: handle (new-)extended alignment [PR104177] gcc/c-family/c-pretty-print.cc | 3 +- gcc/coroutine-passes.cc | 8 +- gcc/cp/coroutines.cc | 538 ++++++++++++++++-- gcc/cp/coroutines.h | 2 +- gcc/cp/cp-objcp-common.cc | 2 + gcc/cp/cp-tree.h | 1 + gcc/cp/cxx-pretty-print.cc | 3 +- gcc/dumpfile.cc | 2 +- .../g++.dg/coroutines/frame-alignment-4.C | 35 ++ .../coroutines/torture/frame-alignment-1.C | 73 +++ .../coroutines/torture/frame-alignment-2.C | 101 ++++ .../coroutines/torture/frame-alignment-3.C | 87 +++ 12 files changed, 791 insertions(+), 64 deletions(-) create mode 100644 gcc/testsuite/g++.dg/coroutines/frame-alignment-4.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/frame-alignment-1.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/frame-alignment-2.C create mode 100644 gcc/testsuite/g++.dg/coroutines/torture/frame-alignment-3.C -- 2.46.0