Clang 17 will land with unaddressed coroutine bugs, see
- https://github.com/llvm/llvm-project/issues/58459
- https://github.com/llvm/llvm-project/issues/56301
- https://github.com/llvm/llvm-project/issues/57638
- https://github.com/llvm/llvm-project/issues/63818
It would be useful to have a way to use other C++20, but guarantee
coroutines are not used. This patch achieves it with a warning that
fires on co_await, co_return and co_yield.
The new warning is -Wpre-c++20-compat-coroutines, which is also
enabled with -Wpre-c++20-compat-pedantic.
Note to self: this is wrong and should be removed.