<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">+cc cfe-users back;<br></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Nov 8, 2018 at 10:20 PM KOLANICH <<a href="mailto:kolan_n@mail.ru">kolan_n@mail.ru</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">2018 11 7 23:25:38 UTC, Artem Belevich <<a href="mailto:tra@google.com" target="_blank">tra@google.com</a>> пишет:<br>
>This may be same/similar to <a href="https://bugs.llvm.org/show_bug.cgi?id=38811" rel="noreferrer" target="_blank">https://bugs.llvm.org/show_bug.cgi?id=38811</a><br>
><br>
>Basically, there's no owner for CUDA support on windows. Someone needs<br>
>to<br>
>figure out why/how CUDA includes behave differently under mingw and<br>
>figure<br>
>out how to work around that in the CUDA wrapper headers in clang.<br>
><br>
><br>
>On Fri, Nov 2, 2018 at 2:23 PM KOLANICH via cfe-users <<br>
><a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a>> wrote:<br>
><br>
>> Hello everybody.<br>
>><br>
>> Could anyone clarify how to use this cuda target (-std=c++11 -x cuda)<br>
>with<br>
>> MinGW stdlib?<br>
>><br>
>> I mean I get errors<br>
>><br>
>><br>
><censored2>\LLVM-7.0.0-win32\lib\clang\7.0.0\include\cuda_wrappers\new:41:12:<br>
>> error: use of undeclared identifier 'malloc' return ::malloc(size);<br>
>><br>
><censored2>\LLVM-7.0.0-win32\lib\clang\7.0.0\include\cuda_wrappers\new:58:7:<br>
>> error: no type named 'free' in the global namespace ::free(ptr);<br>
>><br>
>> and I wonder what I should do to fix them.<br>
>> _______________________________________________<br>
>> cfe-users mailing list<br>
>> <a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users</a><br>
>><br>
<br>
Thank you for the suggestion. But this doesn't clarify the strange syntax used in the mentioned lines. </blockquote><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">You need to look at the preprocessed output in order to see what is it that clang is complaining about.</div></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I googled a bit and haven't found anything clarifying, but there are some hints suggesting that it may be specific to Visual Studio.<br></blockquote><div> </div><div><div class="gmail_default" style="font-family:verdana,sans-serif">It's quite likely. Clang's wrappers for C++ standard library are fairly specific to particular library. AFAICT we never even tried to make it work with whatever VC uses.</div></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
P.S. I don't use CUDA headers </blockquote><div><span class="gmail_default" style="font-family:verdana,sans-serif">You actually do. With  "</span>-x cuda<span class="gmail_default" style="font-family:verdana,sans-serif">" clang pre-includes ton of CUDA headers (same as nvcc) and adds extra include search paths.</span><br></div><div><span class="gmail_default" style="font-family:verdana,sans-serif">If you do not want to pre-include any CUDA headers, then you need to pass -nocudainc option.</span></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">- I have AMD GPU and there is a CUDA impl for any OpenCL-capable device having own headers, which may be far more compatible that the ones provided by CUDA. </blockquote><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">Interesting. Can you tell me more about this CUDA-over-OpenCL project?</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The problem I encounter in the headers shipped with CLang, it seems they depend on something missing in MinGW headers.<br>
</blockquote></div><div dir="ltr"><br></div><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Those headers are only intended to make clang work with NVIDIA's CUDA SDK on linux. MinGW + a project that provides alternative CUDA headers is unlikely to work as is. -nocudainc should get clang's headers out of your way, but it will be up to you to provide the equivalent.</div></div><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">Good luck,</div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">--Artem Belevich</div></div></div></div>