Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
grimar abandoned this revision. grimar added a comment. r251415 fixes this in another way. http://reviews.llvm.org/D13203 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
Thanks David, Committed as r251415. On 27 October 2015 at 17:01, David Majnemer wrote: > Looks fine Will, please commit but keep a comment and a link to the > connect bug. We don't want somebody to accidentally "clean-up" the code > and break things again. > > On Tue, Oct 27, 2015 at 7:49 AM, Will Wilson via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> 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 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 >> >> ___ >> 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 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
Looks fine Will, please commit but keep a comment and a link to the connect bug. We don't want somebody to accidentally "clean-up" the code and break things again. On Tue, Oct 27, 2015 at 7:49 AM, Will Wilson via cfe-commits < cfe-commits@lists.llvm.org> wrote: > 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 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 > > ___ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > > ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
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 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
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
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 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
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
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
grimar updated this revision to Diff 36271. grimar added a comment. Added comment per review request. http://reviews.llvm.org/D13203 Files: ASTContext.cpp Index: ASTContext.cpp === --- ASTContext.cpp +++ ASTContext.cpp @@ -364,14 +364,19 @@ } else { RC = getRawCommentForDeclNoCache(I); OriginalDeclForRC = I; - RawCommentAndCacheFlags Raw; + // TODO: these next two lines helps to workaround msvs 2015 + // internal compiler error. This is a replacement + // of delayed assignment RedeclComments[I] = Raw + // which caused that issue. + RedeclComments[I] = RawCommentAndCacheFlags(); + RawCommentAndCacheFlags &Raw = RedeclComments[I]; + // if (RC) { Raw.setRaw(RC); Raw.setKind(RawCommentAndCacheFlags::FromDecl); } else Raw.setKind(RawCommentAndCacheFlags::NoCommentInDecl); Raw.setOriginalDecl(I); - RedeclComments[I] = Raw; if (RC) break; } Index: ASTContext.cpp === --- ASTContext.cpp +++ ASTContext.cpp @@ -364,14 +364,19 @@ } else { RC = getRawCommentForDeclNoCache(I); OriginalDeclForRC = I; - RawCommentAndCacheFlags Raw; + // TODO: these next two lines helps to workaround msvs 2015 + // internal compiler error. This is a replacement + // of delayed assignment RedeclComments[I] = Raw + // which caused that issue. + RedeclComments[I] = RawCommentAndCacheFlags(); + RawCommentAndCacheFlags &Raw = RedeclComments[I]; + // if (RC) { Raw.setRaw(RC); Raw.setKind(RawCommentAndCacheFlags::FromDecl); } else Raw.setKind(RawCommentAndCacheFlags::NoCommentInDecl); Raw.setOriginalDecl(I); - RedeclComments[I] = Raw; if (RC) break; } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
majnemer added a subscriber: majnemer. majnemer added a comment. In http://reviews.llvm.org/D13203#257539, @klimek wrote: > Not sure whether it makes sense to work around compiler bugs in CL. I assume > this happens with clang from trunk? Is there a bug filed against CL? We do this with some regularity for MSVC and GCC. Comment at: ASTContext.cpp:367-369 @@ -366,4 +366,5 @@ OriginalDeclForRC = I; - RawCommentAndCacheFlags Raw; + RedeclComments[I] = RawCommentAndCacheFlags(); + RawCommentAndCacheFlags &Raw = RedeclComments[I]; if (RC) { Raw.setRaw(RC); We need a comment detailing that this is a workaround for MSVC 2015 so that it can be removed when we drop support for 2015. http://reviews.llvm.org/D13203 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
yaron.keren added a subscriber: yaron.keren. yaron.keren added a comment. clang can't generate Visual C++ debug info except line numbers yet, so building with VC is essential to development on Windows. While most people and our bots are still using VC 2013 going forward supporting VC 2015 (even with bugs) is worth a small patch. http://reviews.llvm.org/D13203 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
klimek added a subscriber: klimek. klimek added a comment. Not sure whether it makes sense to work around compiler bugs in CL. I assume this happens with clang from trunk? Is there a bug filed against CL? http://reviews.llvm.org/D13203 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D13203: [Clang] - Massaging code to fix MSVS 2015 win32-release configuration
grimar created this revision. grimar added reviewers: rsmith, echristo. grimar added subscribers: cfe-commits, grimar. Microsoft Visual Studio Community 2015 Version 14.0.23107.0 D14REL When building in release mode, MSVS failed with: 57>c:\access_softek\llvm\tools\clang\lib\ast\astcontext.cpp(334): fatal error C1001: An internal error has occurred in the compiler. 57> (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 246) 57> To work around this problem, try simplifying or changing the program near the locations listed above. I little code simplification helped to workaround this. http://reviews.llvm.org/D13203 Files: ASTContext.cpp Index: ASTContext.cpp === --- ASTContext.cpp +++ ASTContext.cpp @@ -364,14 +364,14 @@ } else { RC = getRawCommentForDeclNoCache(I); OriginalDeclForRC = I; - RawCommentAndCacheFlags Raw; + RedeclComments[I] = RawCommentAndCacheFlags(); + RawCommentAndCacheFlags &Raw = RedeclComments[I]; if (RC) { Raw.setRaw(RC); Raw.setKind(RawCommentAndCacheFlags::FromDecl); } else Raw.setKind(RawCommentAndCacheFlags::NoCommentInDecl); Raw.setOriginalDecl(I); - RedeclComments[I] = Raw; if (RC) break; } Index: ASTContext.cpp === --- ASTContext.cpp +++ ASTContext.cpp @@ -364,14 +364,14 @@ } else { RC = getRawCommentForDeclNoCache(I); OriginalDeclForRC = I; - RawCommentAndCacheFlags Raw; + RedeclComments[I] = RawCommentAndCacheFlags(); + RawCommentAndCacheFlags &Raw = RedeclComments[I]; if (RC) { Raw.setRaw(RC); Raw.setKind(RawCommentAndCacheFlags::FromDecl); } else Raw.setKind(RawCommentAndCacheFlags::NoCommentInDecl); Raw.setOriginalDecl(I); - RedeclComments[I] = Raw; if (RC) break; } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits