Allow building with VS 2015 Update 3 pre-release

Add toolchain hash for Update 3 pre-release and fix declarations of
delay-load hooks for VS 2015 Update 3. The new toolchain is not used
unless you go "set DEPOT_TOOLS_WIN_TOOLCHAIN_PRERELEASE=1", run
"gclient runhooks", and then regenerate ninja files (if using gn).
Therefore this change is a NOP for the build machines and the code
we ship.

VS 2015 Update 3 changes the delay hook function pointers to be const
because this is important for security. This matches that change.

The new compiler is discussed here:
https://blogs.msdn.microsoft.com/vcblog/2016/05/04/new-code-optimizer/

The version packaged up for this change was installed May 16th.

BUG=440500

Review-Url: https://codereview.chromium.org/1959413002
Cr-Original-Commit-Position: refs/heads/master@{#394031}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a80d80c3e4c086a791b93a07ee089413fa60630d
This commit is contained in:
brucedawson 2016-05-16 19:44:04 -07:00 коммит произвёл Commit bot
Родитель 8186a18548
Коммит 472c097e59
1 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -279,8 +279,12 @@ def _GetDesiredVsToolchainHashes():
"""Load a list of SHA1s corresponding to the toolchains that we want installed
to build with."""
if GetVisualStudioVersion() == '2015':
# Update 2.
return ['95ddda401ec5678f15eeed01d2bee08fcbc5ee97']
if bool(int(os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN_PRERELEASE', '0'))):
# Update 3 pre-release, May 16th.
return ['283cc362f57dbe240e0d21f48ae45f9d834a425a']
else:
# Update 2.
return ['95ddda401ec5678f15eeed01d2bee08fcbc5ee97']
else:
return ['03a4e939cd325d6bc5216af41b92d02dda1366a6']