<div dir="ltr">That is an actually good mental model to treat coroutines as control manipulation such as goto/longjmp. Could you please refer to where OpenMP specification says about them?<div><br></div><div>I wrote a few simple code with coroutines in a canonical loop form and ended up with a segmentation fault somewhere in outlined code. So I was wondering if there is any plan to incorporate them.</div><div><br></div><div>Thanks,</div><div>Yongkee</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 11, 2019 at 11:00 AM Jeff Hammond <<a href="mailto:jeff.science@gmail.com">jeff.science@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">The OpenMP specification does define interoperability with any other threading model.  Implementations may provide interoperability of some variants, which is derived from the use of OS threads (e.g. POSIX threads) as the foundation for OpenMP and other models.<div><br></div><div>If your use of coroutines is completely distinct from OpenMP, it is possible that things will not break, but I can imagine many thinks could go wrong if you try to use them together.</div><div><br></div><div>One possible way to reason about interoperability is to treat coroutines as structure goto and see what the OpenMP specification says about goto/longjmp, but this is at best a necessary but insufficient to understand the interaction of coroutines and OpenMP.<br><div><div><br></div><div>Jeff</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Feb 9, 2019 at 12:03 AM yongkee kwon via Openmp-dev <<a href="mailto:openmp-dev@lists.llvm.org" target="_blank">openmp-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi, <div><br></div><div>Is the latest runtime and compiler for OpenMP interoperable with C++ coroutine TS? For example, what if I have a coroutine along with work-sharing directives?</div><div><br></div><div>I remember there was a discussion in OpenMP Interoperability language subcommittee and I'd like to ask about the current status for Interoperability with C++ coroutine TS.</div><div><br></div><div>Thanks,</div><div>Yongkee</div></div></div></div>
_______________________________________________<br>
Openmp-dev mailing list<br>
<a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-6072491820033617413gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</blockquote></div>