<div dir="ltr"><div>However, I tried a little test file with /showIncludes just now and you're right, it is picking up Microsoft's intrin.h instead of its own. I guess clang has some kind of mechanism whereby it puts its own header directories at the start of the include path? How is that supposed to work? I don't see any commandline options that obviously refer to it; does it have anything to do with this fragment from cmake.rst (the most relevant thing I could find with a search for 'include path' over the entire directory tree)?</div><div><br></div><div>``LLVM_INCLUDE_DIRS``</div><div>  A list of include paths to directories containing LLVM header files.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 12, 2015 at 3:11 AM, Russell Wallace <span dir="ltr"><<a href="mailto:russell.wallace@gmail.com" target="_blank">russell.wallace@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Makes sense, yeah, trying something in a different environment is usually a good way to find problems. I had indeed moved the renamed clang-cl.exe to a different directory, but when I move it back into its home directory and retry the build, I get the same errors.<div><div class="h5"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 11, 2015 at 11:16 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Thanks for trying the self-host, it's something I do locally and we do have a bot setup for it, but it uses ninja:<div><div><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lab.llvm.org-3A8011_builders_clang-2Dx86-2Dwin2008-2Dselfhost_&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=FUWuoFzAcaLZsMXqzHi8nVDp3pDe_E95t1B0Ti-pzWo&s=wh38d2EcWLf6pxC1HTNVRJgKbx65agMRxx7q2VYZE9Q&e=" target="_blank">http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost/</a><br></div><div>Obviously everyone's setup is slightly different and getting diversity in testing is good.<br></div><div><br></div><div>These undefined symbols are intrinsics that should be taken care of by clang/lib/Headers/Intrin.h, but somehow that isn't being chosen in llvm/lib/Support/Host.cpp. I have a feeling that this line is getting MSVC's builtin header instead of clang's:</div><div><div>#ifdef _MSC_VER</div><div>#include <intrin.h></div><div>#endif</div></div><div>When you rename clang-cl.exe to cl.exe, make sure it's in the same bin directory as clang-cl.exe so that it can find it's resource directory with these builtin headers.</div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Thu, Jun 11, 2015 at 11:31 AM, Russell Wallace <span dir="ltr"><<a href="mailto:russell.wallace@gmail.com" target="_blank">russell.wallace@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div><div dir="ltr"><div>I tried checking out the latest llvm/clang from SVN (as of a few hours ago) and compiling it (clang 3.6.1 doesn't compile 3.7 because it fails a version check, so I repeated the technique of compiling with Microsoft C++ first, then using the resulting clang-cl.exe). It fails with a bunch of error messages along the lines of:</div><div><br></div><div>LLVMSupport.lib(Atomic.obj) : error LNK2019: unresolved external symbol __faststorefence referenced in function "void __cdecl llvm::sys::MemoryFence(void)" (?MemoryFence@sys@llvm@@YAXXZ) [C:\llvm-svn\build\utils\FileCheck\FileCheck.vcxproj]</div><div>LLVMSupport.lib(Host.obj) : error LNK2019: unresolved external symbol _xgetbv referenced in function "class llvm::StringRef __cdecl llvm::sys::getHostCPUName(void)" (?getHostCPUName@sys@llvm@@YA?AVStringRef@2@XZ) [C:\llvm-svn\build\utils\FileCheck\FileCheck.vcxproj]</div><div>LLVMSupport.lib(Host.obj) : error LNK2019: unresolved external symbol __cpuidex referenced in function "class llvm::StringRef __cdecl llvm::sys::getHostCPUName(void)" (?getHostCPUName@sys@llvm@@YA?AVStringRef@2@XZ) [C:\llvm-svn\build\utils\FileCheck\FileCheck.vcxproj]</div><div><br></div><div>Anyone know what the problem is here?</div><div><br></div><div>More generally, is it considered useful to run these sort of tests on the SVN version as we go along, or is it more the case that the SVN version is expected to have bugs and it would be better to wait for a release candidate?</div></div>
<br></div></div>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>