Toolset update: MSVC Compiler 19.52.36307.1 by StephanTLavavej · Pull Request #6260 · microsoft/STL · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
b6c4761
Got 1024 cores of Dpsv6 in uksouth, add comments.
StephanTLavavej Apr 6, 2026
b5b240b
VS-PR-713550 on 2026-03-03 added `-Preview -NoLogo` to `Launch-VsDevS…
StephanTLavavej Apr 14, 2026
b802085
Cycle locations.
StephanTLavavej Apr 14, 2026
0287b25
Remove TRANSITION comment about DefaultOutboundAccess.
StephanTLavavej Apr 14, 2026
ce37ae6
Python 3.14.4 (now required).
StephanTLavavej Apr 14, 2026
926020e
CUDA 13.2.1.
StephanTLavavej Apr 14, 2026
a6040f2
MSVC Compiler 19.52.36307.1 (now required).
StephanTLavavej Apr 14, 2026
0ccd4ee
Windows 11 SDK 10.0.28000 (now required for STL development, but not …
StephanTLavavej Apr 14, 2026
3ffaf17
VS-PR-713693 on 2026-03-03 fixed DevCom-11012299 "EDG crashes when ha…
StephanTLavavej Apr 15, 2026
49e9904
VS-PR-713693 on 2026-03-03 fixed VSO-2581623 "EDG should implement `_…
StephanTLavavej Apr 15, 2026
ed769f9
libcxx/expected_results.txt: Cleanup an unnecessary MSVC-internal skip.
StephanTLavavej Apr 15, 2026
488e28d
Some constexpr FAILs are now passing.
StephanTLavavej Apr 15, 2026
8909588
Extend Clang workaround to EDG.
StephanTLavavej Apr 16, 2026
42d86ed
New pools.
StephanTLavavej Apr 17, 2026
8e7d21f
MSVC-PR-720628 on 2026-03-26 fixed DevCom-11070772 "MSVC fails to act…
StephanTLavavej Apr 17, 2026
9509cd4
Work around VSO-2946529 "/analyze emits warning C28285 for _BitScanFo…
StephanTLavavej Apr 17, 2026
121ec1e
Work around VSO-1639191 "Excessive memory consumption with /analyze t…
StephanTLavavej Apr 18, 2026
8327469
Work around GH 3567 "Ranges tests consuming excessive compiler memory".
StephanTLavavej Apr 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions CMakeLists.txt
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,10 +148,10 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem
- "MSVC Build Tools for x64/x86 (Preview)"
- "C++ CMake tools for Windows"
- "MSVC AddressSanitizer"
- "Windows 11 SDK (10.0.26100)" or later
- "Windows 11 SDK (10.0.28000)" or later
- "C++ Clang tools for Windows (20.1.8 - x64/x86)"
- *Optional, see Note 2 below:* "MSVC Build Tools for ARM64/ARM64EC (Preview)"
* Install [Python][] 3.14.3 or later.
* Install [Python][] 3.14.4 or later.
Comment thread
davidmrdavid marked this conversation as resolved.
+ Select "Add python.exe to PATH" if you want to follow the instructions below that invoke `python`.
Otherwise, you should be familiar with alternative methods.

Expand Down
4 changes: 2 additions & 2 deletions azure-devops/build-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ steps:
if (Test-Path -LiteralPath "$(benchmarkBuildOutputLocation)\${{ parameters.compiler }}") {
Remove-Item -LiteralPath "$(benchmarkBuildOutputLocation)\${{ parameters.compiler }}" -Recurse -Force
}
& "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
& "$(launchVsDevShell)" -Preview -NoLogo -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
cmake -G Ninja `
-DCMAKE_CXX_COMPILER=${{ parameters.compiler }} `
-DCMAKE_BUILD_TYPE=Release `
Expand All @@ -45,7 +45,7 @@ steps:
targetType: inline
script: |
$PSNativeCommandUseErrorActionPreference = $true
& "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
& "$(launchVsDevShell)" -Preview -NoLogo -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
cmake --build "$(benchmarkBuildOutputLocation)\${{ parameters.compiler }}"
timeoutInMinutes: 2
env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
Expand Down
4 changes: 2 additions & 2 deletions azure-devops/cmake-configure-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ steps:
if (Test-Path -LiteralPath "$(buildOutputLocation)") {
Remove-Item -LiteralPath "$(buildOutputLocation)" -Recurse -Force
}
& "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
& "$(launchVsDevShell)" -Preview -NoLogo -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
cmake -G Ninja `
-DCMAKE_CXX_COMPILER=cl `
-DCMAKE_BUILD_TYPE=Release `
Expand All @@ -57,7 +57,7 @@ steps:
targetType: inline
script: |
$PSNativeCommandUseErrorActionPreference = $true
& "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
& "$(launchVsDevShell)" -Preview -NoLogo -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
cmake --build "$(buildOutputLocation)"
timeoutInMinutes: 5
condition: and(succeeded(), ${{ parameters.buildStl }})
Expand Down
6 changes: 3 additions & 3 deletions azure-devops/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@

variables:
- name: x64SlowPoolName
value: 'Stl-2026-04-01T0703-x64-Fasv6-Pool'
value: 'Stl-2026-04-17T0531-x64-Fasv6-Pool'
readonly: true
- name: x64FastPoolName
value: 'Stl-2026-04-01T0703-x64-Fasv7-Pool'
value: 'Stl-2026-04-17T0531-x64-Fasv7-Pool'
readonly: true
- name: arm64PoolName
value: 'Stl-2026-04-01T0703-arm64-Dpsv6-Pool'
value: 'Stl-2026-04-17T0531-arm64-Dpsv6-Pool'
readonly: true
- name: poolDemands
value: 'EnableSpotVM -equals false'
Expand Down
16 changes: 6 additions & 10 deletions azure-devops/create-1es-hosted-pool.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -29,26 +29,27 @@ $Timestamp = $CurrentDate.ToString('yyyy-MM-ddTHHmm')
# | Fasv7 | southeastasia | 640 | |
# | Dpsv6 | eastus2 | 1024 | |
# | Dpsv6 | northeurope | 1024 | |
# | Dpsv6 | uksouth | 1024 | |
# | Dpsv6 | westcentralus | 672 | Not currently used |

if ($VMSku -ieq 'Fasv6') {
$Arch = 'x64'
$VMSize = 'Standard_F32as_v6'
$PoolSize = 64
$PoolSize = 64 # We have quota for 4096 cores (128 VMs), so we can have old and new pools of 64 VMs each.
$AvailableLocations = @('eastus2')
} elseif ($VMSku -ieq 'Fasv7') {
$Arch = 'x64'
$VMSize = 'Standard_F32as_v7'
$PoolSize = 20
$PoolSize = 20 # Locations where we have quota for at least 640 cores (20 VMs):
$AvailableLocations = @('australiaeast', 'northeurope', 'southeastasia')
} elseif ($VMSku -ieq 'Dpsv6') {
$Arch = 'arm64'
$VMSize = 'Standard_D32ps_v6'
$PoolSize = 32
$AvailableLocations = @('eastus2', 'northeurope') # Locations where CPP_STL_GitHub has quota for 1024 cores (32 VMs).
$PoolSize = 32 # Locations where we have quota for at least 1024 cores (32 VMs):
$AvailableLocations = @('eastus2', 'northeurope', 'uksouth')
}

$AvailableLocationIdx = 7 # Increment for each new set of pools, to cycle through the available locations.
$AvailableLocationIdx = 8 # Increment for each new set of pools, to cycle through the available locations.
$Location = $AvailableLocations[$AvailableLocationIdx % $AvailableLocations.Length]

if ($Arch -ieq 'x64') {
Expand Down Expand Up @@ -179,11 +180,6 @@ $NetworkSecurityGroup = New-AzNetworkSecurityGroup `
####################################################################################################
Display-ProgressBar -Status 'Creating virtual network subnet config'

# TRANSITION, 2026-03-31: "After March 31, 2026, new virtual networks will default to using private subnets,
# meaning that an explicit outbound method must be enabled in order to reach public endpoints on the Internet
# and within Microsoft."
# https://learn.microsoft.com/azure/virtual-network/ip-services/default-outbound-access
# We're using `-DefaultOutboundAccess $false` to opt-in early.
$SubnetName = "$ResourceGroupName-Subnet"
$Subnet = New-AzVirtualNetworkSubnetConfig `
-Name $SubnetName `
Expand Down
6 changes: 3 additions & 3 deletions azure-devops/format-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
if (Test-Path -LiteralPath "$(validationBuildOutputLocation)") {
Remove-Item -LiteralPath "$(validationBuildOutputLocation)" -Recurse -Force
}
& "$(launchVsDevShell)" -HostArch x64 -Arch x64
& "$(launchVsDevShell)" -Preview -NoLogo -HostArch x64 -Arch x64
cmake -G Ninja -S $(Build.SourcesDirectory)/tools -B "$(validationBuildOutputLocation)"
cmake --build "$(validationBuildOutputLocation)"
timeoutInMinutes: 5
Expand All @@ -31,7 +31,7 @@ jobs:
targetType: inline
script: |
$PSNativeCommandUseErrorActionPreference = $true
& "$(launchVsDevShell)" -HostArch x64 -Arch x64
& "$(launchVsDevShell)" -Preview -NoLogo -HostArch x64 -Arch x64
cmake --build "$(validationBuildOutputLocation)" --target run-format
timeoutInMinutes: 5
env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
Expand All @@ -42,7 +42,7 @@ jobs:
targetType: inline
script: |
$PSNativeCommandUseErrorActionPreference = $true
& "$(launchVsDevShell)" -HostArch x64 -Arch x64
& "$(launchVsDevShell)" -Preview -NoLogo -HostArch x64 -Arch x64
cmake --build "$(validationBuildOutputLocation)" --target run-validate
timeoutInMinutes: 2
env: { TMP: $(tmpDir), TEMP: $(tmpDir) }
Expand Down
15 changes: 4 additions & 11 deletions azure-devops/provision-image.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ $VisualStudioWorkloads = @(
'Microsoft.VisualStudio.Component.VC.Preview.ARM64',
'Microsoft.VisualStudio.Component.VC.Preview.CLI.Support',
'Microsoft.VisualStudio.Component.VC.Preview.Tools.x86.x64',
'Microsoft.VisualStudio.Component.Windows11SDK.26100'
'Microsoft.VisualStudio.Component.Windows11SDK.28000'
)

# https://learn.microsoft.com/visualstudio/install/visual-studio-on-arm-devices
Expand All @@ -66,15 +66,15 @@ $PowerShellArgs = @('/quiet', '/norestart')

# https://www.python.org
if ($Provisioning_x64) {
$PythonUrl = 'https://www.python.org/ftp/python/3.14.3/python-3.14.3-amd64.exe'
$PythonUrl = 'https://www.python.org/ftp/python/3.14.4/python-3.14.4-amd64.exe'
} else {
$PythonUrl = 'https://www.python.org/ftp/python/3.14.3/python-3.14.3-arm64.exe'
$PythonUrl = 'https://www.python.org/ftp/python/3.14.4/python-3.14.4-arm64.exe'
}
$PythonArgs = @('/quiet', 'InstallAllUsers=1', 'PrependPath=1', 'CompileAll=1', 'Include_doc=0')

# https://developer.nvidia.com/cuda-toolkit
if ($Provisioning_x64) {
$CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda_13.2.0_windows.exe'
$CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/13.2.1/local_installers/cuda_13.2.1_windows.exe'
} else {
$CudaUrl = 'CUDA is not installed for ARM64'
}
Expand Down Expand Up @@ -185,13 +185,6 @@ if ($Provisioning_x64) {
EnableNativeNVMe
}

# TRANSITION, patch Launch-VsDevShell.ps1 to pass `-vcvars_ver=preview` before a proper parameter is available.
Write-Host 'Patching Launch-VsDevShell.ps1...'
$launchVsDevShell = 'C:\Program Files\Microsoft Visual Studio\18\Insiders\Common7\Tools\Launch-VsDevShell.ps1'
$paramRegex = 'VsInstanceId = \$instanceId'
$paramSubst = '$&; DevCmdArguments = "-vcvars_ver=preview";'
(Get-Content -Raw $launchVsDevShell) -creplace $paramRegex, $paramSubst | Set-Content -NoNewLine $launchVsDevShell

# Tell create-1es-hosted-pool.ps1 that we succeeded.
Write-Host 'PROVISION_IMAGE_SUCCEEDED'

Expand Down
2 changes: 1 addition & 1 deletion azure-devops/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ steps:
targetType: inline
script: |
$PSNativeCommandUseErrorActionPreference = $true
& "$(launchVsDevShell)" -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
& "$(launchVsDevShell)" -Preview -NoLogo -HostArch ${{ parameters.hostArch }} -Arch ${{ parameters.targetArch }}
ninja --verbose -k 0 ${{ parameters.testTargets }}
timeoutInMinutes: 30
condition: and(succeeded(), ${{ parameters.runTesting }})
Expand Down
8 changes: 4 additions & 4 deletions stl/inc/memory
Original file line number Diff line number Diff line change
Expand Up @@ -4539,31 +4539,31 @@ _NODISCARD auto inout_ptr(_SmartPtr& _Smart_ptr, _ArgsT&&... _Args) {
#ifdef __cpp_lib_start_lifetime_as // TRANSITION
_EXPORT_STD template <class _Ty>
_Ty* start_lifetime_as(void* const _Ptr) noexcept {
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION, toolset update
static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)");
#endif // ^^^ no workaround ^^^
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)");
return __builtin_start_lifetime_as<_Ty>(_Ptr);
}
_EXPORT_STD template <class _Ty>
const _Ty* start_lifetime_as(const void* const _Ptr) noexcept {
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION, toolset update
static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)");
#endif // ^^^ no workaround ^^^
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)");
return __builtin_start_lifetime_as<_Ty>(_Ptr);
}
_EXPORT_STD template <class _Ty>
volatile _Ty* start_lifetime_as(volatile void* const _Ptr) noexcept {
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION, toolset update
static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)");
#endif // ^^^ no workaround ^^^
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)");
return __builtin_start_lifetime_as<_Ty>(_Ptr);
}
_EXPORT_STD template <class _Ty>
const volatile _Ty* start_lifetime_as(const volatile void* const _Ptr) noexcept {
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION, toolset update
static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)");
#endif // ^^^ no workaround ^^^
static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)");
Expand Down
2 changes: 1 addition & 1 deletion stl/inc/type_traits
Original file line number Diff line number Diff line change
Expand Up @@ -718,7 +718,7 @@ _EXPORT_STD template <class _Ty>
_NO_SPECIALIZATIONS_OF_TYPE_TRAITS constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Ty);

#if _HAS_CXX23
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION
#ifdef __cpp_lib_is_implicit_lifetime // TRANSITION, toolset update
_EXPORT_STD template <class _Ty>
struct _NO_SPECIALIZATIONS_OF_TYPE_TRAITS is_implicit_lifetime : bool_constant<__builtin_is_implicit_lifetime(_Ty)> {};

Expand Down
2 changes: 1 addition & 1 deletion stl/inc/yvals_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -1759,7 +1759,7 @@ _EMIT_STL_ERROR(STL1004, "C++98 unexpected() is incompatible with C++23 unexpect
#define __cpp_lib_invoke_r 202106L
#define __cpp_lib_ios_noreplace 202207L

#if !defined(__EDG__) && (defined(__clang__) || _MSC_VER >= 1951) // TRANSITION, GH-5738, VSO-2581623, toolset update
#if defined(__clang__) || defined(__EDG__) || _MSC_VER >= 1951 // TRANSITION, toolset update
#define __cpp_lib_is_implicit_lifetime 202302L
#endif // ^^^ no workaround ^^^

Expand Down
2 changes: 1 addition & 1 deletion tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

find_package(Python "3.14.3" REQUIRED COMPONENTS Interpreter)
find_package(Python "3.14.4" REQUIRED COMPONENTS Interpreter)

set(STL_BUILD_ROOT "${PROJECT_BINARY_DIR}/out")
set(STL_SOURCE_DIR "${PROJECT_SOURCE_DIR}")
Expand Down
16 changes: 0 additions & 16 deletions tests/libcxx/expected_results.txt
Original file line number Diff line number Diff line change
Expand Up @@ -399,14 +399,10 @@ std/strings/strings.erasure/erase.pass.cpp:1 FAIL
# VSO-2338880 constexpr error in vector::iterator's _Compat() check when using views::transform
std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp:0 FAIL
std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp:1 FAIL
std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.segmented.pass.cpp:0 FAIL
std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.segmented.pass.cpp:1 FAIL
std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.segmented.pass.cpp:0 FAIL
std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.segmented.pass.cpp:1 FAIL
std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.segmented.pass.cpp:0 FAIL
std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.segmented.pass.cpp:1 FAIL
std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.segmented.pass.cpp:0 FAIL
std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.segmented.pass.cpp:1 FAIL
std/algorithms/alg.modifying.operations/alg.move/ranges.move.segmented.pass.cpp:0 FAIL
std/algorithms/alg.modifying.operations/alg.move/ranges.move.segmented.pass.cpp:1 FAIL

Expand All @@ -424,14 +420,6 @@ std/containers/views/mdspan/mdspan/index_operator.pass.cpp:1 FAIL
std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/pointer_deleter.pass.cpp:0 FAIL
std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/pointer_deleter.pass.cpp:1 FAIL

# VSO-2574473 constexpr error in ranges::join_with_view: failure was caused by unevaluable pointer value
std/ranges/range.adaptors/range.adjacent.transform/general.pass.cpp:0 FAIL
std/ranges/range.adaptors/range.adjacent.transform/general.pass.cpp:1 FAIL
std/ranges/range.adaptors/range.adjacent/general.pass.cpp:0 FAIL
std/ranges/range.adaptors/range.adjacent/general.pass.cpp:1 FAIL
std/ranges/range.adaptors/range.join.with/range.join.with.iterator/ctor.not_const.pass.cpp:0 FAIL
std/ranges/range.adaptors/range.join.with/range.join.with.iterator/ctor.not_const.pass.cpp:1 FAIL

# VSO-2574489 constexpr ICE-on-valid with vector<bool>
std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp:0 FAIL
std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp:1 FAIL
Expand Down Expand Up @@ -1247,7 +1235,3 @@ std/iterators/iterator.container/ssize.LWG3207.compile.pass.cpp:9 SKIPPED

# This test is marked as `REQUIRES: target={{.+}}-apple-{{.+}}`.
std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.writefail.pass.cpp:9 SKIPPED

# This test has one check guarded in a "not CLANG" block, but upcoming MSVC will implement the
# same behavior for binding an xvalue conversion function result to a const lvalue reference.
std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp:9 SKIPPED
4 changes: 4 additions & 0 deletions tests/std/tests/P0009R18_mdspan_extents/test.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#if defined(_PREFAST_) && defined(_M_IX86) // TRANSITION, VSO-1639191
int main() {}
#else // ^^^ workaround / no workaround vvv
#include <array>
#include <cassert>
#include <concepts>
Expand Down Expand Up @@ -549,3 +552,4 @@ int main() {
static_assert(test());
test();
}
#endif // ^^^ no workaround ^^^
4 changes: 4 additions & 0 deletions tests/std/tests/P0009R18_mdspan_layout_left/test.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// Copyright (c) Microsoft Corporation.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

#if defined(_PREFAST_) && defined(_M_IX86) // TRANSITION, VSO-1639191
int main() {}
#else // ^^^ workaround / no workaround vvv
#include <array>
#include <cassert>
#include <concepts>
Expand Down Expand Up @@ -493,3 +496,4 @@ int main() {
static_assert(test());
test();
}
#endif // ^^^ no workaround ^^^
4 changes: 4 additions & 0 deletions tests/std/tests/P0009R18_mdspan_layout_right/test.cpp
Loading