<div class="__aliyun_email_body_block"><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">I think the current situation might be the latter one. Now the coroutine is used heavily and broadly in production. </span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">And we didn't see the question for the implementation of semantics. Most of the similar problems come from langugae side.</span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">e.g., why a promise_type couldn't define return_void and return_value and so on.</span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">So I think it is sufficent to say "we have some support but incomplete support".</span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div style="clear:both;">Thanks,</div><div style="clear:both;">Chuanqi</div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><blockquote style="margin-right:0;margin-top:0;margin-bottom:0;"><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">------------------------------------------------------------------</span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">From:Richard Smith <richard@metafoo.co.uk></span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Send Time:2021年12月15日(星期三) 11:16</span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">To:chuanqi.xcq <yedeng.yd@linux.alibaba.com></span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Cc:lewissbaker <lewissbaker@gmail.com>; clang developer list <cfe-dev@lists.llvm.org></span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Subject:Re: [cfe-dev] Is it the time to mark coroutine status as green in cxx_status page?</span></div><div style="clear:both;"><span style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div ><div >On Tue, 14 Dec 2021 at 19:01, chuanqi.xcq via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br ></div><div class="gmail_quote"><div ><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Hi Richard,</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"> Thank you for telling the whole process to mark a language feature done. Although it seems hard, I know how to make it now.</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"> And a bad news is that I defined the feature test macro `__cpp_impl_coroutine` previously when I move the coroutine components out of experimental namespace... </span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><span class=" __aliyun_node_has_color __aliyun_node_has_bgcolor" style="color:#000000;font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;font-style:normal;font-variant-caps:normal;font-weight:normal;text-align:start;text-indent:.0px;text-transform:none;background-color:#ffffff;text-decoration:none;float:none;display:inline;">The intention why I introduce this is that I want to make libcxx known if the compiler is new enough to search coroutine components in std namespace.</span></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Do you think we should undefine the macro in another patch? </span></div></div><div ><br ></div><div >If we're not confident that we're done with the implementation, then yes, we should urgently stop defining the macro to the value specified in the standard. If you want to define it as, say, 1 in the interim, to indicate that we have some support but incomplete support, that's probably OK.</div><div > </div><div ><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Thanks,</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Chuanqi</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">------------------------------------------------------------------</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">From:Richard Smith <<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Send Time:2021年12月15日(星期三) 10:45</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">To:chuanqi.xcq <<a href="mailto:yedeng.yd@linux.alibaba.com" target="_blank">yedeng.yd@linux.alibaba.com</a>></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Cc:clang developer list <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>; lewissbaker <<a href="mailto:lewissbaker@gmail.com" target="_blank">lewissbaker@gmail.com</a>></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Subject:Re: [cfe-dev] Is it the time to mark coroutine status as green in cxx_status page?</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div ><div >This feature is marked as partial, in part, because we don't know what's missing. We implemented against a moving target (the C++ Coroutines TS and evolving work towards the final standard feature), and there's no guarantee we didn't miss changes along the way. So, the major piece of work we're missing here is: someone needs to go through the sections on coroutines in the C++ standard, and make sure that all the work listed there has been implemented and is tested. Someone should also go through all the open bugs on coroutines and see which ones are sufficiently important that we should not claim conformance until we address them. That'll either result in a todo list of the remaining items, or a conclusion that we are in fact done.</div><div ><br ></div><div >Once we're done, we'll need to update our feature test macro to match; then we can mark it as done on the status page.</div></div><br ><div class="gmail_quote"><div class="gmail_attr">On Mon, 13 Dec 2021 at 18:55, chuanqi.xcq via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br ></div><div ><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Hi,</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"> I noticed that the status of coroutine in cxx_status page is partial previously: <a href="https://clang.llvm.org/cxx_status.html" target="_blank">https://clang.llvm.org/cxx_status.html</a>.</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"> 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</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">to move coroutine out of the experimental namespace before and implement the semantics of throwing unhandled_exception()</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">suggested by Lewis.</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"> So I sent <a href="https://reviews.llvm.org/D115692" target="_blank">https://reviews.llvm.org/D115692</a> to mark coroutine as done. I want to ask if there is any blocking issue to do this?</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">I would love to try to fix any inconsistency.</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;"><br ></span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Thanks,</span></div><div style="clear:both;"><span class=" __aliyun_node_has_color" style="font-family:Tahoma,Arial,STHeiti,SimSun;font-size:14.0px;color:#000000;">Chuanqi</span></div></div>_______________________________________________<br >
cfe-dev mailing list<br ><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br ><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br ></div><div ><br ></div></div>_______________________________________________<br >
cfe-dev mailing list<br ><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br ><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br ></div></div></blockquote><div ><br ></div></div>