From 07183c43a90eea09878bfe89f4909ed2845789a5 Mon Sep 17 00:00:00 2001 From: anders_k Date: Sun, 9 Feb 2014 23:12:52 +0000 Subject: [PATCH] Prevent MSVC 14.00.40310 from generating a recursive call to memset git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6442 212acab6-be3b-0410-9dea-997c60f758d6 --- SCons/Config/memset.c | 10 ++++++++++ Source/build.cpp | 1 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/SCons/Config/memset.c b/SCons/Config/memset.c index 056e00c7..f80590d4 100644 --- a/SCons/Config/memset.c +++ b/SCons/Config/memset.c @@ -1,6 +1,16 @@ #include // for size_t + void *memset(void *mem, int c, size_t len) { + /* + ** Prevent MSVC 14.00.40310.41-AMD64 from generating a recursive call to memset + ** + ** #pragma optimize("", off) + #pragma optimize("ty", on) can also + ** be used but it generates a lot more code. + */ +#if defined(_MSC_VER) && _MSC_VER > 1200 && _MSC_FULL_VER <= 140040310 + volatile +#endif char *p=(char*)mem; while (len-- > 0) { diff --git a/Source/build.cpp b/Source/build.cpp index 64a69e05..17d4bc51 100644 --- a/Source/build.cpp +++ b/Source/build.cpp @@ -2522,7 +2522,6 @@ int CEXEBuild::pack_exe_header() int CEXEBuild::write_output(void) { - if (sizeof(void*)>4 && lowercase(get_file_name(stub_filename)).c_str()[0]=='z') warning(_T("ZLIB is broken?!\n")); #ifndef NSIS_CONFIG_CRC_SUPPORT build_crcchk=0; #endif