The GCC C++ compiler (any many other C++ compilers as well) provide nonstandard extentions such as
alloca()
for stack based allocation- variable length arrays, as they are part of the C standard
Can these be used inside of C++20 coroutines from a fundamental point of view? Is it possible at all? And if yes how is this implemented?
As far as I understood is that the C++20 coroutines generally create the stack-frame for the coroutine on the first call (i.e. when the promise object is created) and hence need to know the size of the coroutines stack-frame.
However this does not play nicely with alloca or other run-time dynamic stack allocation.
So is it possible and, if yes, how it is implemented? Or what are the implications?