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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits