I think there’s a function in lit called pythonize_bool which serves this purpose (ie it can handle 0, off, etc)<br><br>But i need to submit it at the same time alongside another fix, so I’ll do it in a bit<br><div class="gmail_quote"><div dir="ltr">On Tue, Mar 20, 2018 at 3:50 AM Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Mar 20, 2018 at 11:19 AM, Hans Wennborg <<a href="mailto:hans@chromium.org" target="_blank">hans@chromium.org</a>> wrote:<br>
> On Mon, Mar 19, 2018 at 9:40 PM, Zachary Turner via llvm-commits<br>
> <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
>> Is there anything you can do to help figure out why this REQUIRES line is<br>
>> evaluating to the wrong value?<br>
>><br>
>> It starts from lld/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a>, which has this line:<br>
>><br>
>> config.have_dia_sdk = "@LLVM_ENABLE_DIA_SDK@"<br>
>><br>
>> That *should* get processed at CMake time and turns into<br>
>> <output_dir>/tools/lld/test/<a href="http://lit.site.cfg.py" rel="noreferrer" target="_blank">lit.site.cfg.py</a>:<br>
>><br>
>> config.have_dia_sdk = "OFF"<br>
>><br>
>> Then, in lld/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a>, we have this block:<br>
>><br>
>> if config.have_dia_sdk:<br>
>> config.available_features.add("diasdk")<br>
>><br>
>> which should get ignored on this bot.<br>
>><br>
>> But this line is executing, so it makes me think the pre-processing step is<br>
>> setting the value to "ON", which would make no sense to me.<br>
>><br>
>> If you can offer some insight into why this might be happening that would<br>
>> help.<br>
><br>
> In this case, config.have_dia_sdk was set to "0", i.e. a string value<br>
> which converts to true :-)<br>
><br>
> I see this was modeled after config.llvm_libxml2_enabled which is also<br>
> a string. I've fixed that in r327964. Dropping the quotes around<br>
> @LLVM_ENABLE_DIA_SDK@ in your patch should make it work.<br>
<br>
Actually, my change didn't work because the libxml2 cmake var doesn't<br>
expand to 0 or 1: it expands to nothing or 1.<br>
<br>
I've reverted my change. I suppose the easiest way to make yours work<br>
is to check for '1' in the if-statement like the code for<br>
llvm_libxml2_enabled does.<br>
<br>
>> On Mon, Mar 19, 2018 at 1:32 PM Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> wrote:<br>
>>><br>
>>> Hmm, this test should not even be running on these platforms due to the<br>
>>> `REQUIRES: diasdk` line.<br>
>>><br>
>>> On Mon, Mar 19, 2018 at 1:29 PM Galina Kistanova <<a href="mailto:gkistanova@gmail.com" target="_blank">gkistanova@gmail.com</a>><br>
>>> wrote:<br>
>>>><br>
>>>> Hello Zachary,<br>
>>>><br>
>>>> This commit added broken test one of our builders:<br>
>>>><br>
>>>> <a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast</a><br>
>>>> . . .<br>
>>>> Failing Tests (2):<br>
>>>> . . .<br>
>>>> lld :: COFF/pdb-natvis.test<br>
>>>><br>
>>>> Please have a look?<br>
>>>><br>
>>>> The builder was already red and did not send notifications on this.<br>
>>>><br>
>>>> Thanks<br>
>>>><br>
>>>><br>
>>>> Galina<br>
>>>><br>
>>>> On Mon, Mar 19, 2018 at 12:53 PM, Zachary Turner via llvm-commits<br>
>>>> <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
>>>>><br>
>>>>> Author: zturner<br>
>>>>> Date: Mon Mar 19 12:53:51 2018<br>
>>>>> New Revision: 327895<br>
>>>>><br>
>>>>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=327895&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=327895&view=rev</a><br>
>>>>> Log:<br>
>>>>> Support embedding natvis files in PDBs.<br>
>>>>><br>
>>>>> Natvis is a debug language supported by Visual Studio for<br>
>>>>> specifying custom visualizers. The /NATVIS option is an<br>
>>>>> undocumented link.exe flag which will take a .natvis file<br>
>>>>> and "inject" it into the PDB. This way, you can ship the<br>
>>>>> debug visualizers for a program along with the PDB, which<br>
>>>>> is very useful for postmortem debugging.<br>
>>>>><br>
>>>>> This is implemented by adding a new "named stream" to the<br>
>>>>> PDB with a special name of /src/files/<natvis file name><br>
>>>>> and simply copying the contents of the xml into this file.<br>
>>>>><br>
>>>>> Additionally, we need to emit a single stream named<br>
>>>>> /src/headerblock which contains a hash table of embedded<br>
>>>>> files to records describing them.<br>
>>>>><br>
>>>>> This patch adds this functionality, including the /NATVIS<br>
>>>>> option to lld-link.<br>
>>>>><br>
>>>>> Differential Revision: <a href="https://reviews.llvm.org/D44328" rel="noreferrer" target="_blank">https://reviews.llvm.org/D44328</a><br>
>>>>><br>
>>>>> Added:<br>
>>>>> lld/trunk/test/COFF/Inputs/generic.yaml<br>
>>>>> lld/trunk/test/COFF/Inputs/natvis-1.natvis<br>
>>>>> lld/trunk/test/COFF/Inputs/natvis-2.natvis<br>
>>>>> lld/trunk/test/COFF/Inputs/natvis-3.natvis<br>
>>>>> lld/trunk/test/COFF/pdb-natvis.test<br>
>>>>> Modified:<br>
>>>>> lld/trunk/COFF/Config.h<br>
>>>>> lld/trunk/COFF/Driver.cpp<br>
>>>>> lld/trunk/COFF/Options.td<br>
>>>>> lld/trunk/COFF/PDB.cpp<br>
>>>>> lld/trunk/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a><br>
>>>>> lld/trunk/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a><br>
>>>>><br>
>>>>> Modified: lld/trunk/COFF/Config.h<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Config.h?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Config.h?rev=327895&r1=327894&r2=327895&view=diff</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/COFF/Config.h (original)<br>
>>>>> +++ lld/trunk/COFF/Config.h Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -99,6 +99,7 @@ struct Configuration {<br>
>>>>> bool DebugGHashes = false;<br>
>>>>> bool ShowTiming = false;<br>
>>>>> unsigned DebugTypes = static_cast<unsigned>(DebugType::None);<br>
>>>>> + std::vector<std::string> NatvisFiles;<br>
>>>>> llvm::SmallString<128> PDBPath;<br>
>>>>> std::vector<llvm::StringRef> Argv;<br>
>>>>><br>
>>>>><br>
>>>>> Modified: lld/trunk/COFF/Driver.cpp<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=327895&r1=327894&r2=327895&view=diff</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/COFF/Driver.cpp (original)<br>
>>>>> +++ lld/trunk/COFF/Driver.cpp Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -933,9 +933,12 @@ void LinkerDriver::link(ArrayRef<const c<br>
>>>>><br>
>>>>> // Handle /pdb<br>
>>>>> bool ShouldCreatePDB = Args.hasArg(OPT_debug, OPT_debug_ghash);<br>
>>>>> - if (ShouldCreatePDB)<br>
>>>>> + if (ShouldCreatePDB) {<br>
>>>>> if (auto *Arg = Args.getLastArg(OPT_pdb))<br>
>>>>> Config->PDBPath = Arg->getValue();<br>
>>>>> + if (Args.hasArg(OPT_natvis))<br>
>>>>> + Config->NatvisFiles = Args.getAllArgValues(OPT_natvis);<br>
>>>>> + }<br>
>>>>><br>
>>>>> // Handle /noentry<br>
>>>>> if (Args.hasArg(OPT_noentry)) {<br>
>>>>><br>
>>>>> Modified: lld/trunk/COFF/Options.td<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Options.td?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Options.td?rev=327895&r1=327894&r2=327895&view=diff</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/COFF/Options.td (original)<br>
>>>>> +++ lld/trunk/COFF/Options.td Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -45,6 +45,7 @@ def nodefaultlib : P<"nodefaultlib", "Re<br>
>>>>> def opt : P<"opt", "Control optimizations">;<br>
>>>>> def order : P<"order", "Put functions in order">;<br>
>>>>> def out : P<"out", "Path to file to write output">;<br>
>>>>> +def natvis : P<"natvis", "Path to natvis file to embed in the PDB">;<br>
>>>>> def pdb : P<"pdb", "PDB file path">;<br>
>>>>> def section : P<"section", "Specify section attributes">;<br>
>>>>> def stack : P<"stack", "Size of the stack">;<br>
>>>>> @@ -162,7 +163,6 @@ def delay : QF<"delay">;<br>
>>>>> def errorreport : QF<"errorreport">;<br>
>>>>> def idlout : QF<"idlout">;<br>
>>>>> def maxilksize : QF<"maxilksize">;<br>
>>>>> -def natvis : QF<"natvis">;<br>
>>>>> def pdbaltpath : QF<"pdbaltpath">;<br>
>>>>> def tlbid : QF<"tlbid">;<br>
>>>>> def tlbout : QF<"tlbout">;<br>
>>>>><br>
>>>>> Modified: lld/trunk/COFF/PDB.cpp<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/PDB.cpp?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/PDB.cpp?rev=327895&r1=327894&r2=327895&view=diff</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/COFF/PDB.cpp (original)<br>
>>>>> +++ lld/trunk/COFF/PDB.cpp Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -90,6 +90,9 @@ public:<br>
>>>>> /// Emit the basic PDB structure: initial streams, headers, etc.<br>
>>>>> void initialize(const llvm::codeview::DebugInfo &BuildId);<br>
>>>>><br>
>>>>> + /// Add natvis files specified on the command line.<br>
>>>>> + void addNatvisFiles();<br>
>>>>> +<br>
>>>>> /// Link CodeView from each object file in the symbol table into the<br>
>>>>> PDB.<br>
>>>>> void addObjectsToPDB();<br>
>>>>><br>
>>>>> @@ -961,6 +964,18 @@ void PDBLinker::addObjectsToPDB() {<br>
>>>>> }<br>
>>>>> }<br>
>>>>><br>
>>>>> +void PDBLinker::addNatvisFiles() {<br>
>>>>> + for (StringRef File : Config->NatvisFiles) {<br>
>>>>> + ErrorOr<std::unique_ptr<MemoryBuffer>> DataOrErr =<br>
>>>>> + MemoryBuffer::getFile(File);<br>
>>>>> + if (!DataOrErr) {<br>
>>>>> + warn("Cannot open input file: " + File);<br>
>>>>> + continue;<br>
>>>>> + }<br>
>>>>> + Builder.addInjectedSource(File, std::move(*DataOrErr));<br>
>>>>> + }<br>
>>>>> +}<br>
>>>>> +<br>
>>>>> static void addCommonLinkerModuleSymbols(StringRef Path,<br>
>>>>><br>
>>>>> pdb::DbiModuleDescriptorBuilder &Mod,<br>
>>>>> BumpPtrAllocator &Allocator) {<br>
>>>>> @@ -1041,6 +1056,7 @@ void coff::createPDB(SymbolTable *Symtab<br>
>>>>> PDB.initialize(BuildId);<br>
>>>>> PDB.addObjectsToPDB();<br>
>>>>> PDB.addSections(OutputSections, SectionTable);<br>
>>>>> + PDB.addNatvisFiles();<br>
>>>>><br>
>>>>> ScopedTimer T2(DiskCommitTimer);<br>
>>>>> PDB.commit();<br>
>>>>><br>
>>>>> Added: lld/trunk/test/COFF/Inputs/generic.yaml<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/generic.yaml?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/generic.yaml?rev=327895&view=auto</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/test/COFF/Inputs/generic.yaml (added)<br>
>>>>> +++ lld/trunk/test/COFF/Inputs/generic.yaml Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -0,0 +1,282 @@<br>
>>>>> +--- !COFF<br>
>>>>> +header:<br>
>>>>> + Machine: IMAGE_FILE_MACHINE_AMD64<br>
>>>>> + Characteristics: [ ]<br>
>>>>> +sections:<br>
>>>>> + - Name: .text<br>
>>>>> + Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE,<br>
>>>>> IMAGE_SCN_MEM_READ ]<br>
>>>>> + Alignment: 16<br>
>>>>> + SectionData:<br>
>>>>> 4883EC1831C0C7442414000000004889542408894C24044883C418C3<br>
>>>>> + - Name: .data<br>
>>>>> + Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA,<br>
>>>>> IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]<br>
>>>>> + Alignment: 4<br>
>>>>> + SectionData: ''<br>
>>>>> + - Name: .bss<br>
>>>>> + Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA,<br>
>>>>> IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]<br>
>>>>> + Alignment: 4<br>
>>>>> + SectionData: ''<br>
>>>>> + - Name: .xdata<br>
>>>>> + Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA,<br>
>>>>> IMAGE_SCN_MEM_READ ]<br>
>>>>> + Alignment: 4<br>
>>>>> + SectionData: '0104010004220000'<br>
>>>>> + - Name: .drectve<br>
>>>>> + Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]<br>
>>>>> + Alignment: 1<br>
>>>>> + SectionData:<br>
>>>>> 202F44454641554C544C49423A6C6962636D742E6C6962202F44454641554C544C49423A6F6C646E616D65732E6C6962<br>
>>>>> + - Name: '.debug$S'<br>
>>>>> + Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA,<br>
>>>>> IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]<br>
>>>>> + Alignment: 4<br>
>>>>> + SectionData:<br>
>>>>> 04000000F10000002F0000002D003C1101000000D0000700000000000000581B000000000000636C616E672076657273696F6E20372E302E30200000F1000000760000002A0047110000000000000000000000001C000000000000000000000003100000000000000000006D61696E000D003E117400000001006172676300120045114F0100000400000017000000000005000D003E110010000001006172677600120045114F01000008000000170000000000050002004F110000F20000002800000000000000000000001C00000000000000020000001C00000000000000020000001700000003000000F40000001800000001000000100139E9A066A1995A99DD01F5A392F26D7C0000F30000003000000000443A5C7372635C6C6C766D6275696C645C636C5C52656C656173655C7836345C67656E657269632E63707000000000<br>
>>>>> + Subsections:<br>
>>>>> + - !Symbols<br>
>>>>> + Records:<br>
>>>>> + - Kind: S_COMPILE3<br>
>>>>> + Compile3Sym:<br>
>>>>> + Flags: [ ]<br>
>>>>> + Machine: X64<br>
>>>>> + FrontendMajor: 7<br>
>>>>> + FrontendMinor: 0<br>
>>>>> + FrontendBuild: 0<br>
>>>>> + FrontendQFE: 0<br>
>>>>> + BackendMajor: 7000<br>
>>>>> + BackendMinor: 0<br>
>>>>> + BackendBuild: 0<br>
>>>>> + BackendQFE: 0<br>
>>>>> + Version: 'clang version 7.0.0 '<br>
>>>>> + - !Symbols<br>
>>>>> + Records:<br>
>>>>> + - Kind: S_GPROC32_ID<br>
>>>>> + ProcSym:<br>
>>>>> + CodeSize: 28<br>
>>>>> + DbgStart: 0<br>
>>>>> + DbgEnd: 0<br>
>>>>> + FunctionType: 4099<br>
>>>>> + Flags: [ ]<br>
>>>>> + DisplayName: main<br>
>>>>> + - Kind: S_LOCAL<br>
>>>>> + LocalSym:<br>
>>>>> + Type: 116<br>
>>>>> + Flags: [ IsParameter ]<br>
>>>>> + VarName: argc<br>
>>>>> + - Kind: S_DEFRANGE_REGISTER_REL<br>
>>>>> + DefRangeRegisterRelSym:<br>
>>>>> + Register: 335<br>
>>>>> + Flags: 0<br>
>>>>> + BasePointerOffset: 4<br>
>>>>> + Range:<br>
>>>>> + OffsetStart: 23<br>
>>>>> + ISectStart: 0<br>
>>>>> + Range: 5<br>
>>>>> + Gaps:<br>
>>>>> + - Kind: S_LOCAL<br>
>>>>> + LocalSym:<br>
>>>>> + Type: 4096<br>
>>>>> + Flags: [ IsParameter ]<br>
>>>>> + VarName: argv<br>
>>>>> + - Kind: S_DEFRANGE_REGISTER_REL<br>
>>>>> + DefRangeRegisterRelSym:<br>
>>>>> + Register: 335<br>
>>>>> + Flags: 0<br>
>>>>> + BasePointerOffset: 8<br>
>>>>> + Range:<br>
>>>>> + OffsetStart: 23<br>
>>>>> + ISectStart: 0<br>
>>>>> + Range: 5<br>
>>>>> + Gaps:<br>
>>>>> + - Kind: S_PROC_ID_END<br>
>>>>> + ScopeEndSym:<br>
>>>>> + - !Lines<br>
>>>>> + CodeSize: 28<br>
>>>>> + Flags: [ ]<br>
>>>>> + RelocOffset: 0<br>
>>>>> + RelocSegment: 0<br>
>>>>> + Blocks:<br>
>>>>> + - FileName:<br>
>>>>> 'D:\src\llvmbuild\cl\Release\x64\generic.cpp'<br>
>>>>> + Lines:<br>
>>>>> + - Offset: 0<br>
>>>>> + LineStart: 2<br>
>>>>> + IsStatement: false<br>
>>>>> + EndDelta: 0<br>
>>>>> + - Offset: 23<br>
>>>>> + LineStart: 3<br>
>>>>> + IsStatement: false<br>
>>>>> + EndDelta: 0<br>
>>>>> + Columns:<br>
>>>>> + - !FileChecksums<br>
>>>>> + Checksums:<br>
>>>>> + - FileName:<br>
>>>>> 'D:\src\llvmbuild\cl\Release\x64\generic.cpp'<br>
>>>>> + Kind: MD5<br>
>>>>> + Checksum: 39E9A066A1995A99DD01F5A392F26D7C<br>
>>>>> + - !StringTable<br>
>>>>> + Strings:<br>
>>>>> + - 'D:\src\llvmbuild\cl\Release\x64\generic.cpp'<br>
>>>>> + - ''<br>
>>>>> + - ''<br>
>>>>> + - ''<br>
>>>>> + Relocations:<br>
>>>>> + - VirtualAddress: 100<br>
>>>>> + SymbolName: main<br>
>>>>> + Type: IMAGE_REL_AMD64_SECREL<br>
>>>>> + - VirtualAddress: 104<br>
>>>>> + SymbolName: main<br>
>>>>> + Type: IMAGE_REL_AMD64_SECTION<br>
>>>>> + - VirtualAddress: 139<br>
>>>>> + SymbolName: .text<br>
>>>>> + Type: IMAGE_REL_AMD64_SECREL<br>
>>>>> + - VirtualAddress: 143<br>
>>>>> + SymbolName: .text<br>
>>>>> + Type: IMAGE_REL_AMD64_SECTION<br>
>>>>> + - VirtualAddress: 174<br>
>>>>> + SymbolName: .text<br>
>>>>> + Type: IMAGE_REL_AMD64_SECREL<br>
>>>>> + - VirtualAddress: 178<br>
>>>>> + SymbolName: .text<br>
>>>>> + Type: IMAGE_REL_AMD64_SECTION<br>
>>>>> + - VirtualAddress: 196<br>
>>>>> + SymbolName: main<br>
>>>>> + Type: IMAGE_REL_AMD64_SECREL<br>
>>>>> + - VirtualAddress: 200<br>
>>>>> + SymbolName: main<br>
>>>>> + Type: IMAGE_REL_AMD64_SECTION<br>
>>>>> + - Name: '.debug$T'<br>
>>>>> + Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA,<br>
>>>>> IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]<br>
>>>>> + Alignment: 4<br>
>>>>> + SectionData:<br>
>>>>> 040000000A000210700600000C0001000E0001120200000074000000001000000E0008107400000000000200011000001200011600000000021000006D61696E00F3F2F1<br>
>>>>> + Types:<br>
>>>>> + - Kind: LF_POINTER<br>
>>>>> + Pointer:<br>
>>>>> + ReferentType: 1648<br>
>>>>> + Attrs: 65548<br>
>>>>> + - Kind: LF_ARGLIST<br>
>>>>> + ArgList:<br>
>>>>> + ArgIndices: [ 116, 4096 ]<br>
>>>>> + - Kind: LF_PROCEDURE<br>
>>>>> + Procedure:<br>
>>>>> + ReturnType: 116<br>
>>>>> + CallConv: NearC<br>
>>>>> + Options: [ None ]<br>
>>>>> + ParameterCount: 2<br>
>>>>> + ArgumentList: 4097<br>
>>>>> + - Kind: LF_FUNC_ID<br>
>>>>> + FuncId:<br>
>>>>> + ParentScope: 0<br>
>>>>> + FunctionType: 4098<br>
>>>>> + Name: main<br>
>>>>> + - Name: .pdata<br>
>>>>> + Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA,<br>
>>>>> IMAGE_SCN_MEM_READ ]<br>
>>>>> + Alignment: 4<br>
>>>>> + SectionData: 000000001C00000000000000<br>
>>>>> + Relocations:<br>
>>>>> + - VirtualAddress: 0<br>
>>>>> + SymbolName: main<br>
>>>>> + Type: IMAGE_REL_AMD64_ADDR32NB<br>
>>>>> + - VirtualAddress: 4<br>
>>>>> + SymbolName: main<br>
>>>>> + Type: IMAGE_REL_AMD64_ADDR32NB<br>
>>>>> + - VirtualAddress: 8<br>
>>>>> + SymbolName: .xdata<br>
>>>>> + Type: IMAGE_REL_AMD64_ADDR32NB<br>
>>>>> +symbols:<br>
>>>>> + - Name: .text<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 1<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_NULL<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_STATIC<br>
>>>>> + SectionDefinition:<br>
>>>>> + Length: 28<br>
>>>>> + NumberOfRelocations: 0<br>
>>>>> + NumberOfLinenumbers: 0<br>
>>>>> + CheckSum: 594448369<br>
>>>>> + Number: 1<br>
>>>>> + - Name: .data<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 2<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_NULL<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_STATIC<br>
>>>>> + SectionDefinition:<br>
>>>>> + Length: 0<br>
>>>>> + NumberOfRelocations: 0<br>
>>>>> + NumberOfLinenumbers: 0<br>
>>>>> + CheckSum: 0<br>
>>>>> + Number: 2<br>
>>>>> + - Name: .bss<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 3<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_NULL<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_STATIC<br>
>>>>> + SectionDefinition:<br>
>>>>> + Length: 0<br>
>>>>> + NumberOfRelocations: 0<br>
>>>>> + NumberOfLinenumbers: 0<br>
>>>>> + CheckSum: 0<br>
>>>>> + Number: 3<br>
>>>>> + - Name: .xdata<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 4<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_NULL<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_STATIC<br>
>>>>> + SectionDefinition:<br>
>>>>> + Length: 8<br>
>>>>> + NumberOfRelocations: 0<br>
>>>>> + NumberOfLinenumbers: 0<br>
>>>>> + CheckSum: 1192424177<br>
>>>>> + Number: 4<br>
>>>>> + - Name: .drectve<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 5<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_NULL<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_STATIC<br>
>>>>> + SectionDefinition:<br>
>>>>> + Length: 48<br>
>>>>> + NumberOfRelocations: 0<br>
>>>>> + NumberOfLinenumbers: 0<br>
>>>>> + CheckSum: 149686238<br>
>>>>> + Number: 5<br>
>>>>> + - Name: '.debug$S'<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 6<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_NULL<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_STATIC<br>
>>>>> + SectionDefinition:<br>
>>>>> + Length: 324<br>
>>>>> + NumberOfRelocations: 8<br>
>>>>> + NumberOfLinenumbers: 0<br>
>>>>> + CheckSum: <a href="tel:(419)%20671-7433" value="+14196717433" target="_blank">4196717433</a><br>
>>>>> + Number: 6<br>
>>>>> + - Name: '.debug$T'<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 7<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_NULL<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_STATIC<br>
>>>>> + SectionDefinition:<br>
>>>>> + Length: 68<br>
>>>>> + NumberOfRelocations: 0<br>
>>>>> + NumberOfLinenumbers: 0<br>
>>>>> + CheckSum: 485351071<br>
>>>>> + Number: 7<br>
>>>>> + - Name: .pdata<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 8<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_NULL<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_STATIC<br>
>>>>> + SectionDefinition:<br>
>>>>> + Length: 12<br>
>>>>> + NumberOfRelocations: 3<br>
>>>>> + NumberOfLinenumbers: 0<br>
>>>>> + CheckSum: 722740324<br>
>>>>> + Number: 8<br>
>>>>> + - Name: main<br>
>>>>> + Value: 0<br>
>>>>> + SectionNumber: 1<br>
>>>>> + SimpleType: IMAGE_SYM_TYPE_NULL<br>
>>>>> + ComplexType: IMAGE_SYM_DTYPE_FUNCTION<br>
>>>>> + StorageClass: IMAGE_SYM_CLASS_EXTERNAL<br>
>>>>> +...<br>
>>>>><br>
>>>>> Added: lld/trunk/test/COFF/Inputs/natvis-1.natvis<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-1.natvis?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-1.natvis?rev=327895&view=auto</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/test/COFF/Inputs/natvis-1.natvis (added)<br>
>>>>> +++ lld/trunk/test/COFF/Inputs/natvis-1.natvis Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -0,0 +1 @@<br>
>>>>> +1st Natvis Test<br>
>>>>><br>
>>>>> Added: lld/trunk/test/COFF/Inputs/natvis-2.natvis<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-2.natvis?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-2.natvis?rev=327895&view=auto</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/test/COFF/Inputs/natvis-2.natvis (added)<br>
>>>>> +++ lld/trunk/test/COFF/Inputs/natvis-2.natvis Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -0,0 +1 @@<br>
>>>>> +Second Natvis Test<br>
>>>>><br>
>>>>> Added: lld/trunk/test/COFF/Inputs/natvis-3.natvis<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-3.natvis?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-3.natvis?rev=327895&view=auto</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/test/COFF/Inputs/natvis-3.natvis (added)<br>
>>>>> +++ lld/trunk/test/COFF/Inputs/natvis-3.natvis Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -0,0 +1 @@<br>
>>>>> +Third Natvis Test<br>
>>>>><br>
>>>>> Added: lld/trunk/test/COFF/pdb-natvis.test<br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-natvis.test?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-natvis.test?rev=327895&view=auto</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/test/COFF/pdb-natvis.test (added)<br>
>>>>> +++ lld/trunk/test/COFF/pdb-natvis.test Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -0,0 +1,26 @@<br>
>>>>> +REQUIRES: diasdk<br>
>>>>> +<br>
>>>>> +RUN: yaml2obj %p/Inputs/generic.yaml > %t.obj<br>
>>>>> +RUN: lld-link /DEBUG %t.obj /nodefaultlib /entry:main<br>
>>>>> /NATVIS:%p/Inputs/natvis-1.natvis \<br>
>>>>> +RUN: /NATVIS:%p/Inputs/natvis-2.natvis<br>
>>>>> /NATVIS:%p/Inputs/natvis-3.natvis /OUT:%t.exe \<br>
>>>>> +RUN: /PDB:%t.pdb<br>
>>>>> +RUN: llvm-pdbutil pretty -injected-sources -injected-source-content<br>
>>>>> %t.pdb | FileCheck \<br>
>>>>> +RUN: --check-prefix=CHECK-FIRST %s<br>
>>>>> +RUN: llvm-pdbutil pretty -injected-sources -injected-source-content<br>
>>>>> %t.pdb | FileCheck \<br>
>>>>> +RUN: --check-prefix=CHECK-SECOND %s<br>
>>>>> +RUN: llvm-pdbutil pretty -injected-sources -injected-source-content<br>
>>>>> %t.pdb | FileCheck \<br>
>>>>> +RUN: --check-prefix=CHECK-THIRD %s<br>
>>>>> +<br>
>>>>> +RUN: lld-link /DEBUG %t.obj /nodefaultlib /entry:main<br>
>>>>> /NATVIS:%p/Inputs/test2.natvis \<br>
>>>>> +RUN: /OUT:%t.exe /PDB:%t.pdb 2>&1 | FileCheck<br>
>>>>> --check-prefix=CHECK-MISSING %s<br>
>>>>> +<br>
>>>>> +CHECK-FIRST: {{.*}}natvis-1.natvis (16 bytes): obj=<null>,<br>
>>>>> vname={{.*}}natvis-1.natvis, crc=355285096, compression=None<br>
>>>>> +CHECK-FIRST-NEXT: 1st Natvis Test<br>
>>>>> +<br>
>>>>> +CHECK-SECOND: {{.*}}natvis-2.natvis (19 bytes): obj=<null>,<br>
>>>>> vname={{.*}}natvis-2.natvis, crc=<a href="tel:(425)%20264-0062" value="+14252640062" target="_blank">4252640062</a>, compression=None<br>
>>>>> +CHECK-SECOND-NEXT: Second Natvis Test<br>
>>>>> +<br>
>>>>> +CHECK-THIRD: {{.*}}natvis-3.natvis (18 bytes): obj=<null>,<br>
>>>>> vname={{.*}}natvis-3.natvis, crc=<a href="tel:(206)%20971-9849" value="+12069719849" target="_blank">2069719849</a>, compression=None<br>
>>>>> +CHECK-THIRD-NEXT: Third Natvis Test<br>
>>>>> +<br>
>>>>> +CHECK-MISSING: Cannot open input file: {{.*}}test2.natvis<br>
>>>>> \ No newline at end of file<br>
>>>>><br>
>>>>> Modified: lld/trunk/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a><br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.cfg.py?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.cfg.py?rev=327895&r1=327894&r2=327895&view=diff</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a> (original)<br>
>>>>> +++ lld/trunk/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a> Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -85,6 +85,9 @@ if (lit.util.which('cvtres', config.envi<br>
>>>>> if (config.llvm_libxml2_enabled == '1'):<br>
>>>>> config.available_features.add('libxml2')<br>
>>>>><br>
>>>>> +if config.have_dia_sdk:<br>
>>>>> + config.available_features.add("diasdk")<br>
>>>>> +<br>
>>>>> tar_executable = lit.util.which('tar', config.environment['PATH'])<br>
>>>>> if tar_executable:<br>
>>>>> tar_version = subprocess.Popen(<br>
>>>>><br>
>>>>> Modified: lld/trunk/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a><br>
>>>>> URL:<br>
>>>>> <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.site.cfg.py.in?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.site.cfg.py.in?rev=327895&r1=327894&r2=327895&view=diff</a><br>
>>>>><br>
>>>>> ==============================================================================<br>
>>>>> --- lld/trunk/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a> (original)<br>
>>>>> +++ lld/trunk/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a> Mon Mar 19 12:53:51 2018<br>
>>>>> @@ -1,5 +1,6 @@<br>
>>>>> @LIT_SITE_CFG_IN_HEADER@<br>
>>>>><br>
>>>>> +config.have_dia_sdk = "@LLVM_ENABLE_DIA_SDK@"<br>
>>>>> config.llvm_src_root = "@LLVM_SOURCE_DIR@"<br>
>>>>> config.llvm_obj_root = "@LLVM_BINARY_DIR@"<br>
>>>>> config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"<br>
>>>>><br>
>>>>><br>
>>>>> _______________________________________________<br>
>>>>> llvm-commits mailing list<br>
>>>>> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
>>>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
>>>><br>
>>>><br>
>><br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
>><br>
</blockquote></div>