<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hi,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I am trying to compile LLVM 5.0.0 from source on Windows 10 with Visual Studio 14.0 (2015). </p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I used the following cmake flags:</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>CMAKEOPTIONS += -D PYTHON_EXECUTABLE:PATH=$(PYTHON_PATH)/bin/python</div>
<div>CMAKEOPTIONS += -D LLVM_ENABLE_TERMINFO=0</div>
<div>CMAKEOPTIONS += -D LLVM_ENABLE_EH=1</div>
<div>CMAKEOPTIONS += -D LLVM_ENABLE_RTTI=1</div>
<div><span style="font-size: 12pt;">CMAKEOPTIONS += -D LLVM_ENABLE_ASSERTIONS:BOOL=ON -D LLVM_ABI_BREAKING_CHECKS:STRING="FORCE_OFF"</span><br>
</div>
<div><br>
</div>
The compilation fails with:
<p style="margin-top:0;margin-bottom:0"></p>
<div>Severity<span class="Apple-tab-span" style="white-space:pre"> </span>Code<span class="Apple-tab-span" style="white-space:pre">
</span>Description<span class="Apple-tab-span" style="white-space:pre"> </span>Project<span class="Apple-tab-span" style="white-space:pre">
</span>File<span class="Apple-tab-span" style="white-space:pre"> </span>Line<span class="Apple-tab-span" style="white-space:pre">
</span>Suppression State</div>
<div>Error<span class="Apple-tab-span" style="white-space:pre"> </span>C2039<span class="Apple-tab-span" style="white-space:pre">
</span>'iterator_facade_base<llvm::BasicBlock::phi_iterator_impl<llvm::PHINode const ,llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction,0,0,void>,0,1> >,std::forward_iterator_tag,llvm::PHINode const ,__int64,llvm::PHINode const *,llvm::PHINode
 const &>': is not a member of 'llvm::BasicBlock::phi_iterator_impl<const llvm::PHINode,llvm::BasicBlock::const_iterator>' (compiling source file S:\authama\3p-tmw\3p\derived\win64\LLVM5\llvm-debug\lib\Target\AMDGPU\Utils\AMDGPUBaseInfo.cpp)<span class="Apple-tab-span" style="white-space:pre">
</span>LLVMAMDGPUUtils<span class="Apple-tab-span" style="white-space:pre"> </span>
s:\authama\3p-tmw\3p\derived\win64\llvm5\llvm-debug\include\llvm\ir\basicblock.h<span class="Apple-tab-span" style="white-space:pre">
</span>294<span class="Apple-tab-span" style="white-space:pre"> </span></div>
<div><br>
</div>
<div>Which points to:</div>
<div><br>
</div>
<div>
<div>    290     bool operator==(const phi_iterator_impl &Arg) const { return PN == Arg.PN; }</div>
<div>    291 </div>
<div>    292     PHINodeT &operator*() const { return *PN; }</div>
<div>    293 </div>
<div>    294     using phi_iterator_impl::iterator_facade_base::operator++;</div>
<div>    295     phi_iterator_impl &operator++() {</div>
<div>    296       assert(PN && "Cannot increment the end iterator!");</div>
<div>    297       PN = dyn_cast<PHINodeT>(std::next(BBIteratorT(PN)));</div>
<div>    298       return *this;</div>
<div>    299     }</div>
<div><br>
</div>
<div><br>
</div>
<div>The source compiles with <span>GCC 4.9/Debian8, so I am guessing I missed something to do with setting up the compiler correctly. </span></div>
<div><span>Any suggestions for me to try?</span></div>
<div><span><br>
</span></div>
<div><span>Ashish</span></div>
<br>
</div>
<div><br>
</div>
<br>
<p></p>
<div><br>
</div>
</div>
</body>
</html>