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

2015-10-27 Thread George Rimar via cfe-commits
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

2015-10-27 Thread Will Wilson via cfe-commits
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

2015-10-27 Thread David Majnemer via cfe-commits
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

2015-10-27 Thread Will Wilson via cfe-commits
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

2015-10-27 Thread Will Wilson via cfe-commits
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

2015-10-05 Thread Manuel Klimek via cfe-commits
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

2015-10-01 Thread George Rimar via cfe-commits
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

2015-10-01 Thread David Majnemer via cfe-commits
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

2015-10-01 Thread Yaron Keren via cfe-commits
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

2015-10-01 Thread Manuel Klimek via cfe-commits
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

2015-09-28 Thread George Rimar via cfe-commits
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