[PATCH] D146187: [docs] Update the status for coroutines
Chuanqi Xu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Mar 19 19:32:40 PDT 2023
ChuanqiXu added a comment.
> Ugh, that does sort of change the calculus for whether we do or don't claim support on Windows. If removing the definition of that macro on Windows causes significant code breakage, that would be a reason we should leave it defined. But do we have evidence of that?
Ah, yes. This is what I want to say. Simply, if we remove the definition for `__cpp_impl_coroutines`, the coroutine header in MS/STL and libstdc++ can't work anymore. For libstdc++, all the coroutine things are only defined if `__cpp_impl_coroutines ` is defined (https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/coroutine#L58-L69). And this is the same for MS/STL: https://github.com/microsoft/STL/blob/5116678ea11245b232a6e43824aad25fb60b9c6e/stl/inc/yvals_core.h#L1587-L1589 and https://github.com/microsoft/STL/blob/be29af22c049774ae93f2c33e4eb5d801e12216c/stl/inc/coroutine#L17-L39. So I can image that many uses of coroutines in Windows may get useless after we undefined the `__cpp_impl_coroutines` macros.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146187/new/
https://reviews.llvm.org/D146187
More information about the cfe-commits
mailing list