<div dir="ltr">Can you go to the build directory of the build that works (i.e. the normal LLVM/Clang build), open your build.ninja file, find the line for clang/lib/Driver/Compilation.cpp, and it should show you the exact command line.  Compare this command line to the one you're running above that fails.  It might give you a hint about what's going wrong.<br></div><br><div class="gmail_quote">On Mon, Mar 9, 2015 at 4:23 PM Alan Garny <<a href="mailto:agarny@hellix.com">agarny@hellix.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-GB" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Sorry, I am using CMake+JOM or CMake+Ninja, if Ninja is available on the developer’s machine. Either way, it fails in both cases with a message similar to the one I included below (which was obtained using CMake+Ninja).<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Just in case, my (current) CMakeLists.txt file can be found at <a href="https://github.com/opencor/opencor/blob/c4a7eb072713f2649fa51ae506340fd3634b3b70/src/plugins/thirdParty/LLVM/CMakeLists.txt" target="_blank">here</a> (and some other CMake related stuff <a href="https://github.com/opencor/opencor/blob/c4a7eb072713f2649fa51ae506340fd3634b3b70/cmake/common.cmake" target="_blank">here</a>).<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Alan<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt"><div><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Zachary Turner [mailto:<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>] <br><b>Sent:</b> 09 March 2015 23:16<br><b>To:</b> Alan Garny; <a href="mailto:llvmdev@cs.uiuc.edu" target="_blank">llvmdev@cs.uiuc.edu</a><br><b>Subject:</b> Re: [LLVMdev] LLVM 3.6: problems building on Windows using MSVC 2013<u></u><u></u></span></p></div></div></div></div></div><div lang="EN-GB" link="blue" vlink="purple"><div><div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">When you say you build it "as part of your project" what does that mean exactly?  Are you using CMake + ninja?  MSBuild?  Something else?<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On Mon, Mar 9, 2015 at 1:31 PM Alan Garny <<a href="mailto:agarny@hellix.com" target="_blank">agarny@hellix.com</a>> wrote:<u></u><u></u></p><div><div><p class="MsoNormal">Hi,<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">I have been using LLVM+Clang in my project for some time and it has been working just fine up to now (I am currently using version 3.5.1).<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">However, with version 3.6 having just been released, I thought I would give it a try and update my code to use MCJIT rather than the now discontinued JIT. Well, this proved to be a relatively smooth process, and everything is now working fine on Linux and OS X. However, on Windows, I am having problems building LLVM+Clang. Actually, Clang itself, it would seem.<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">I guess it’s worth mentioning that I don’t build LLVM+Clang the ‘normal’ way. Instead, LLVM+Clang is part of my project repository and I build it as part of my project. Now, as mentioned above, I am having problems building version 3.6 on Windows, this using MSVC 2013. I am basically getting things like:<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">---------------------------------------<u></u><u></u></p><p class="MsoNormal">FAILED: C:\PROGRA~2\MICROS~2.0\VC\bin\X86_AM~1\cl.exe   /nologo /TP /DWIN32 /D_WINDOWS  /GR /EHsc /DNDEBUG /MD /O2 /Ob2 /wd4267 /wd4146 /wd4180 /wd4244 /wd4258 /wd4267 /wd4291 /wd4345 /wd4351 /wd4355 /wd4456 /wd4457 /wd4458 /wd4459 /wd4503 /wd4624 /wd4722 /wd4800 /w14062 /we4238 -Isrc\plugins\thirdParty\LLVM -I..\src\plugins\thirdParty\LLVM -I..\src\misc -I..\src\plugins -I..\src\plugins\miscellaneous\Core\src -I..\src\3rdparty\QtSingleApplication\src -I..\src\plugins\thirdParty\LLVM\include -I..\src\plugins\thirdParty\LLVM\lib\Target\X86 -I..\src\plugins\thirdParty\LLVM\src -I..\src\plugins\thirdParty\LLVM\tools\clang\include -IC:\Qt\5.4\msvc2013_64\include -IC:\Qt\5.4\msvc2013_64\include\QtCore -IC:\Qt\5.4\msvc2013_64\mkspecs\win32-msvc2013 /showIncludes -DLLVMPlugin_EXPORTS -DLLVM_PLUGIN -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS /Fosrc\plugins\thirdParty\LLVM\CMakeFiles\LLVMPlugin.dir\tools\clang\lib\Driver\Compilation.cpp.obj /Fdsrc\plugins\thirdParty\LLVM\CMakeFiles\LLVMPlugin.dir\ /FS -c ..\src\plugins\thirdParty\LLVM\tools\clang\lib\Driver\Compilation.cpp<u></u><u></u></p><p class="MsoNormal">C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\xutility(2045) : error C2280: 'std::unique_ptr<clang::driver::Job,std::default_delete<_Ty>> &std::unique_ptr<_Ty,std::default_delete<_Ty>>::operator =(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)' : attempting to reference a deleted function<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            _Ty=clang::driver::Job<u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\memory(1487) : see declaration of 'std::unique_ptr<clang::driver::Job,std::default_delete<_Ty>>::operator ='<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            _Ty=clang::driver::Job<u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\xutility(2066) : see reference to function template instantiation '_OutIt std::_Copy_impl<_InIt,_OutIt>(_InIt,_InIt,_OutIt,std::_Nonscalar_ptr_iterator_tag)' being compiled<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            _OutIt=std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>> *<u></u><u></u></p><p class="MsoNormal">,            _InIt=const std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>> *<u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\xutility(2077) : see reference to function template instantiation '_OutIt std::_Copy_impl<_Iter,std::unique_ptr<clang::driver::Job,std::default_delete<_Ty>>>(_InIt,_InIt,_OutIt)' being compiled<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            _OutIt=std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>> *<u></u><u></u></p><p class="MsoNormal">,            _Iter=const std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>> *<u></u><u></u></p><p class="MsoNormal">,            _Ty=clang::driver::Job<u></u><u></u></p><p class="MsoNormal">,            _InIt=const std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>> *<u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">        ..\src\plugins\thirdParty\LLVM\include\llvm/ADT/SmallVector.h(773) : see reference to function template instantiation '_OutIt std::copy<const std::unique_ptr<clang::driver::Job,std::default_delete<_Ty>>,std::unique_ptr<_Ty,std::default_delete<_Ty>>*>(_InIt,_InIt,_OutIt)' being compiled<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            _OutIt=std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>> *<u></u><u></u></p><p class="MsoNormal">,            _Ty=clang::driver::Job<u></u><u></u></p><p class="MsoNormal">,            _InIt=const std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>> *<u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">        ..\src\plugins\thirdParty\LLVM\include\llvm/ADT/SmallVector.h(761) : while compiling class template member function 'llvm::SmallVectorImpl<T> &llvm::SmallVectorImpl<T>::operator =(const llvm::SmallVectorImpl<T> &)'<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            T=std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>><u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">        ..\src\plugins\thirdParty\LLVM\include\llvm/ADT/SmallVector.h(915) : see reference to function template instantiation 'llvm::SmallVectorImpl<T> &llvm::SmallVectorImpl<T>::operator =(const llvm::SmallVectorImpl<T> &)' being compiled<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            T=std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>><u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">        ..\src\plugins\thirdParty\LLVM\include\llvm/ADT/SmallVector.h(890) : see reference to class template instantiation 'llvm::SmallVectorImpl<T>' being compiled<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            T=std::unique_ptr<clang::driver::Job,std::default_delete<clang::driver::Job>><u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">        ..\src\plugins\thirdParty\LLVM\tools\clang\include\clang/Driver/Job.h(169) : see reference to class template instantiation 'llvm::SmallVector<std::unique_ptr<clang::driver::Job,std::default_delete<_Ty>>,4>' being compiled<u></u><u></u></p><p class="MsoNormal">        with<u></u><u></u></p><p class="MsoNormal">        [<u></u><u></u></p><p class="MsoNormal">            _Ty=clang::driver::Job<u></u><u></u></p><p class="MsoNormal">        ]<u></u><u></u></p><p class="MsoNormal">---------------------------------------<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Now, the error message seems to make sense to me (after having had a quick look at the code), but I am clearly missing something since not only does it all work fine on Linux and OS X, but I was (obviously) also able to build LLVM+Clang the ‘normal’ on Windows. So, what am I missing exactly?...<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Cheers, Alan.<u></u><u></u></p></div></div><p class="MsoNormal">_______________________________________________<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><u></u><u></u></p></div></div></div></div>______________________________<u></u>_________________<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/<u></u>mailman/listinfo/llvmdev</a><br>
</blockquote></div>