diff --git a/cli/cli.vcxproj b/cli/cli.vcxproj index a5d0d749f..e35224215 100644 --- a/cli/cli.vcxproj +++ b/cli/cli.vcxproj @@ -177,6 +177,8 @@ true $(TargetDir)cli.pdb true + 8000000 + 8000000 @@ -202,6 +204,8 @@ Console true true + 8000000 + 8000000 @@ -225,6 +229,8 @@ true Console true + 8000000 + 8000000 @@ -248,6 +254,8 @@ true Console true + 8000000 + 8000000 @@ -282,6 +290,8 @@ true true true + 8000000 + 8000000 @@ -316,6 +326,8 @@ true true true + 8000000 + 8000000 @@ -350,6 +362,8 @@ true true true + 8000000 + 8000000 @@ -384,6 +398,8 @@ true true true + 8000000 + 8000000 diff --git a/cmake/compileroptions.cmake b/cmake/compileroptions.cmake index 6a90dd885..17c8c287f 100644 --- a/cmake/compileroptions.cmake +++ b/cmake/compileroptions.cmake @@ -121,6 +121,10 @@ if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -U_GLIBCXX_DEBUG") endif() +if (MSVC) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:8000000") +endif() + include(cmake/dynamic_analyzer_options.cmake REQUIRED) # Add user supplied extra options (optimization, etc...) diff --git a/lib/checkleakautovar.cpp b/lib/checkleakautovar.cpp index 5b93b8031..5286666e9 100644 --- a/lib/checkleakautovar.cpp +++ b/lib/checkleakautovar.cpp @@ -237,10 +237,8 @@ void CheckLeakAutoVar::checkScope(const Token * const startToken, std::set notzero, unsigned int recursiveCount) { - // The C++ standard suggests a minimum of 256 nested control statements - // but MSVC has a limit of 100. - if (++recursiveCount > 100) - throw InternalError(startToken, "Internal limit: CheckLeakAutoVar::checkScope() Maximum recursive count of 100 reached.", InternalError::LIMIT); + if (++recursiveCount > 1000) // maximum number of "else if ()" + throw InternalError(startToken, "Internal limit: CheckLeakAutoVar::checkScope() Maximum recursive count of 1000 reached.", InternalError::LIMIT); std::map &alloctype = varInfo->alloctype; std::map &possibleUsage = varInfo->possibleUsage; diff --git a/lib/cppcheck.vcxproj b/lib/cppcheck.vcxproj index a1957a32a..39d036072 100644 --- a/lib/cppcheck.vcxproj +++ b/lib/cppcheck.vcxproj @@ -295,6 +295,8 @@ true false true + 8000000 + 8000000 xcopy "$(SolutionDir)cfg" "$(OutDir)cfg" /E /I /D /Y @@ -323,6 +325,8 @@ xcopy "$(SolutionDir)platforms" "$(OutDir)platforms" /E /I /D /Y true true true + 8000000 + 8000000 xcopy "$(SolutionDir)cfg" "$(OutDir)cfg" /E /I /D /Y @@ -349,6 +353,8 @@ xcopy "$(SolutionDir)platforms" "$(OutDir)platforms" /E /I /D /Y ../externals;%(AdditionalLibraryDirectories) true true + 8000000 + 8000000 xcopy "$(SolutionDir)cfg" "$(OutDir)cfg" /E /I /D /Y @@ -376,6 +382,8 @@ xcopy "$(SolutionDir)platforms" "$(OutDir)platforms" /E /I /D /Y ../externals;%(AdditionalLibraryDirectories) true true + 8000000 + 8000000 xcopy "$(SolutionDir)cfg" "$(OutDir)cfg" /E /I /D /Y @@ -414,6 +422,8 @@ xcopy "$(SolutionDir)platforms" "$(OutDir)platforms" /E /I /D /Y true true true + 8000000 + 8000000 xcopy "$(SolutionDir)cfg" "$(OutDir)cfg" /E /I /D /Y @@ -453,6 +463,8 @@ xcopy "$(SolutionDir)platforms" "$(OutDir)platforms" /E /I /D /Y true true true + 8000000 + 8000000 xcopy "$(SolutionDir)cfg" "$(OutDir)cfg" /E /I /D /Y @@ -490,6 +502,8 @@ xcopy "$(SolutionDir)platforms" "$(OutDir)platforms" /E /I /D /Y true true true + 8000000 + 8000000 xcopy "$(SolutionDir)cfg" "$(OutDir)cfg" /E /I /D /Y @@ -528,6 +542,8 @@ xcopy "$(SolutionDir)platforms" "$(OutDir)platforms" /E /I /D /Y true true true + 8000000 + 8000000 xcopy "$(SolutionDir)cfg" "$(OutDir)cfg" /E /I /D /Y diff --git a/test/testleakautovar.cpp b/test/testleakautovar.cpp index d8c260a45..4780d83b3 100644 --- a/test/testleakautovar.cpp +++ b/test/testleakautovar.cpp @@ -1823,7 +1823,7 @@ private: "#define THOU HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN\n" "void foo() {\n" " if (0) { }\n" - " THOU\n" + " THOU THOU\n" "}"), InternalError); ASSERT_NO_THROW(checkP("#define ONE if (0) { }\n" "#define TEN ONE ONE ONE ONE ONE ONE ONE ONE ONE ONE\n" @@ -1831,7 +1831,7 @@ private: "#define THOU HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN\n" "void foo() {\n" " if (0) { }\n" - " THOU\n" + " THOU THOU\n" "}")); } diff --git a/test/testrunner.vcxproj b/test/testrunner.vcxproj index f874a6db8..1ca5b7413 100755 --- a/test/testrunner.vcxproj +++ b/test/testrunner.vcxproj @@ -195,6 +195,8 @@ Console true true + 8000000 + 8000000 @@ -221,6 +223,8 @@ true Console true + 8000000 + 8000000 @@ -259,6 +263,8 @@ true true true + 8000000 + 8000000 @@ -298,6 +304,8 @@ true true true + 8000000 + 8000000