<div dir="ltr">This looks like skew between the compiler headers and the compiler. Both those builtins were added in the November / October time frame, so an old clang wouldn't know about them.<div><br></div><div>Are you sure you made a symlink from cl.exe to clang-cl.exe and not a copy? Check if "<span style="font-size:12.8px">D:\dev\private\llvm-trunk\out\</span><span style="font-size:12.8px">reldbg\bin\cl.exe --version" and "</span><span style="font-size:12.8px">D:\dev\private\llvm-trunk\out\</span><span style="font-size:12.8px">reldbg\bin\clang.exe --version" agree.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Dec 13, 2015 at 9:42 PM, Kim Gräsman <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I'm trying to use clang-cl on Windows to be able to use ASAN. The<br>
build system I'm using is a little wonky, so I worked around it by<br>
putting the Clang build output dir in the executable search path, and<br>
creating a link from cl.exe -> clang-cl.exe there.<br>
<br>
So far, so good -- clang-cl is compiling the code when I build from<br>
Visual Studio.<br>
<br>
But as soon as it hits an <ostream> include, I get build errors from<br>
Clang's intrinsics headers, e.g.:<br>
<br>
1>  In file included from C:\project\t.cpp:1:<br>
1>  In file included from C:\project\t.h:5:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\ostream:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\ios:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xlocnum:10:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\streambuf:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xiosbase:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xlocale:8:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\stdexcept:7:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xstring:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xmemory0:942:<br>
1>  In file included from<br>
D:\dev\private\llvm-trunk\out\reldbg\bin\..\lib\clang\3.8.0\include\intrin.h:34:<br>
1>  In file included from<br>
D:\dev\private\llvm-trunk\out\reldbg\bin\..\lib\clang\3.8.0\include\x86intrin.h:29:<br>
1>  In file included from<br>
D:\dev\private\llvm-trunk\out\reldbg\bin\..\lib\clang\3.8.0\include\immintrin.h:31:<br>
1>D:\dev\private\llvm-trunk\out\reldbg\bin\..\lib\clang\3.8.0\include\emmintrin.h(1484,3):<br>
error : use of undeclared identifier '__builtin_ia32_pause'<br>
1>    __builtin_ia32_pause();<br>
1>    ^<br>
<br>
1>  In file included from C:\project\t.cpp:1:<br>
1>  In file included from C:\project\t.h:5:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\ostream:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\ios:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xlocnum:10:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\streambuf:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xiosbase:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xlocale:8:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\stdexcept:7:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xstring:6:<br>
1>  In file included from C:\Program Files (x86)\Microsoft Visual<br>
Studio 11.0\VC\include\xmemory0:942:<br>
1>  In file included from<br>
D:\dev\private\llvm-trunk\out\reldbg\bin\..\lib\clang\3.8.0\include\intrin.h:34:<br>
1>  In file included from<br>
D:\dev\private\llvm-trunk\out\reldbg\bin\..\lib\clang\3.8.0\include\x86intrin.h:29:<br>
1>  In file included from<br>
D:\dev\private\llvm-trunk\out\reldbg\bin\..\lib\clang\3.8.0\include\immintrin.h:37:<br>
1>D:\dev\private\llvm-trunk\out\reldbg\bin\..\lib\clang\3.8.0\include\smmintrin.h(146,45):<br>
error : cannot initialize a parameter of type<br>
'__attribute__((__vector_size__(2 * sizeof(long long)))) long long *'<br>
with an rvalue of type 'const __v2di *'<br>
1>    return (__m128i) __builtin_ia32_movntdqa ((const __v2di *) __V);<br>
1>                                              ^~~~~~~~~~~~~~~~~~~~<br>
<br>
Did I miss anything here? I'm not telling clang-cl anything about<br>
target, I did try passing various /arch: arguments without any<br>
success.<br>
<br>
Thanks for any ideas!<br>
<br>
- Kim<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>