<div dir="ltr">Thanks. For the record, LLVM and LLD 4.0.0 build fine with Visual Studio 2017 already.<div><br></div><div>Is this likely something that will be fixed in 4.0.1, or is this a 5.0.0 issue?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 10, 2017 at 5:53 PM, Shoaib Meenai <span dir="ltr"><<a href="mailto:smeenai@fb.com" target="_blank">smeenai@fb.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="m_-1688409972261226790WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">We discussed this on IRC. As far as I know, Visual Studio 2017 isn't fully supported yet (it's being worked on), but VS 2015 should work.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-family:Calibri;color:black">From: </span>
</b><span style="font-family:Calibri;color:black">llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.<wbr>org</a>> on behalf of Andrew Kelley via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Reply-To: </b>Andrew Kelley <<a href="mailto:superjoe30@gmail.com" target="_blank">superjoe30@gmail.com</a>><br>
<b>Date: </b>Monday, April 10, 2017 at 1:34 PM<br>
<b>To: </b>LLVM Dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Subject: </b>[llvm-dev] clang build failures using Visual Studio<u></u><u></u></span></p>
</div><div><div class="h5">
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">Anyone run into this before?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I'm trying to get a Windows native build using Visual Studio of LLVM, Clang, and LLD 4.0.0. So far LLVM built successfully, but I'm getting these cryptic error messages when building Clang:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">  Microsoft (R) Build Engine version 15.1.1012.6693<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  Copyright (C) Microsoft Corporation. All rights reserved.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    ClangDiagnosticsEmitter.cpp<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\xmemory(126): error C2678: binary '*': no operator found which takes a left-hand operand of type 'const llvm::detail::DenseSetImpl<<wbr>ValueT,llvm::DenseMap<ValueT,<wbr>llvm::detail::DenseSetEmpty,<wbr>ValueInfoT,llvm::detail::<wbr>DenseSetPair<ValueT>>,<wbr>ValueInfoT>::Iterator'
 (or there is no acceptable conversion) <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueT=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueInfoT=llvm::DenseMapInfo<<wbr>const llvm::Record *><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    C:\deps\llvm-4.0.0\include\<wbr>llvm/ADT/DenseSet.h(106): note: could be 'const llvm::Record *&llvm::detail::DenseSetImpl<<wbr>ValueT,llvm::DenseMap<ValueT,<wbr>llvm::detail::DenseSetEmpty,<wbr>ValueInfoT,llvm::detail::<wbr>DenseSetPair<ValueT>>,<wbr>ValueInfoT>::Iterator::<wbr>operator
 *(void)'<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueT=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueInfoT=llvm::DenseMapInfo<<wbr>const llvm::Record *><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\xmemory(126): note: while trying to match the argument list '(const llvm::detail::DenseSetImpl<<wbr>ValueT,llvm::DenseMap<ValueT,<wbr>llvm::detail::DenseSetEmpty,<wbr>ValueInfoT,llvm::detail::<wbr>DenseSetPair<ValueT>>,<wbr>ValueInfoT>::Iterator)'<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueT=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueInfoT=llvm::DenseMapInfo<<wbr>const llvm::Record *><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\vector(1859): note: see reference to function template instantiation '_FwdIt **std::_Uninitialized_copy<_<wbr>Iter,const llvm::Record**,std::allocator<<wbr>_Ty>>(_InIt,_InIt,_FwdIt,std::<wbr>_Wrap_alloc<std::allocator<_<wbr>Ty>>
 &)' being compiled<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _FwdIt=const llvm::Record **,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Iter=llvm::detail::<wbr>DenseSetImpl<const llvm::Record *,llvm::DenseMap<const llvm::Record *,llvm::detail::DenseSetEmpty,<wbr>llvm::DenseMapInfo<const llvm::Record *>,llvm::detail::DenseSetPair<<wbr>const llvm::Record *>>,llvm::DenseMapInfo<const
 llvm::Record *>>::Iterator,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Ty=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _InIt=llvm::detail::<wbr>DenseSetImpl<const llvm::Record *,llvm::DenseMap<const llvm::Record *,llvm::detail::DenseSetEmpty,<wbr>llvm::DenseMapInfo<const llvm::Record *>,llvm::detail::DenseSetPair<<wbr>const llvm::Record *>>,llvm::DenseMapInfo<const
 llvm::Record *>>::Iterator<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\vector(779): note: see reference to function template instantiation 'const llvm::Record **std::vector<const llvm::Record *,std::allocator<_Ty>>::_<wbr>Ucopy<_Iter>(_Iter,_Iter,const
 llvm::Record **)' being compiled<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Ty=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Iter=llvm::detail::<wbr>DenseSetImpl<const llvm::Record *,llvm::DenseMap<const llvm::Record *,llvm::detail::DenseSetEmpty,<wbr>llvm::DenseMapInfo<const llvm::Record *>,llvm::detail::DenseSetPair<<wbr>const llvm::Record *>>,llvm::DenseMapInfo<const
 llvm::Record *>>::Iterator<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\vector(779): note: see reference to function template instantiation 'const llvm::Record **std::vector<const llvm::Record *,std::allocator<_Ty>>::_<wbr>Ucopy<_Iter>(_Iter,_Iter,const
 llvm::Record **)' being compiled<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Ty=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Iter=llvm::detail::<wbr>DenseSetImpl<const llvm::Record *,llvm::DenseMap<const llvm::Record *,llvm::detail::DenseSetEmpty,<wbr>llvm::DenseMapInfo<const llvm::Record *>,llvm::detail::DenseSetPair<<wbr>const llvm::Record *>>,llvm::DenseMapInfo<const
 llvm::Record *>>::Iterator<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\vector(794): note: see reference to function template instantiation 'void std::vector<const llvm::Record *,std::allocator<_Ty>>::_<wbr>Range_construct_or_tidy<_Iter><wbr>(_Iter,_Iter,std::forward_<wbr>iterator_tag)'
 being compiled<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Ty=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Iter=llvm::detail::<wbr>DenseSetImpl<const llvm::Record *,llvm::DenseMap<const llvm::Record *,llvm::detail::DenseSetEmpty,<wbr>llvm::DenseMapInfo<const llvm::Record *>,llvm::detail::DenseSetPair<<wbr>const llvm::Record *>>,llvm::DenseMapInfo<const
 llvm::Record *>>::Iterator<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\vector(794): note: see reference to function template instantiation 'void std::vector<const llvm::Record *,std::allocator<_Ty>>::_<wbr>Range_construct_or_tidy<_Iter><wbr>(_Iter,_Iter,std::forward_<wbr>iterator_tag)'
 being compiled<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Ty=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Iter=llvm::detail::<wbr>DenseSetImpl<const llvm::Record *,llvm::DenseMap<const llvm::Record *,llvm::detail::DenseSetEmpty,<wbr>llvm::DenseMapInfo<const llvm::Record *>,llvm::detail::DenseSetPair<<wbr>const llvm::Record *>>,llvm::DenseMapInfo<const
 llvm::Record *>>::Iterator<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    C:\Users\andy\Downloads\cfe-4.<wbr>0.0.src\utils\TableGen\<wbr>ClangDiagnosticsEmitter.cpp(<wbr>1257): note: see reference to function template instantiation 'std::vector<const llvm::Record *,std::allocator<_Ty>>::<wbr>vector<llvm::detail::<wbr>DenseSetImpl<ValueT,llvm::<wbr>DenseMap<ValueT,llvm::detail::<wbr>DenseSetEmpty,ValueInfoT,llvm:<wbr>:detail::DenseSetPair<ValueT>><wbr>,ValueInfoT>::Iterator,void>(_<wbr>Iter,_Iter,const
 std::allocator<_Ty> &)' being compiled<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Ty=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueT=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueInfoT=llvm::DenseMapInfo<<wbr>const llvm::Record *>,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Iter=llvm::detail::<wbr>DenseSetImpl<const llvm::Record *,llvm::DenseMap<const llvm::Record *,llvm::detail::DenseSetEmpty,<wbr>llvm::DenseMapInfo<const llvm::Record *>,llvm::detail::DenseSetPair<<wbr>const llvm::Record *>>,llvm::DenseMapInfo<const
 llvm::Record *>>::Iterator<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    C:\Users\andy\Downloads\cfe-4.<wbr>0.0.src\utils\TableGen\<wbr>ClangDiagnosticsEmitter.cpp(<wbr>1256): note: see reference to function template instantiation 'std::vector<const llvm::Record *,std::allocator<_Ty>>::<wbr>vector<llvm::detail::<wbr>DenseSetImpl<ValueT,llvm::<wbr>DenseMap<ValueT,llvm::detail::<wbr>DenseSetEmpty,ValueInfoT,llvm:<wbr>:detail::DenseSetPair<ValueT>><wbr>,ValueInfoT>::Iterator,void>(_<wbr>Iter,_Iter,const
 std::allocator<_Ty> &)' being compiled<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            [<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Ty=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueT=const llvm::Record *,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                ValueInfoT=llvm::DenseMapInfo<<wbr>const llvm::Record *>,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                _Iter=llvm::detail::<wbr>DenseSetImpl<const llvm::Record *,llvm::DenseMap<const llvm::Record *,llvm::detail::DenseSetEmpty,<wbr>llvm::DenseMapInfo<const llvm::Record *>,llvm::detail::DenseSetPair<<wbr>const llvm::Record *>>,llvm::DenseMapInfo<const
 llvm::Record *>>::Iterator<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\xmemory(126): error C2100: illegal indirection <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">c:\program files (x86)\microsoft visual studio\2017\community\VC\<wbr>Tools\MSVC\14.10.25017\<wbr>include\xmemory(126): error C2062: type 'unknown-type' unexpected <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    gtest.vcxproj -> C:\Users\andy\AppData\Local\<wbr>CMakeBuild\12c242dd-f206-c033-<wbr>afac-74b8717657f2\build\x86-<wbr>Debug\Debug\lib\gtest.lib<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    gtest_main.vcxproj -> C:\Users\andy\AppData\Local\<wbr>CMakeBuild\12c242dd-f206-c033-<wbr>afac-74b8717657f2\build\x86-<wbr>Debug\Debug\lib\gtest_main.lib<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../bin/scan-build.bat<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../libexec/ccc-analyzer.bat<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../libexec/c++-analyzer.bat<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/man/man1/scan-<wbr>build.1<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/scan-build/<wbr>scanview.css<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/scan-build/<wbr>sorttable.js<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../bin/scan-view<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/scan-view/<wbr>ScanView.py<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/scan-view/<wbr>Reporter.py<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/scan-view/<wbr>startfile.py<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/scan-view/<wbr>FileRadar.scpt<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/scan-view/<wbr>GetRadarVersion.scpt<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Generating ../../share/scan-view/<wbr>bugcatcher.ico<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Build failed.<u></u><u></u></p>
</div>
</div>
</div></div></div>
</div>

</blockquote></div><br></div>