<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Oct 15, 2017 at 8:34 AM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">FWIW, most of the ones I was fixing up were guarded by NDEBUG instead<br>
of LLVM_ENABLE_DUMP. Switching to LLVM_ENABLE_DUMP fixed the link<br>
errors for me -- the only one I struggled with was<br>
AsmMatcherEmitter::run(). But it sounds like you're saying switching<br>
the configuration type in MSVC from Debug to Release would have<br>
possibly caused issues as well?<br></blockquote><div><br></div><div>This is what I believe is going on -- hope this isn't too convoluted...</div><div><br></div><div>I don't know how you invoked cmake, but the generators for VS and Xcode support multiple configurations, allowing you to delay choosing the build type and implicitly setting CMAKE_BUILD_TYPE=None.</div><div><br></div><div>If CMAKE_BUILD_TYPE isn't passed or doesn't include "debug", CMakeLists.txt assumes it's a release build, turns off both asserts and dump methods, and generates llvm-config.h without defining LLVM_ENABLE_DUMP.  Since my change removed the NDEBUG test for most dump definitions, they were #ifdef'd away.  While it's possible to override this behavior by passing -DLLVM_ENABLE_ASSERTIONS or -DLLMV_FORCE_ENABLE_DUMP, you don't seem to have done that.</div><div><br></div><div>So, when a Debug build was later selected, llvm-config.h had already been written without defining LLVM_ENABLE_DUMP, and since table-gen didn't have the fix, it assumed the dump methods were available when it didn't see -DNEBUG on the command line -- hence the linking errors.</div><div><br></div><div>So, setting LLVM_ENABLE_DUMP at configuration time won't work in this case, and I'm leaning toward removing it completely.</div><div><br></div><div>Jack's issue involved removing -DNDEBUG in a script for Release builds.  While it caused the same linking issues you saw, it really didn't have anything to do with the configuration issue you uncovered.  Had I seen any other errors, I would have rolled it back yesterday, but as you've said, the bots were clean wrt this change.  </div><div><br></div><div>So, thanks again for reverting it, and sorry for any inconvenience.</div><div><br></div><div>hth...</div><div>don</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="m_1304061694575550117HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span><div class="m_1304061694575550117HOEnZb"><div class="m_1304061694575550117h5"><br>
><br>
> Thanks again...<br>
> don<br>
><br>
><br>
><br>
><br>
>><br>
>><br>
>> ~Aaron<br>
>><br>
>> ><br>
>> > thanks again...<br>
>> > don<br>
>> ><br>
>> > On Sun, Oct 15, 2017 at 7:35 AM, Aaron Ballman <<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> On Sat, Oct 14, 2017 at 11:25 AM, Don Hinton via llvm-dev<br>
>> >> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
>> >> > Hi Jack:<br>
>> >> ><br>
>> >> > Yes, I was just looking at that.  Seems like TableGen wasn't done<br>
>> >> > along<br>
>> >> > with<br>
>> >> > the rest of llvm.  I'll work up a complete patch shortly.<br>
>> >><br>
>> >> This also broke the build for MSVC when doing a debug build (though no<br>
>> >> builder seems to be picking up the failure!). After working around a<br>
>> >> handful of link errors, I came to one that's going to require more<br>
>> >> understanding of LLVM's tablegen than I have.<br>
>> >><br>
>> >> Error LNK2019 unresolved external symbol "public: void __cdecl<br>
>> >> `anonymous namespace'::MatchableInfo::dum<wbr>p(void)const "<br>
>> >> (?dump@MatchableInfo@?A0xf4f1c<wbr>304@@QEBAXXZ) referenced in function<br>
>> >> "public: void __cdecl `anonymous<br>
>> >> namespace'::AsmMatcherEmitter:<wbr>:run(class llvm::raw_ostream &)"<br>
>> >> (?run@AsmMatcherEmitter@?A0xf4<wbr>f1c304@@QEAAXAEAVraw_ostream@<wbr>llvm@@@Z)<br>
>> >> llvm-tblgen D:\llvm\2017\utils\TableGen\As<wbr>mMatcherEmitter.obj 1<br>
>> >><br>
>> >> Since this has been broken for over a day and the fixes are<br>
>> >> nontrivial, I've reverted your commit (r315590) in r315854. Hopefully<br>
>> >> this doesn't cause you too many problems!<br>
>> >><br>
>> >> ~Aaron<br>
>> >><br>
>> >> ><br>
>> >> > Btw, I'm curious how this happened.  Do you have a stale<br>
>> >> > CMakeCache.txt<br>
>> >> > by<br>
>> >> > any chance?  You might check the value for LLVM_ENABLE_DUMP and see<br>
>> >> > if<br>
>> >> > it's<br>
>> >> > consistent.<br>
>> >> ><br>
>> >> > Again, I'll gen up a complete patch shortly -- sorry for delay, had<br>
>> >> > to<br>
>> >> > walk<br>
>> >> > my dog first...<br>
>> >> ><br>
>> >> > thanks...<br>
>> >> > don<br>
>> >> ><br>
>> >> > On Sat, Oct 14, 2017 at 8:06 AM, Jack Howarth<br>
>> >> > <<a href="mailto:howarth.mailing.lists@gmail.com" target="_blank">howarth.mailing.lists@gmail.c<wbr>om</a>> wrote:<br>
>> >> >><br>
>> >> >><br>
>> >> >><br>
>> >> >> On Sat, Oct 14, 2017 at 10:25 AM, Don Hinton <<a href="mailto:hintonda@gmail.com" target="_blank">hintonda@gmail.com</a>><br>
>> >> >> wrote:<br>
>> >> >>><br>
>> >> >>> Hi Jack:<br>
>> >> >>><br>
>> >> >>> Looks like I missed this one in my recent change.<br>
>> >> >>><br>
>> >> >>> Please let me know if this solves your problem:<br>
>> >> >>><br>
>> >> >>> $ git diff<br>
>> >> >>> diff --git a/utils/TableGen/InfoByHwMode.<wbr>cpp<br>
>> >> >>> b/utils/TableGen/InfoByHwMode.<wbr>cpp<br>
>> >> >>> index 7e1e1864356..8d3636432aa 100644<br>
>> >> >>> --- a/utils/TableGen/InfoByHwMode.<wbr>cpp<br>
>> >> >>> +++ b/utils/TableGen/InfoByHwMode.<wbr>cpp<br>
>> >> >>> @@ -98,14 +98,16 @@ void<br>
>> >> >>> ValueTypeByHwMode::writeToStre<wbr>am(raw_ostream<br>
>> >> >>> &OS) const {<br>
>> >> >>>    OS << '}';<br>
>> >> >>>  }<br>
>> >> >>><br>
>> >> >>> +#ifdef LLVM_ENABLE_DUMP<br>
>> >> >>>  LLVM_DUMP_METHOD<br>
>> >> >>>  void ValueTypeByHwMode::dump() const {<br>
>> >> >>>    dbgs() << *this << '\n';<br>
>> >> >>>  }<br>
>> >> >>> +#endif<br>
>> >> >>><br>
>> >> >>>  ValueTypeByHwMode llvm::getValueTypeByHwMode(Rec<wbr>ord *Rec,<br>
>> >> >>>                                               const CodeGenHwModes<br>
>> >> >>> &CGH)<br>
>> >> >>> {<br>
>> >> >>> -#ifndef NDEBUG<br>
>> >> >>> +#ifdef LLVM_ENABLE_DUMP<br>
>> >> >>>    if (!Rec->isSubClassOf("ValueType<wbr>"))<br>
>> >> >>>      Rec->dump();<br>
>> >> >>>  #endif<br>
>> >> >>><br>
>> >> >>><br>
>> >> >>> thanks...<br>
>> >> >>> don<br>
>> >> >>><br>
>> >> >><br>
>> >> >> The patch seems to be incomplete as it moves the failure to...<br>
>> >> >><br>
>> >> >> [  6%] Linking CXX executable ../../bin/llvm-tblgen<br>
>> >> >> cd /sw/src/fink.build/llvm60-6.0.<wbr>0-1/build/stage1/utils/TableGe<wbr>n &&<br>
>> >> >> /sw/bin/cmake -E cmake_link_script<br>
>> >> >> CMakeFiles/llvm-tblgen.dir/lin<wbr>k.txt<br>
>> >> >> --verbose=1<br>
>> >> >> /sw/src/fink.build/llvm60-6.0.<wbr>0-1/opt-bin/ccclang++  -fno-common<br>
>> >> >> -fPIC<br>
>> >> >> -fvisibility-inlines-hidden -Werror=date-time<br>
>> >> >> -Werror=unguarded-availability<wbr>-new -std=c++11 -Wall -W<br>
>> >> >> -Wno-unused-parameter<br>
>> >> >> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic<br>
>> >> >> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor<br>
>> >> >> -Wdelete-non-virtual-dtor -Wstring-conversion -O3<br>
>> >> >> -Wl,-search_paths_first<br>
>> >> >> -Wl,-headerpad_max_install_nam<wbr>es  -L/sw/lib  -Wl,-dead_strip<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/AsmMatcherEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/AsmWriterEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/AsmWriterInst.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/Attributes.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CallingConvEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeEmitterGen.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenDAGPatterns.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenHwModes.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenInstruction.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenMapTable.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenRegisters.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenSchedule.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenTarget.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelMatcherEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelMatcherGen.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelMatcherOpt.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelMatcher.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DFAPacketizerEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DisassemblerEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/FastISelEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/FixedLenDecoderEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/GlobalISelEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/InfoByHwMode.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/InstrInfoEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/IntrinsicEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/OptParserEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/PseudoLoweringEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/RegisterBankEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/RegisterInfoEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/SearchableTableEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/SubtargetEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/SubtargetFeatureInfo.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/TableGen.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/Types.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86DisassemblerTables.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86EVEX2VEXTablesEmitter.cpp.<wbr>o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86FoldTablesEmitter.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86ModRMFilters.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86RecognizableInstr.cpp.o<br>
>> >> >> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CTagsEmitter.cpp.o  -o<br>
>> >> >> ../../bin/llvm-tblgen<br>
>> >> >> -Wl,-rpath,@loader_path/../lib ../../lib/libLLVMSupport.a<br>
>> >> >> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses -lz<br>
>> >> >> -lm<br>
>> >> >> ../../lib/libLLVMDemangle.a<br>
>> >> >> Undefined symbols for architecture x86_64:<br>
>> >> >>   "llvm::SubtargetFeatureInfo::<wbr>dump() const", referenced from:<br>
>> >> >>       (anonymous namespace)::AsmMatcherInfo::bu<wbr>ildInfo() in<br>
>> >> >> AsmMatcherEmitter.cpp.o<br>
>> >> >>   "(anonymous namespace)::MatchableInfo::dum<wbr>p() const", referenced<br>
>> >> >> from:<br>
>> >> >>       (anonymous<br>
>> >> >> namespace)::AsmMatcherEmitter:<wbr>:run(llvm::raw_ostream&)<br>
>> >> >> in<br>
>> >> >> AsmMatcherEmitter.cpp.o<br>
>> >> >> ld: symbol(s) not found for architecture x86_64<br>
>> >> >> clang: error: linker command failed with exit code 1 (use -v to see<br>
>> >> >> invocation)<br>
>> >> >> make[2]: *** [bin/llvm-tblgen] Error 1<br>
>> >> >> make[1]: *** [utils/TableGen/CMakeFiles/llv<wbr>m-tblgen.dir/all] Error 2<br>
>> >> >> make: *** [all] Error 2<br>
>> >> >><br>
>> >> >>         Jack<br>
>> >> >><br>
>> >> >>><br>
>> >> >>><br>
>> >> >>> On Sat, Oct 14, 2017 at 6:06 AM, Jack Howarth via llvm-dev<br>
>> >> >>> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
>> >> >>>><br>
>> >> >>>> Is anyone else seeing this bootstrap failure on current svn trunk?<br>
>> >> >>>><br>
>> >> >>>> [  6%] Linking CXX executable ../../bin/llvm-tblgen<br>
>> >> >>>> cd /sw/src/fink.build/llvm60-6.0.<wbr>0-1/build/stage1/utils/TableGe<wbr>n<br>
>> >> >>>> &&<br>
>> >> >>>> /sw/bin/cmake -E cmake_link_script<br>
>> >> >>>> CMakeFiles/llvm-tblgen.dir/lin<wbr>k.txt<br>
>> >> >>>> --verbose=1<br>
>> >> >>>> /sw/src/fink.build/llvm60-6.0.<wbr>0-1/opt-bin/ccclang++  -fno-common<br>
>> >> >>>> -fPIC<br>
>> >> >>>> -fvisibility-inlines-hidden -Werror=date-time<br>
>> >> >>>> -Werror=unguarded-availability<wbr>-new -std=c++11 -Wall -W<br>
>> >> >>>> -Wno-unused-parameter<br>
>> >> >>>> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic<br>
>> >> >>>> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor<br>
>> >> >>>> -Wdelete-non-virtual-dtor -Wstring-conversion -O3<br>
>> >> >>>> -Wl,-search_paths_first<br>
>> >> >>>> -Wl,-headerpad_max_install_nam<wbr>es  -L/sw/lib  -Wl,-dead_strip<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/AsmMatcherEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/AsmWriterEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/AsmWriterInst.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/Attributes.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CallingConvEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeEmitterGen.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenDAGPatterns.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenHwModes.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenInstruction.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenMapTable.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenRegisters.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenSchedule.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CodeGenTarget.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelMatcherEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelMatcherGen.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelMatcherOpt.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DAGISelMatcher.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DFAPacketizerEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/DisassemblerEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/FastISelEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/FixedLenDecoderEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/GlobalISelEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/InfoByHwMode.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/InstrInfoEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/IntrinsicEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/OptParserEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/PseudoLoweringEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/RegisterBankEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/RegisterInfoEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/SearchableTableEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/SubtargetEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/SubtargetFeatureInfo.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/TableGen.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/Types.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86DisassemblerTables.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86EVEX2VEXTablesEmitter.cpp.<wbr>o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86FoldTablesEmitter.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86ModRMFilters.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/X86RecognizableInstr.cpp.o<br>
>> >> >>>> CMakeFiles/obj.llvm-tblgen.dir<wbr>/CTagsEmitter.cpp.o  -o<br>
>> >> >>>> ../../bin/llvm-tblgen<br>
>> >> >>>> -Wl,-rpath,@loader_path/../lib ../../lib/libLLVMSupport.a<br>
>> >> >>>> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses<br>
>> >> >>>> -lz<br>
>> >> >>>> -lm<br>
>> >> >>>> ../../lib/libLLVMDemangle.a<br>
>> >> >>>> Undefined symbols for architecture x86_64:<br>
>> >> >>>>   "llvm::Record::dump() const", referenced from:<br>
>> >> >>>>       llvm::getValueTypeByHwMode(ll<wbr>vm::Record*,<br>
>> >> >>>> llvm::CodeGenHwModes<br>
>> >> >>>> const&) in InfoByHwMode.cpp.o<br>
>> >> >>>>   "llvm::SubtargetFeatureInfo::<wbr>dump() const", referenced from:<br>
>> >> >>>>       (anonymous namespace)::AsmMatcherInfo::bu<wbr>ildInfo() in<br>
>> >> >>>> AsmMatcherEmitter.cpp.o<br>
>> >> >>>>   "(anonymous namespace)::MatchableInfo::dum<wbr>p() const", referenced<br>
>> >> >>>> from:<br>
>> >> >>>>       (anonymous<br>
>> >> >>>> namespace)::AsmMatcherEmitter:<wbr>:run(llvm::raw_ostream&)<br>
>> >> >>>> in AsmMatcherEmitter.cpp.o<br>
>> >> >>>> ld: symbol(s) not found for architecture x86_64<br>
>> >> >>>> clang: error: linker command failed with exit code 1 (use -v to<br>
>> >> >>>> see<br>
>> >> >>>> invocation)<br>
>> >> >>>> make[2]: *** [bin/llvm-tblgen] Error 1<br>
>> >> >>>> make[1]: *** [utils/TableGen/CMakeFiles/llv<wbr>m-tblgen.dir/all] Error<br>
>> >> >>>> 2<br>
>> >> >>>> make: *** [all] Error 2<br>
>> >> >>>><br>
>> >> >>>> This is on x86_64-apple-darwin16 with Xcode 9.0.<br>
>> >> >>>>          Jack<br>
>> >> >>>><br>
>> >> >>>> ______________________________<wbr>_________________<br>
>> >> >>>> LLVM Developers mailing list<br>
>> >> >>>> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> >> >>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
>> >> >>>><br>
>> >> >>><br>
>> >> >><br>
>> >> ><br>
>> >> ><br>
>> >> > ______________________________<wbr>_________________<br>
>> >> > LLVM Developers mailing list<br>
>> >> > <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> >> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
>> >> ><br>
>> ><br>
>> ><br>
><br>
><br>
</div></div></blockquote></div><br></div></div>