[llvm-bugs] [Bug 24650] New: clang 3.6.1 fails to build on MSVC 14 in a 32-bit release configuration

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Sep 1 05:56:21 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=24650

            Bug ID: 24650
           Summary: clang 3.6.1 fails to build on MSVC 14 in a 32-bit
                    release configuration
           Product: new-bugs
           Version: 3.6
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: karl.schmidt at autodesk.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Hi folks,

This is more a Microsoft issue than a problem with clang. I figured I’d report
it here anyhow since I've seen a few reports from other people who are running
into the same issue.

I’m compiling LLVM 3.6.1 using Visual Studio 2015 Professional 14.0.23107.0
D14REL. This works in most configurations after patching in r237863, but I’m
getting a MS compiler crash when compiling ASTContext.cpp for the Win32
platform in the Release configuration. Log:

1>------ Build started: Project: clangAST, Configuration: Release Win32 ------
1>  ASTContext.cpp
1>c:\llvm\llvm-3.6.1.src\tools\clang\lib\ast\astcontext.cpp(334): fatal error
C1001: An internal error has occurred in the compiler.
1>  (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 246)
1>   To work around this problem, try simplifying or changing the program near
the locations listed above.
1>  Please choose the Technical Support command on the Visual C++
1>   Help menu, or open the Technical Support help file for more information
1>
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


I’ve been able to work around this by changing ASTContext.cpp:368 from 

  if (RC) {
    Raw.setRaw(RC);
    Raw.setKind(RawCommentAndCacheFlags::FromDecl);
  } else

to

  if (RC) {
    Raw.setKind(RawCommentAndCacheFlags::FromDecl);
    Raw.setRaw(RC);
  } else

This is of course pure trial-and-error voodoo coding on my part to get around
what I guess is an MSVC optimizer bug, but it seems to work. I haven’t had time
to reduce the problem or reported it to Microsoft.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150901/9b183fd0/attachment.html>


More information about the llvm-bugs mailing list