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