<div dir="ltr">Thanks Aaron.<div><br></div><div>I don't have a Windows system, and haven't seen any buildbot failures, so I it's difficult to come up with a patch for something I can't reproduce locally or see any actual failures.  Could you send me the commands you used that uncovered the failure?</div><div><br></div><div>thanks again...</div><div>don</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Oct 15, 2017 at 7:35 AM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sat, Oct 14, 2017 at 11:25 AM, Don Hinton via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org">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 along with<br>
> the rest of llvm.  I'll work up a complete patch shortly.<br>
<br>
</span>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::<wbr>dump(void)const "<br>
(?dump@MatchableInfo@?<wbr>A0xf4f1c304@@QEBAXXZ) referenced in function<br>
"public: void __cdecl `anonymous<br>
namespace'::AsmMatcherEmitter:<wbr>:run(class llvm::raw_ostream &)"<br>
(?run@AsmMatcherEmitter@?<wbr>A0xf4f1c304@@QEAAXAEAVraw_<wbr>ostream@llvm@@@Z)<br>
llvm-tblgen D:\llvm\2017\utils\TableGen\<wbr>AsmMatcherEmitter.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>
<span class="HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> Btw, I'm curious how this happened.  Do you have a stale CMakeCache.txt by<br>
> any chance?  You might check the value for LLVM_ENABLE_DUMP and see if it's<br>
> consistent.<br>
><br>
> Again, I'll gen up a complete patch shortly -- sorry for delay, had to 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">howarth.mailing.lists@gmail.<wbr>com</a>> wrote:<br>
>><br>
>><br>
>><br>
>> On Sat, Oct 14, 2017 at 10:25 AM, Don Hinton <<a href="mailto:hintonda@gmail.com">hintonda@gmail.com</a>> 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 ValueTypeByHwMode::<wbr>writeToStream(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(<wbr>Record *Rec,<br>
>>>                                               const CodeGenHwModes &CGH)<br>
>>> {<br>
>>> -#ifndef NDEBUG<br>
>>> +#ifdef LLVM_ENABLE_DUMP<br>
>>>    if (!Rec->isSubClassOf("<wbr>ValueType"))<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/<wbr>TableGen &&<br>
>> /sw/bin/cmake -E cmake_link_script CMakeFiles/llvm-tblgen.dir/<wbr>link.txt<br>
>> --verbose=1<br>
>> /sw/src/fink.build/llvm60-6.0.<wbr>0-1/opt-bin/ccclang++  -fno-common -fPIC<br>
>> -fvisibility-inlines-hidden -Werror=date-time<br>
>> -Werror=unguarded-<wbr>availability-new -std=c++11 -Wall -W -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 -Wl,-search_paths_first<br>
>> -Wl,-headerpad_max_install_<wbr>names  -L/sw/lib  -Wl,-dead_strip<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/AsmMatcherEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/AsmWriterEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/AsmWriterInst.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/Attributes.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CallingConvEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeEmitterGen.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenDAGPatterns.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenHwModes.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenInstruction.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenMapTable.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenRegisters.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenSchedule.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenTarget.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelMatcherEmitter.cpp.<wbr>o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelMatcherGen.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelMatcherOpt.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelMatcher.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DFAPacketizerEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DisassemblerEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/FastISelEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/FixedLenDecoderEmitter.<wbr>cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/GlobalISelEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/InfoByHwMode.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/InstrInfoEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/IntrinsicEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/OptParserEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/PseudoLoweringEmitter.cpp.<wbr>o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/RegisterBankEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/RegisterInfoEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/SearchableTableEmitter.<wbr>cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/SubtargetEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/SubtargetFeatureInfo.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/TableGen.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/Types.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86DisassemblerTables.cpp.<wbr>o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86EVEX2VEXTablesEmitter.<wbr>cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86FoldTablesEmitter.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86ModRMFilters.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86RecognizableInstr.cpp.o<br>
>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CTagsEmitter.cpp.o  -o ../../bin/llvm-tblgen<br>
>> -Wl,-rpath,@loader_path/../lib ../../lib/libLLVMSupport.a<br>
>> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses -lz -lm<br>
>> ../../lib/libLLVMDemangle.a<br>
>> Undefined symbols for architecture x86_64:<br>
>>   "llvm::SubtargetFeatureInfo::<wbr>dump() const", referenced from:<br>
>>       (anonymous namespace)::AsmMatcherInfo::<wbr>buildInfo() in<br>
>> AsmMatcherEmitter.cpp.o<br>
>>   "(anonymous namespace)::MatchableInfo::<wbr>dump() const", referenced from:<br>
>>       (anonymous namespace)::AsmMatcherEmitter:<wbr>:run(llvm::raw_ostream&) 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/<wbr>llvm-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">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/<wbr>TableGen &&<br>
>>>> /sw/bin/cmake -E cmake_link_script CMakeFiles/llvm-tblgen.dir/<wbr>link.txt<br>
>>>> --verbose=1<br>
>>>> /sw/src/fink.build/llvm60-6.0.<wbr>0-1/opt-bin/ccclang++  -fno-common -fPIC<br>
>>>> -fvisibility-inlines-hidden -Werror=date-time<br>
>>>> -Werror=unguarded-<wbr>availability-new -std=c++11 -Wall -W -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 -Wl,-search_paths_first<br>
>>>> -Wl,-headerpad_max_install_<wbr>names  -L/sw/lib  -Wl,-dead_strip<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/AsmMatcherEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/AsmWriterEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/AsmWriterInst.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/Attributes.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CallingConvEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeEmitterGen.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenDAGPatterns.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenHwModes.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenInstruction.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenMapTable.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenRegisters.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenSchedule.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CodeGenTarget.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelMatcherEmitter.cpp.<wbr>o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelMatcherGen.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelMatcherOpt.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DAGISelMatcher.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DFAPacketizerEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/DisassemblerEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/FastISelEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/FixedLenDecoderEmitter.<wbr>cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/GlobalISelEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/InfoByHwMode.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/InstrInfoEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/IntrinsicEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/OptParserEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/PseudoLoweringEmitter.cpp.<wbr>o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/RegisterBankEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/RegisterInfoEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/SearchableTableEmitter.<wbr>cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/SubtargetEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/SubtargetFeatureInfo.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/TableGen.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/Types.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86DisassemblerTables.cpp.<wbr>o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86EVEX2VEXTablesEmitter.<wbr>cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86FoldTablesEmitter.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86ModRMFilters.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/X86RecognizableInstr.cpp.o<br>
>>>> CMakeFiles/obj.llvm-tblgen.<wbr>dir/CTagsEmitter.cpp.o  -o ../../bin/llvm-tblgen<br>
>>>> -Wl,-rpath,@loader_path/../lib ../../lib/libLLVMSupport.a<br>
>>>> ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lcurses -lz -lm<br>
>>>> ../../lib/libLLVMDemangle.a<br>
>>>> Undefined symbols for architecture x86_64:<br>
>>>>   "llvm::Record::dump() const", referenced from:<br>
>>>>       llvm::getValueTypeByHwMode(<wbr>llvm::Record*, llvm::CodeGenHwModes<br>
>>>> const&) in InfoByHwMode.cpp.o<br>
>>>>   "llvm::SubtargetFeatureInfo::<wbr>dump() const", referenced from:<br>
>>>>       (anonymous namespace)::AsmMatcherInfo::<wbr>buildInfo() in<br>
>>>> AsmMatcherEmitter.cpp.o<br>
>>>>   "(anonymous namespace)::MatchableInfo::<wbr>dump() const", referenced from:<br>
>>>>       (anonymous 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 see<br>
>>>> invocation)<br>
>>>> make[2]: *** [bin/llvm-tblgen] Error 1<br>
>>>> make[1]: *** [utils/TableGen/CMakeFiles/<wbr>llvm-tblgen.dir/all] Error 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">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">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>
</div></div></blockquote></div><br></div>