From 4fc126dcf579fe1c06802089dcfc2ca4cbb3d70f Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Wed, 31 Aug 2016 22:43:23 +0000 Subject: [PATCH] [CMake] Increase stack size to 16MiB for all mingw executables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280303 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/HandleLLVMOptions.cmake | 18 +++++++++++------- cmake/modules/TableGen.cmake | 5 ----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index 6a4f7e5f074..02685483808 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -224,6 +224,17 @@ if( MSVC_IDE ) endif() endif() +# set stack reserved size to ~10MB +if(MSVC) + # CMake previously automatically set this value for MSVC builds, but the + # behavior was changed in CMake 2.8.11 (Issue 12437) to use the MSVC default + # value (1 MB) which is not enough for us in tasks such as parsing recursive + # C++ templates in Clang. + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:10000000") +elseif(MINGW) # FIXME: Also cygwin? + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--stack,16777216") +endif() + if( MSVC ) if( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0 ) # For MSVC 2013, disable iterator null pointer checking in debug mode, @@ -233,13 +244,6 @@ if( MSVC ) include(ChooseMSVCCRT) - # set stack reserved size to ~10MB - # CMake previously automatically set this value for MSVC builds, but the - # behavior was changed in CMake 2.8.11 (Issue 12437) to use the MSVC default - # value (1 MB) which is not enough for us in tasks such as parsing recursive - # C++ templates in Clang. - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:10000000") - if( MSVC11 ) add_llvm_definitions(-D_VARIADIC_MAX=10) endif() diff --git a/cmake/modules/TableGen.cmake b/cmake/modules/TableGen.cmake index c88ee3fc196..b84fa93e90d 100644 --- a/cmake/modules/TableGen.cmake +++ b/cmake/modules/TableGen.cmake @@ -133,11 +133,6 @@ macro(add_tablegen target project) endif() endif() - if( MINGW ) - if(CMAKE_SIZEOF_VOID_P MATCHES "8") - set_target_properties(${target} PROPERTIES LINK_FLAGS -Wl,--stack,16777216) - endif(CMAKE_SIZEOF_VOID_P MATCHES "8") - endif( MINGW ) if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY) install(TARGETS ${target} EXPORT LLVMExports -- 2.11.0