[cfe-dev] Is it the time to mark coroutine status as green in cxx_status page?

Aaron Ballman via cfe-dev cfe-dev at lists.llvm.org
Tue Dec 14 09:42:44 PST 2021


On Tue, Dec 14, 2021 at 12:38 PM James Y Knight via cfe-dev
<cfe-dev at lists.llvm.org> wrote:
>
> There hasn't been a resolution for the issue where coroutine-lowering runs optimizations passes before splitting, which breaks thread_local and __attribute__((const)) functions (affecting e.g. pthread_self() and errno). That's definitely a critical issue which must be resolved before coroutines can be reasonably called "done".
>
> See thread "[llvm-dev] [RFC] Coroutine and pthread_self" thread from a year ago, e.g. https://lists.llvm.org/pipermail/llvm-dev/2020-December/147325.html for the end/summary of the conversation. (Or, starting at https://lists.llvm.org/pipermail/llvm-dev/2020-November/146766.html and https://lists.llvm.org/pipermail/llvm-dev/2020-December/147012.html)
>
> Looks like there's a lot of open bugs about coroutines, https://github.com/llvm/llvm-project/issues?q=is%3Aissue+is%3Aopen+coroutine ...might be worth going through all of them...
> But, just cherry-picking a few about the above problem:
> https://github.com/llvm/llvm-project/issues/47179 (with thread_local)
> https://github.com/llvm/llvm-project/issues/47177 (with pthread_self)
> https://github.com/llvm/llvm-project/issues/49257 (with errno)

Btw, when looking at "have we completed support for this proposal"
kind of questions and deciding we still have partial support, it would
be greatly appreciated if you could update the cxx_status (or
c_status) page to include rationale as to *why* we've marked something
as only partially supported. This is something we've only started
doing recently, but it helps users to know what level of support there
is (roughly) for a feature and it also helps maintainers understand
what's left to be fixed before claiming full support.

e.g. see P0857R0 or P1073R3 on https://clang.llvm.org/cxx_status.html

~Aaron

>
>
> On Mon, Dec 13, 2021 at 9:55 PM chuanqi.xcq via cfe-dev <cfe-dev at lists.llvm.org> wrote:
>>
>> Hi,
>>
>>    I noticed that the status of coroutine in cxx_status page is partial previously: https://clang.llvm.org/cxx_status.html.
>>    This looks weird to me since coroutine is used broadly and stably in practice and I want to mark it as green. So I tried
>> to move coroutine out of the experimental namespace before and implement the semantics of throwing unhandled_exception()
>> suggested by Lewis.
>>    So I sent https://reviews.llvm.org/D115692 to mark coroutine as done. I want to ask if there is any blocking issue to do this?
>> I would love to try to fix any inconsistency.
>>
>> Thanks,
>> Chuanqi
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev


More information about the cfe-dev mailing list