CMake: set stack size to 2MB for MSVC builds

Compiling under Visual C++ 2012 with the default stack size of 1MB, the stack
overflows at a depth of 216 template instantiations, well before the 256
default limit. This patch modifies the default MSVC stack size to 2MB.

Patch by Yaron Keren!

llvm-svn: 192904
This commit is contained in:
Hans Wennborg 2013-10-17 17:49:57 +00:00
parent c98a0f705a
commit 09837d269a

View File

@ -153,6 +153,10 @@ endif()
if( MSVC )
include(ChooseMSVCCRT)
# Visual C++ default stack size is 1MB. This is not enough for clang to
# instantiate templates up to the default maximum depth allowed, 256.
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -STACK:2097152")
if( MSVC10 )
# MSVC 10 will complain about headers in the STL not being exported, but
# will not complain in MSVC 11.