Skip to content
Merged
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
2 changes: 1 addition & 1 deletion 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

cmake_minimum_required(VERSION 3.20)
cmake_minimum_required(VERSION 3.21)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
project(msvc_standard_libraries LANGUAGES CXX)

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,10 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem

# How To Build With The Visual Studio IDE

1. Install Visual Studio 2022 17.0 Preview 3 or later.
1. Install Visual Studio 2022 17.0 Preview 4 or later.
* We recommend selecting "C++ CMake tools for Windows" in the VS Installer.
This will ensure that you're using supported versions of CMake and Ninja.
* Otherwise, install [CMake][] 3.20 or later, and [Ninja][] 1.10.2 or later.
* Otherwise, install [CMake][] 3.21 or later, and [Ninja][] 1.10.2 or later.
* We recommend selecting "Python 3 64-bit" in the VS Installer.
* Otherwise, make sure [Python][] 3.9 or later is available to CMake.
2. Open Visual Studio, and choose the "Clone or check out code" option. Enter the URL of this repository,
Expand All @@ -155,10 +155,10 @@ Just try to follow these rules, so we can spend more time fixing bugs and implem

# How To Build With A Native Tools Command Prompt

1. Install Visual Studio 2022 17.0 Preview 3 or later.
1. Install Visual Studio 2022 17.0 Preview 4 or later.
* We recommend selecting "C++ CMake tools for Windows" in the VS Installer.
This will ensure that you're using supported versions of CMake and Ninja.
* Otherwise, install [CMake][] 3.20 or later, and [Ninja][] 1.10.2 or later.
* Otherwise, install [CMake][] 3.21 or later, and [Ninja][] 1.10.2 or later.
* We recommend selecting "Python 3 64-bit" in the VS Installer.
* Otherwise, make sure [Python][] 3.9 or later is available to CMake.
2. Open a command prompt.
Expand Down
4 changes: 2 additions & 2 deletions azure-devops/provision-image.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ if ([string]::IsNullOrEmpty($AdminUserPassword)) {
$PsExecPath = Join-Path $ExtractedPsToolsPath 'PsExec64.exe'

# https://github.com/PowerShell/PowerShell/releases/latest
$PowerShellZipUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/PowerShell-7.1.3-win-x64.zip'
$PowerShellZipUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.1.4/PowerShell-7.1.4-win-x64.zip'
Write-Host "Downloading: $PowerShellZipUrl"
$ExtractedPowerShellPath = DownloadAndExtractZip -Url $PowerShellZipUrl
$PwshPath = Join-Path $ExtractedPowerShellPath 'pwsh.exe'
Expand Down Expand Up @@ -141,7 +141,7 @@ $Workloads = @(
$ReleaseInPath = 'Preview'
$Sku = 'Enterprise'
$VisualStudioBootstrapperUrl = 'https://aka.ms/vs/17/pre/vs_enterprise.exe'
$PythonUrl = 'https://www.python.org/ftp/python/3.9.6/python-3.9.6-amd64.exe'
$PythonUrl = 'https://www.python.org/ftp/python/3.9.7/python-3.9.7-amd64.exe'

# https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk
$WindowsDriverKitUrl = 'https://go.microsoft.com/fwlink/?linkid=2128854'
Expand Down
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ variables:
tmpDir: 'D:\Temp'
buildOutputLocation: 'D:\build'

pool: 'StlBuild-2021-08-11'
pool: 'StlBuild-2021-09-14'

stages:
- stage: Code_Format
Expand Down
4 changes: 0 additions & 4 deletions stl/inc/xstddef
Original file line number Diff line number Diff line change
Expand Up @@ -267,11 +267,7 @@ _NODISCARD constexpr _Ty* _Unfancy(_Ty* _Ptr) noexcept { // do nothing for plain
}
_STD_END

#if defined(__EDG__) && defined(_M_X64) // TRANSITION, VSO-1356169
#define _EMIT_CDECL(FUNC, OPT1, OPT2, OPT3) FUNC(_EMPTY_ARGUMENT, OPT1, OPT2, OPT3)
#else // ^^^ workaround / no workaround vvv
#define _EMIT_CDECL(FUNC, OPT1, OPT2, OPT3) FUNC(__cdecl, OPT1, OPT2, OPT3)
#endif // ^^^ no workaround ^^^

#ifdef _M_CEE
#define _EMIT_CLRCALL(FUNC, OPT1, OPT2, OPT3) FUNC(__clrcall, OPT1, OPT2, OPT3)
Expand Down
2 changes: 0 additions & 2 deletions tests/std/tests/P0122R7_span/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -991,10 +991,8 @@ constexpr bool test() {
assert(*sp_dyn.begin() == 10);
assert(*sp_nine.begin() == 10);

#if !(defined(__EDG__) && defined(_M_X64)) // TRANSITION, VSO-1356637
assert(sp_dyn.end()[-2] == 80);
assert(sp_nine.end()[-2] == 80);
#endif // TRANSITION, VSO-1356637

assert(*sp_dyn.rbegin() == 90);
assert(*sp_nine.rbegin() == 90);
Expand Down
4 changes: 0 additions & 4 deletions tests/std/tests/P0220R1_string_view/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -404,11 +404,7 @@ constexpr bool test_case_iterators() {
assert(*testIterator == static_cast<CharT>('h'));
testIterator += 8;
assert(*testIterator == static_cast<CharT>('r'));
#if defined(__EDG__) && defined(_M_X64) // TRANSITION, VSO-1356637
testIterator -= 4;
#else // ^^^ workaround / no workaround vvv
testIterator += -4;
#endif // ^^^ no workaround ^^^
assert(*testIterator == static_cast<CharT>('o'));

assert(*(testIterator + 6) == static_cast<CharT>('d'));
Expand Down
6 changes: 0 additions & 6 deletions tests/std/tests/P1004R2_constexpr_vector/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,6 @@ constexpr bool test_interface() {
static_assert(is_same_v<remove_const_t<decltype(cb2)>, vec::const_iterator>);
assert(*cb2 == 0);

#if !(defined(__EDG__) && defined(_M_X64)) // TRANSITION, VSO-1356637
const auto e = range_constructed.end();
static_assert(is_same_v<remove_const_t<decltype(e)>, vec::iterator>);
assert(*prev(e) == 5);
Expand All @@ -248,7 +247,6 @@ constexpr bool test_interface() {
const auto ce2 = const_range_constructed.end();
static_assert(is_same_v<remove_const_t<decltype(ce2)>, vec::const_iterator>);
assert(*prev(ce2) == 5);
#endif // TRANSITION, VSO-1356637

const auto rb = range_constructed.rbegin();
static_assert(is_same_v<remove_const_t<decltype(rb)>, reverse_iterator<vec::iterator>>);
Expand Down Expand Up @@ -315,15 +313,13 @@ constexpr bool test_interface() {
static_assert(is_same_v<remove_const_t<decltype(cf)>, int>);
assert(cf == 0);

#if !(defined(__EDG__) && defined(_M_X64)) // TRANSITION, VSO-1356637
const auto b = range_constructed.back();
static_assert(is_same_v<remove_const_t<decltype(b)>, int>);
assert(b == 5);

const auto cb = const_range_constructed.back();
static_assert(is_same_v<remove_const_t<decltype(cb)>, int>);
assert(cb == 5);
#endif // TRANSITION, VSO-1356637

const auto d = range_constructed.data();
static_assert(is_same_v<remove_const_t<decltype(d)>, int*>);
Expand Down Expand Up @@ -555,7 +551,6 @@ constexpr bool test_iterators() {
assert(*cit == 4);
}

#if !(defined(__EDG__) && defined(_M_X64)) // TRANSITION, VSO-1356637
{ // advance back
auto it = range_constructed.end() - 2;
assert(*it == 4);
Expand All @@ -567,7 +562,6 @@ constexpr bool test_iterators() {
cit -= 2;
assert(*cit == 2);
}
#endif // TRANSITION, VSO-1356637

{ // difference
const auto it1 = range_constructed.begin();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -709,7 +709,7 @@ int main() {
assert(read == expected);
}

#if 0 // TRANSITION, DevCom-1511903
#ifdef MSVC_INTERNAL_TESTING // TRANSITION, DevCom-1511903
const char const_buffer[] = "1 2 3 4 5";
basic_ispanstream<char> is_const_buffer{span<const char>{const_buffer}};
read = 0;
Expand Down
2 changes: 1 addition & 1 deletion tools/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

cmake_minimum_required(VERSION 3.20)
cmake_minimum_required(VERSION 3.21)
project(msvc_standard_libraries_tools LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
Expand Down