I've ended up using the simplified fix described on the MS connect bug report for this issue:
https://connect.microsoft.com/VisualStudio/feedback/details/1741530 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 Since this simply swaps two orthogonal calls I've checked it passes the tests and attached the patch. Let me know if it's okay to commit. Thanks, Will. On 27 October 2015 at 11:42, Will Wilson <w...@indefiant.com> wrote: > Building latest HEAD using: > > cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo > -DLLVM_USE_CRT_RELWITHDEBINFO=MT -DLLVM_BUILD_TOOLS=OFF > -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_ENABLE_ASSERTIONS=OFF > LLVM_BUILD_32_BITS=ON ..\llvm > > > VC++ version: Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 > for x86 > > Also produces the ICE mentioned before by grimar: > > [1003/1049] Building CXX object > tools\...eFiles\clangAST.dir\ASTContext.cpp.obj > FAILED: C:\PROGRA~2\MI0E91~1.0\VC\bin\cl.exe /nologo /TP /DWIN32 > /D_WINDOWS -wd4141 -wd4146 -wd4180 -wd4244 -wd4258 -wd4267 -wd4291 -wd4345 > -wd4351 -wd4355 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 > -wd4800 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 > -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 > -wd4091 -wd4324 -w14062 -we4238 /W4 /Zc:inline /Zc:sizedDealloc- /MT /Zi > /O2 /Ob1 /D NDEBUG -Itools\clang\lib\AST -IW:\rec\llvm\tools\clang\lib\AST > -IW:\rec\llvm\tools\clang\include -Itools\clang\include -Iinclude > -IW:\rec\llvm\include /EHs-c- /GR- /showIncludes -DCLANG_ENABLE_ARCMT > -DCLANG_ENABLE_OBJC_REWRITER -DCLANG_ENABLE_STATIC_ANALYZER > -DGTEST_HAS_RTTI=0 -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS > -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE > -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS > -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS > /Fotools\clang\lib\AST\CMakeFiles\clangAST.dir\ASTContext.cpp.obj > /Fdtools\clang\lib\AST\CMakeFiles\clangAST.dir\ /FS -c > W:\rec\llvm\tools\clang\lib\AST\ASTContext.cpp > w:\rec\llvm\tools\clang\lib\ast\astcontext.cpp(334) : fatal error C1001: > An internal error has occurred in the compiler. > (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 246) > 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 > > INTERNAL COMPILER ERROR in 'C:\PROGRA~2\MI0E91~1.0\VC\bin\cl.exe' > Please choose the Technical Support command on the Visual C++ > Help menu, or open the Technical Support help file for more information > > > Did anyone find a non-invasive workaround or is the patch still the way to > go? > > Thanks, > Will. > > On 5 October 2015 at 13:39, Manuel Klimek via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> klimek added a comment. >> >> Note: with VS Professional 14.0.23107.0 D14REL I do not get this error. >> >> >> http://reviews.llvm.org/D13203 >> >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >> > > > > -- > *Indefiant *: http://www.indefiant.com > Home of Recode : Runtime C++ Editing for VS > -- *Indefiant *: http://www.indefiant.com Home of Recode : Runtime C++ Editing for VS
msvc_ice_workaround.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits