<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>(Awesome)<br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 8/4/21 7:55 AM, Ole Marius Strohm
via cfe-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:DB7PR08MB34986B378722086186F52FDD8DF19@DB7PR08MB3498.eurprd08.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style type="text/css" style="display:none;">P {margin-top:0;margin-bottom:0;}</style>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
Hi, all!</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<div><br>
</div>
<div>As OpenCL C 3.0 is getting support in clang there is a wish
to expand C++ for
</div>
<div>OpenCL to be compatible with OpenCL 3.0 as well. Being able
to support OpenCL</div>
<div>3.0 is important in making C++ for OpenCL a viable option
for as many platforms</div>
<div>as possible.</div>
<div><br>
</div>
<div>Arm is therefore proposing adding a new version of C++ for
OpenCL which will</div>
<div>add support for OpenCL 3.0. This version will aim to be
backwards compatible</div>
<div>with OpenCL C 3.0. This will involve a new language
version of C++ for OpenCL,</div>
<div>currently called C++ for OpenCL 2021 in the draft of the
new documentation [1].</div>
<div><br>
</div>
<div>----- Implementation Details -----</div>
<div><br>
</div>
<div>As the biggest changes in OpenCL 3.0 are making some 2.0
features optional, and
</div>
<div>a lot of work as already been done in clang to support
OpenCL C 3.0 [2] there</div>
<div>shouldn't be a need for any big conceptual changes in clang
as a result of this</div>
<div>work. Our hope is to reuse the work done for OpenCL C 3.0
and apply similar</div>
<div>logic to C++ mode.</div>
<div><br>
</div>
<div>Most of the work is expected to be related to making the
'generic' address space</div>
<div>optional. Currently this address space is used for several
implicitly generated</div>
<div>constructors and operators, so these will need to be
adjusted. </div>
<div><br>
</div>
<div>This should still be able to leverage work done for OpenCL
C 3.0. For example</div>
<div>this has already dealt with detecting when the 'generic'
address space is</div>
<div>available. This can then be used to adjust the current C++
for OpenCL</div>
<div>implementation without requiring large scale changes.</div>
<div><br>
</div>
<div>----------------------------------</div>
<div><br>
</div>
<div>As mentioned, the linked documentation is only a draft and
will be revised and
</div>
<div>finalized along with the implementation.</div>
<div><br>
</div>
<div>If you have any thoughts or comments, please make contact.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Ole</div>
<div><br>
</div>
<div>[1] <a
href="https://github.com/KhronosGroup/OpenCL-Docs/pull/616"
id="LPlnk967299" moz-do-not-send="true">
https://github.com/KhronosGroup/OpenCL-Docs/pull/616</a></div>
<span>[2] <a
href="https://lists.llvm.org/pipermail/cfe-dev/2020-September/066883.html"
id="LPlnk879678" moz-do-not-send="true">
https://lists.llvm.org/pipermail/cfe-dev/2020-September/066883.html</a></span><br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
cfe-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>
</pre>
</blockquote>
<div class="moz-signature">-- <br>
<br>
<b>Phil Bouchard</b><br>
Founder & CTO<br>
C.: (819) 328-4743<br>
<br>
<a href="http://www.fornux.com"><img class="logo-main
scale-with-grid"
src="https://fcxxss.fornux.com/wp-content/uploads/2017/10/fornux.png"
data-retina="https://fcxxss.fornux.com/wp-content/uploads/2017/10/fornux.png"
data-height="60" alt="Fornux Logo"></a></div>
</body>
</html>