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

Rui Ueyama ruiu at google.com
Tue Mar 17 10:26:38 PDT 2015


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/e372d25e/attachment.html>


More information about the llvm-commits mailing list