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
This commit is contained in:
anders_k 2014-02-09 23:12:52 +00:00
parent 2c0e7ad0bd
commit 07183c43a9
2 changed files with 10 additions and 1 deletions

View file

@ -1,6 +1,16 @@
#include <stdlib.h> // 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)
{

View file

@ -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