fix #7548 by updating to v142 toolset (again) (#10904)

* fix #7548 by updating to v142 toolset (again)

* small note

* it's a compiler bug. let's just try

* you get a pass vc++... THIS TIME

* should no longer need v141 toolset!
This commit is contained in:
Andrew Stanton-Nurse 2019-06-05 21:31:36 -07:00 committed by Justin Kotalik
parent 511761627a
commit 915cc74df8
11 changed files with 14 additions and 34 deletions

View File

@ -12,9 +12,4 @@
<_ProjectExtensionsWereImported>true</_ProjectExtensionsWereImported>
<WixTargetsPath>$(WixInstallPath)\wix2010.targets</WixTargetsPath>
</PropertyGroup>
<!-- Workaround https://developercommunity.visualstudio.com/content/problem/434385/vs2019-preview-2-targetframeworkversion-or-platfor.html -->
<PropertyGroup>
<VCToolsVersion Condition = "'$(VCToolsVersion)' == ''" >14.16.27023</VCToolsVersion>
</PropertyGroup>
</Project>

View File

@ -17,8 +17,6 @@
"Microsoft.VisualStudio.Component.NuGet.BuildTools",
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.VC.v141.ATL",
"Microsoft.VisualStudio.Component.VC.v141.x86.x64",
"Microsoft.VisualStudio.Component.Windows10SDK.17134",
"Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools",
"Microsoft.VisualStudio.Workload.MSBuildTools",

View File

@ -15,8 +15,6 @@
"Microsoft.VisualStudio.Component.Azure.Storage.Emulator",
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.VC.v141.ATL",
"Microsoft.VisualStudio.Component.VC.v141.x86.x64",
"Microsoft.VisualStudio.Component.Windows10SDK.17134",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeDesktop",

View File

@ -16,8 +16,6 @@
"requiredWorkloads": [
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.VC.v141.ATL",
"Microsoft.VisualStudio.Component.VC.v141.x86.x64",
"Microsoft.VisualStudio.Component.Windows10SDK.17134"
]
}

View File

@ -42,7 +42,7 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">

View File

@ -31,7 +31,7 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<WholeProgramOptimization>false</WholeProgramOptimization>

View File

@ -47,7 +47,7 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<WholeProgramOptimization>true</WholeProgramOptimization>

View File

@ -74,7 +74,7 @@
<PropertyGroup>
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup Label="Configuration">

View File

@ -246,7 +246,6 @@
<ClCompile Include="file_utility.cpp" />
<ClCompile Include="fx_ver.cpp" />
<ClCompile Include="GlobalVersionUtility.cpp" />
<ClCompile Include="HandleWrapper.cpp" />
<ClCompile Include="HostFxr.cpp" />
<ClCompile Include="HostFxrResolver.cpp" />
<ClCompile Include="HostFxrResolutionResult.cpp" />
@ -280,4 +279,4 @@
<Import Project="..\..\build\native.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -1,8 +0,0 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
#include "HandleWrapper.h"
// Workaround for VC++ bug https://developercommunity.visualstudio.com/content/problem/33928/constexpr-failing-on-nullptr-v141-compiler-regress.html
const HANDLE InvalidHandleTraits::DefaultHandle = INVALID_HANDLE_VALUE;
const HANDLE FindFileHandleTraits::DefaultHandle = INVALID_HANDLE_VALUE;

View File

@ -9,7 +9,7 @@
struct InvalidHandleTraits
{
using HandleType = HANDLE;
static const HANDLE DefaultHandle;
static constexpr HANDLE DefaultHandle = nullptr;
static void Close(HANDLE handle) noexcept { CloseHandle(handle); }
};
@ -23,7 +23,7 @@ struct NullHandleTraits
struct FindFileHandleTraits
{
using HandleType = HANDLE;
static const HANDLE DefaultHandle;
static constexpr HANDLE DefaultHandle = nullptr;
static void Close(HANDLE handle) noexcept { FindClose(handle); }
};
@ -35,16 +35,16 @@ struct ModuleHandleTraits
};
// Code analysis doesn't like nullptr usages via traits
#pragma warning( push )
#pragma warning ( disable : 26477 ) // disable Use 'nullptr' rather than 0 or NULL (es.47).
#pragma warning(push)
#pragma warning(disable : 26477) // disable Use 'nullptr' rather than 0 or NULL (es.47).
template<typename traits>
template <typename traits>
class HandleWrapper
{
public:
using HandleType = typename traits::HandleType;
HandleWrapper(HandleType handle = traits::DefaultHandle) noexcept : m_handle(handle) { }
HandleWrapper(HandleType handle = traits::DefaultHandle) noexcept : m_handle(handle) {}
~HandleWrapper()
{
if (m_handle != traits::DefaultHandle)
@ -54,14 +54,14 @@ public:
}
operator HandleType() noexcept { return m_handle; }
HandleWrapper& operator =(HandleType value) noexcept
HandleWrapper &operator=(HandleType value) noexcept
{
DBG_ASSERT(m_handle == traits::DefaultHandle);
m_handle = value;
return *this;
}
HandleType* operator&() noexcept { return &m_handle; }
HandleType *operator&() noexcept { return &m_handle; }
HandleType release() noexcept
{
@ -74,4 +74,4 @@ private:
HandleType m_handle;
};
#pragma warning( pop )
#pragma warning(pop)