<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif,"EmojiFont","Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">There were no objections to this so far. I assume it means nobody is opposing this new feature.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Just to give a bit more info and a chance for the last feedback. We don't plan to contribute the whole patch but only around 3K lines + tests. The overall changes will be smaller than OpenCL 2.0. And they will mainly
 affect <span>C++ code paths</span> in Sema and CodeGen, but some parsing bits too.
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">The time frame to start this work will hopefully be the beginning of April.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Cheers,</p>
<p style="margin-top:0;margin-bottom:0">Anastasia<br>
</p>
<br>
<div style="color: rgb(0, 0, 0);">
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" color="#000000" face="Calibri, sans-serif"><b>From:</b> cfe-dev <cfe-dev-bounces@lists.llvm.org> on behalf of Anastasia Stulova via cfe-dev <cfe-dev@lists.llvm.org><br>
<b>Sent:</b> 23 February 2018 16:29<br>
<b>To:</b> clang-dev developer list<br>
<b>Cc:</b> nd<br>
<b>Subject:</b> [cfe-dev] A proposal for adding OpenCL C++ support (Spec v2.2)</font>
<div> </div>
</div>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,"EmojiFont","Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<p style="margin-top:0; margin-bottom:0">Hello,</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">A number of developers from the member companies within the Khronos Group are interested to contribute the prototype implementation of OpenCL C++ that is currently located on github and based on version 3.6:</p>
<p style="margin-top:0; margin-bottom:0"><a href="https://github.com/KhronosGroup/SPIR/commit/0cfb6f7533d42ae3398a8574efd8abbdac88ac44" class="x_OWAAutoLink">https://github.com/KhronosGroup/SPIR/commit/0cfb6f7533d42ae3398a8574efd8abbdac88ac44</a><br>
</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">This implementation is compliant to OpenCL v2.2 standard:</p>
<p style="margin-top:0; margin-bottom:0"><a href="https://www.khronos.org/registry/OpenCL/specs/opencl-2.2-cplusplus.pdf" class="x_OWAAutoLink">https://www.khronos.org/registry/OpenCL/specs/opencl-2.2-cplusplus.pdf</a><br>
</p>
<p style="margin-top:0; margin-bottom:0">Similarly to OpenCL C being based on C99, OpenCL C++ support is entirely based on C++14 with a number of extensions (some of which will be shared with OpenCL C) and a few minor restrictions.</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">The plan would be to take small patches from the github repository and perform any necessary rework and clean up before putting up for review. From the OpenCL side, I don't see any issue with this plan as it doesn't
 interfere with any current development I am aware of, and also it would be great to progress to the next OpenCL standard. I just want to check if there are any objections from anyone or things we should be aware of before the start. I'm particularly looking
 for feedback from C++ implementers as there might be some overlap.</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">Additionally, there are two more related threads, which I plan to discuss separately. There is:
</p>
<p style="margin-top:0; margin-bottom:0">(i) standard library support libclcxx:<a href="https://github.com/KhronosGroup/libclcxx." class="x_OWAAutoLink"> https://github.com/KhronosGroup/libclcxx.</a><br>
</p>
<p style="margin-top:0; margin-bottom:0">(ii) and IR generation to SPIRV: <a href="http://lists.llvm.org/pipermail/llvm-dev/2018-February/121317.html" class="x_OWAAutoLink">http://lists.llvm.org/pipermail/llvm-dev/2018-February/121317.html</a></p>
<p style="margin-top:0; margin-bottom:0">that we would like to provide as well, in order to allow Clang to produce an end binary targeting a wider range of architectures directly (not just AMD GPU).
<span style="color:rgb(0,0,0)">We expect that the complete open source solution for OpenCL C++ will increase significantly Clang users and unify our dev</span><span style="color:rgb(0,0,0)">elopment forces i.e. refactoring, bug hunting, etc. The plan would
 be to do similar for OpenCL C too at a later point of time. </span></p>
<span style="color:rgb(255,0,0)"></span>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">Please, contact me if you have any thoughts or comments.<br>
</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">Cheers,</p>
<p style="margin-top:0; margin-bottom:0">Anastasia<br>
</p>
</div>
</div>
</div>
</div>
</body>
</html>