[lld] r232448 - Make it compile with MSVC 2013.

Rafael Auler rafaelauler at gmail.com
Tue Mar 17 10:35:34 PDT 2015


Oh, I see. Mine is  18.00.31101. This must've been fixed.

On Tue, Mar 17, 2015 at 2:26 PM, Rui Ueyama <ruiu at google.com> wrote:

> I'm using this version of MSVC.
>
>   Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x64
>
> And the error I got is below.
>
> c:\cygwin\home\ruiu\llvm\tools\lld\lib\readerwriter\elf\DefaultLayout.h(440)
> : fatal error C1001: An internal error has occurred in the compiler.
> (compiler file 'msc1.cpp', line 1325)
>  To work around this problem, try simplifying or changing the program near
> the locations listed above.
> Please choose the Technical Support command on the Visual C++
>  Help menu, or open the Technical Support help file for more information
>
> c:\cygwin\home\ruiu\llvm\tools\lld\lib\readerwriter\elf\DefaultLayout.h(436)
> : while compiling class template member function 'llvm::StringRef
> lld::elf::DefaultLayout<ELFT>::getOutputSectionName(llvm::StringRef,llvm::StringRef,llvm::StringRef)
> const'
>         with
>         [
>             ELFT=lld::elf::X86ELFType
>         ]
>
> c:\cygwin\home\ruiu\llvm\tools\lld\lib\readerwriter\elf\TargetLayout.h(21)
> : see reference to class template instantiation
> 'lld::elf::DefaultLayout<ELFT>' being compiled
>         with
>         [
>             ELFT=lld::elf::X86ELFType
>         ]
>
> c:\cygwin\home\ruiu\llvm\tools\lld\lib\readerwriter\elf\x86\X86TargetHandler.h(59)
> : see reference to class template instantiation
> 'lld::elf::TargetLayout<ELFT>' being compiled
>         with
>         [
>             ELFT=lld::elf::X86ELFType
>         ]
> Internal Compiler Error in C:\PROGRA~2\MICROS~2.0\VC\bin\amd64\cl.exe.
> You will be prompted to send an error report to Microsoft later.
>
>
> On Tue, Mar 17, 2015 at 5:38 AM, Rafael Auler <rafaelauler at gmail.com>
> wrote:
>
>> Thanks for fixing this, Rui. I find it odd because I test my patches in a
>> MSVC 2013 box and I didn't get an error and I didn't receive any complaints
>> from buildbots.
>>
>> On Mon, Mar 16, 2015 at 10:10 PM, Rui Ueyama <ruiu at google.com> wrote:
>>
>>> Author: ruiu
>>> Date: Mon Mar 16 20:10:12 2015
>>> New Revision: 232448
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=232448&view=rev
>>> Log:
>>> Make it compile with MSVC 2013.
>>>
>>> MSVC 2013 cannot compile this code because of C1001 "internal error".
>>> Stop using initializer list without type name.
>>>
>>> Modified:
>>>     lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h
>>>
>>> Modified: lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h?rev=232448&r1=232447&r2=232448&view=diff
>>>
>>> ==============================================================================
>>> --- lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h (original)
>>> +++ lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h Mon Mar 16 20:10:12
>>> 2015
>>> @@ -435,11 +435,12 @@ DefaultLayout<ELFT>::getOutputSectionNam
>>>                                            StringRef memberPath,
>>>                                            StringRef inputSectionName)
>>> const {
>>>    StringRef outputSectionName;
>>> -  if (_linkerScriptSema.hasLayoutCommands() &&
>>> -      !(outputSectionName = _linkerScriptSema.getOutputSection(
>>> -           {archivePath, memberPath, inputSectionName})).empty())
>>> -    return outputSectionName;
>>> -
>>> +  if (_linkerScriptSema.hasLayoutCommands()) {
>>> +    script::Sema::SectionKey key = {archivePath, memberPath,
>>> inputSectionName};
>>> +    outputSectionName = _linkerScriptSema.getOutputSection(key);
>>> +    if (!outputSectionName.empty())
>>> +      return outputSectionName;
>>> +  }
>>>    return llvm::StringSwitch<StringRef>(inputSectionName)
>>>        .StartsWith(".text", ".text")
>>>        .StartsWith(".ctors", ".ctors")
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150317/0b74bd72/attachment.html>


More information about the llvm-commits mailing list