Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/workflows/update-status-chart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout gh-pages
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: gh-pages
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ">=25.2.1"
node-version: ">=26.4.0"
- name: Install Packages
run: |
npm ci
Expand Down
9 changes: 3 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ cmake_minimum_required(VERSION 4.3.1)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
project(msvc_standard_libraries LANGUAGES CXX)

if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.52.36405.1")
message(FATAL_ERROR "The STL must be built with MSVC Compiler 19.52.36405.1 or later. Follow the README instructions.")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.52.36510")
message(FATAL_ERROR "The STL must be built with MSVC Compiler 19.52.36510 or later. Follow the README instructions.")
endif()

include(CheckCXXSourceCompiles)
Expand Down Expand Up @@ -94,10 +94,7 @@ if(STL_USE_ANALYZE)
# TRANSITION, Windows SDK 10.0.28000 emits multiple warnings:
# "warning C6553: The annotation for function 'LCMapStringEx' on _Param_(9) does not apply to a value type."
# Reported as OS-40109504 "Windows SDK: incorrect SAL annotations on functions the STL uses".
# "warning C28285: For function '_BitScanForward' '_Param_(1)' syntax error in 'SAL_range(0,(sizeof(Mask)*8)-1)' near 'Mask)*8'."
# Reported as VSO-2946529 "/analyze emits warning C28285 for _BitScanForward declared by winnt.h".
# Fixed by OS-PR-14602802 on 2026-01-22.
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/analyze:autolog-;/wd6553;/wd28285>")
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/analyze:autolog-;/wd6553>")

if(VCLIBS_TARGET_ARCHITECTURE STREQUAL "arm64ec")
# TRANSITION, Windows SDK 10.0.28000 emits
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem
- "Windows 11 SDK (10.0.28000)" or later
- "C++ Clang tools for Windows (22.1.3 - x64/x86)"
- *Optional, see Note 2 below:* "MSVC Build Tools for ARM64/ARM64EC (Preview)"
* Install [Python][] 3.14.5 or later.
* Install [Python][] 3.14.6 or later.
+ 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
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-05-21T0342-x64-Fasv6-Pool'
value: 'Stl-2026-06-25T1103-x64-Fasv6-Pool'
readonly: true
- name: x64FastPoolName
value: 'Stl-2026-05-21T0342-x64-Fasv7-Pool'
value: 'Stl-2026-06-25T1103-x64-Fasv7-Pool'
readonly: true
- name: arm64PoolName
value: 'Stl-2026-05-21T0342-arm64-Dpsv6-Pool'
value: 'Stl-2026-06-25T1103-arm64-Dpsv6-Pool'
readonly: true
- name: poolDemands
value: 'EnableSpotVM -equals false'
Expand Down
2 changes: 1 addition & 1 deletion azure-devops/create-1es-hosted-pool.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ if ($VMSku -ieq 'Fasv6') {
$AvailableLocations = @('eastus2', 'northeurope', 'uksouth')
}

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

if ($Arch -ieq 'x64') {
Expand Down
10 changes: 5 additions & 5 deletions azure-devops/provision-image.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -58,23 +58,23 @@ foreach ($workload in $VisualStudioWorkloads) {

# https://github.com/PowerShell/PowerShell/releases/latest
if ($Provisioning_x64) {
$PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/PowerShell-7.6.1-win-x64.msi'
$PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.6.3/PowerShell-7.6.3-win-x64.msi'
} else {
$PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/PowerShell-7.6.1-win-arm64.msi'
$PowerShellUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.6.3/PowerShell-7.6.3-win-arm64.msi'
}
$PowerShellArgs = @('/quiet', '/norestart')

# https://www.python.org
if ($Provisioning_x64) {
$PythonUrl = 'https://www.python.org/ftp/python/3.14.5/python-3.14.5-amd64.exe'
$PythonUrl = 'https://www.python.org/ftp/python/3.14.6/python-3.14.6-amd64.exe'
} else {
$PythonUrl = 'https://www.python.org/ftp/python/3.14.5/python-3.14.5-arm64.exe'
$PythonUrl = 'https://www.python.org/ftp/python/3.14.6/python-3.14.6-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.1/local_installers/cuda_13.2.1_windows.exe'
$CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/13.3.0/local_installers/cuda_13.3.0_windows.exe'
} else {
$CudaUrl = 'CUDA is not installed for ARM64'
}
Expand Down
2 changes: 1 addition & 1 deletion boost-math
Submodule boost-math updated 599 files
12 changes: 1 addition & 11 deletions stl/inc/memory
Original file line number Diff line number Diff line change
Expand Up @@ -3482,11 +3482,9 @@ public:
template <class _Ptr = pointer, enable_if_t<_Can_dereference<_Ptr>, int> = 0>
_NODISCARD _CONSTEXPR23 add_lvalue_reference_t<_Ty> operator*() const noexcept(noexcept(*_STD declval<pointer>())) {
#if _HAS_CXX23
#ifdef __cpp_lib_reference_from_temporary // TRANSITION
static_assert(
!reference_converts_from_temporary_v<add_lvalue_reference_t<_Ty>, decltype(*_STD declval<pointer>())>,
"Can't return a temporary object from unique_ptr::operator*(). (N5014 [unique.ptr.single.observers]/1)");
#endif // ^^^ no workaround ^^^
#endif // _HAS_CXX23
return *_Mypair._Myval2;
}
Expand Down Expand Up @@ -4536,36 +4534,28 @@ _NODISCARD auto inout_ptr(_SmartPtr& _Smart_ptr, _ArgsT&&... _Args) {
}
}

#ifdef __cpp_lib_start_lifetime_as // TRANSITION
#ifdef __cpp_lib_start_lifetime_as // TRANSITION, GH-6169
_EXPORT_STD template <class _Ty>
_Ty* start_lifetime_as(void* const _Ptr) noexcept {
#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, 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, 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, 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);
}
Expand Down
Loading