<div dir="ltr"><div>FWIW, as a complete outsider, as a complete non-user of OpenCL (but a heavy user of C++),  I don't see why a new filename extension is a good thing. In the C++ world we've already had to deal with "same extension different language" for many years — you have a file named test.cpp, but you must still tell the compiler what language it's written in:</div><div>- via the driver name, e.g. clang vs. clang++</div><div>- via the -std= option, e.g. -std=c++03 vs. -std=c++20</div><div>The compiler generally can't guess just from the filename.</div><div>Is C++-with-OpenCL really so different from the situation with C++ today?</div><div>Is there any appetite to create a driver alias such as "clangcl", analogous to what we do today with "clang++"?</div><div><br></div><div>my very small $.02,</div><div>–Arthur</div><div><br></div><div dir="ltr"><br></div><div dir="ltr">On Tue, Feb 16, 2021 at 12:39 PM Andrzej Warzynski via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Interesting! :)<br>
<br>
IMHO both:<br>
.cxxcl/.cppcl<br>
and<br>
.clcxx/.clcpp<br>
make it clear what the files contain. +1 from me for either of these (or <br>
both).<br>
<br>
Thank you for working on this Anastasia!<br>
<br>
-Andrzej<br>
<br>
On 16/02/2021 17:12, Anastasia Stulova wrote:<br>
> I am not aware of non-clang implementations of OpenCL kernel language<br>
> parsing. There are some forks of clang customizing the default behaviour<br>
> though. But I am not aware of any customizing that specific functionality.<br>
> <br>
> <br>
> ------------------------------------------------------------------------<br>
> *From:* cfe-dev <<a href="mailto:cfe-dev-bounces@lists.llvm.org" target="_blank">cfe-dev-bounces@lists.llvm.org</a>> on behalf of Andrzej <br>
> Warzynski via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
> *Sent:* 16 February 2021 16:42<br>
> *To:* <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
> *Subject:* Re: [cfe-dev] [RFC] New file extension for compiling C++ for <br>
> OpenCL sources<br>
> Is there any prior art? As in, what other compilers do? Or is Clang the<br>
> precursor here?<br>
> <br>
> -Andrzej<br>
> <br>
> On 16/02/2021 16:27, MLJ1991 via cfe-dev wrote:<br>
>> That seems like a good compromise<br>
>> <br>
>>> On Feb 16, 2021, at 8:26 AM, Anastasia Stulova <br>
>>> <<a href="mailto:Anastasia.Stulova@arm.com" target="_blank">Anastasia.Stulova@arm.com</a> <mailto:<a href="mailto:Anastasia.Stulova@arm.com" target="_blank">Anastasia.Stulova@arm.com</a> <mailto:<a href="mailto:Anastasia.Stulova@arm.com" target="_blank">Anastasia.Stulova@arm.com</a>>>> wrote:<br>
>>><br>
>>> Thanks! I see, I think .cl was meant to represent Compute Language as <br>
>>> in OpenCL, I would somehow find it better if we don't split cl... I <br>
>>> think that "cl" indicates more intuitively that it is OpenCL specific <br>
>>> file. We could however use cppcl?<br>
>>><br>
>>> ------------------------------------------------------------------------<br>
>>> *From:*MLJ1991 <<a href="mailto:marcusljohnson1991@gmail.com" target="_blank">marcusljohnson1991@gmail.com</a> <br>
>>> <mailto:<a href="mailto:marcusljohnson1991@gmail.com" target="_blank">marcusljohnson1991@gmail.com</a> <mailto:<a href="mailto:marcusljohnson1991@gmail.com" target="_blank">marcusljohnson1991@gmail.com</a>>>><br>
>>> *Sent:*16 February 2021 16:08<br>
>>> *To:*Anastasia Stulova <<a href="mailto:Anastasia.Stulova@arm.com" target="_blank">Anastasia.Stulova@arm.com</a> <br>
>>> <mailto:<a href="mailto:Anastasia.Stulova@arm.com" target="_blank">Anastasia.Stulova@arm.com</a> <mailto:<a href="mailto:Anastasia.Stulova@arm.com" target="_blank">Anastasia.Stulova@arm.com</a>>>><br>
>>> *Cc:*clang developer list <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <br>
>>> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>>>; nd <br>
> <<a href="mailto:nd@arm.com" target="_blank">nd@arm.com</a> <mailto:<a href="mailto:nd@arm.com" target="_blank">nd@arm.com</a> <mailto:<a href="mailto:nd@arm.com" target="_blank">nd@arm.com</a>>>>;<br>
>>> Sven Van Haastregt <<a href="mailto:Sven.VanHaastregt@arm.com" target="_blank">Sven.VanHaastregt@arm.com</a> <br>
>>> <mailto:<a href="mailto:Sven.VanHaastregt@arm.com" target="_blank">Sven.VanHaastregt@arm.com</a> <mailto:<a href="mailto:Sven.VanHaastregt@arm.com" target="_blank">Sven.VanHaastregt@arm.com</a>>>><br>
>>> *Subject:*Re: [cfe-dev] [RFC] New file extension for compiling C++ for <br>
>>> OpenCL sources<br>
>>> I mean, if .cl is the OpenCL C extension, logically the C++ extension <br>
>>> should be .cxxl or .cppl<br>
>>><br>
>>>> On Feb 16, 2021, at 7:41 AM, Anastasia Stulova via cfe-dev <br>
>>>> <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>>> wrote:<br>
>>>><br>
>>>> Hello,<br>
>>>><br>
>>>> Up to now, we have used the same file extension for OpenCL C and C++ <br>
>>>> for OpenCL<br>
>>>> (<a href="https://clang.llvm.org/docs/UsersManual.html#cxx-for-opencl" rel="noreferrer" target="_blank">https://clang.llvm.org/docs/UsersManual.html#cxx-for-opencl</a><br>
>>>> <<a href="https://clang.llvm.org/docs/UsersManual.html#cxx-for-opencl" rel="noreferrer" target="_blank">https://clang.llvm.org/docs/UsersManual.html#cxx-for-opencl</a> <br>
> <<a href="https://clang.llvm.org/docs/UsersManual.html#cxx-for-opencl" rel="noreferrer" target="_blank">https://clang.llvm.org/docs/UsersManual.html#cxx-for-opencl</a>>>). But<br>
>>>> to keep<br>
>>>> consistency with the clang driver interface, it makes more sense that <br>
>>>> C++ for OpenCL<br>
>>>> has a different extension from OpenCL C. Mirroring C and C++ it would <br>
>>>> be logical to<br>
>>>> support the following:<br>
>>>><br>
>>>> .cl - OpenCL C source file<br>
>>>> .clcpp - C++ for OpenCL source file<br>
>>>><br>
>>>> I would like to share the review that adds a new file extension for <br>
>>>> C++ for OpenCL with<br>
>>>> a wider audiencehttps://<a href="http://reviews.llvm.org/D96771" rel="noreferrer" target="_blank">reviews.llvm.org/D96771</a> <br>
>>>> <<a href="https://reviews.llvm.org/D96771" rel="noreferrer" target="_blank">https://reviews.llvm.org/D96771</a> <<a href="https://reviews.llvm.org/D96771" rel="noreferrer" target="_blank">https://reviews.llvm.org/D96771</a>>>. Feel <br>
> free to provide us any feedback<br>
>>>> regarding the direction or implementation details.<br>
>>>><br>
>>>> Kind regards,<br>
>>>> Anastasia<br>
>>>> _______________________________________________<br>
>>>> cfe-dev mailing list<br>
>>>> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<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" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a> <br>
> <<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>><br>
>>>> <<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a> <br>
> <<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>>><br>
>> <br>
>> <br>
>> _______________________________________________<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" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a> <br>
> <<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>><br>
>> <br>
> _______________________________________________<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" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a> <br>
> <<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>><br>
_______________________________________________<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" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div>