• scottmg@chromium.org's avatar
    Simpler memset, avoids ICE on VS2013 Update2 · 96c1332e
    scottmg@chromium.org authored
    The previous code is causing:
    
    FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\goma/gomacc "C:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\chrome\installer\mini_installer\mini_installer.mini_installer.obj.rsp /c ..\..\chrome\installer\mini_installer\mini_installer.cc /Foobj\chrome\installer\mini_installer\mini_installer.mini_installer.obj /Fdobj\chrome\installer\mini_installer.cc.pdb
    c:\b\build\slave\win-latest-rel\build\src\chrome\installer\mini_installer\mini_installer.cc(857) : fatalerror C1001: An internal error has occurred in the compiler.
    (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 228)
     To work around this problem, try simplifying or changing the program near the locations listed above.
    Please choose the Technical Support command on the Visual C++
     Help menu, or open the Technical Support help file for more information
    INTERNAL COMPILER ERROR in 'C:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe'
        Please choose the Technical Support command on the Visual C++
        Help menu, or open the Technical Support help file for more information
    
    after Update 2. The CRT's implementation looks like the simple char
    loop, so simplify here too.
    
    In practice, I think this will only rarely get used, as the compiler
    is allowed to "know" what memset does and replace it with an optimized
    version.
    
    There's an upstream bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/878340/ice-on-memset-implementation-at-o2
    
    R=grt@chromium.org
    BUG=372451
    
    Review URL: https://codereview.chromium.org/294943005
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271919 0039d316-1c4b-4281-b951-d872f2087c98
    96c1332e
mini_installer.cc 31.2 KB