[PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration

Will Wilson via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 27 07:49:32 PDT 2015


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 <will at 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 at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151027/01123951/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: msvc_ice_workaround.patch
Type: application/octet-stream
Size: 536 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151027/01123951/attachment.obj>


More information about the cfe-commits mailing list