Skip to content

Toolset update: VS 2019 16.9 Preview 2 with Clang 11 - #1521

Merged
Stephan T. Lavavej (StephanTLavavej) merged 2 commits into
microsoft:masterfrom
StephanTLavavej:toolset_update
Dec 10, 2020
Merged

Toolset update: VS 2019 16.9 Preview 2 with Clang 11#1521
Stephan T. Lavavej (StephanTLavavej) merged 2 commits into
microsoft:masterfrom
StephanTLavavej:toolset_update

Conversation

@StephanTLavavej

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) commented Dec 9, 2020

Copy link
Copy Markdown
Member
  • Fix provision-image.ps1: Fix Windows Driver Kit installation #1471 by properly waiting for the Windows Driver Kit installation to finish.
  • Update azure-pipelines.yml to use the new pool StlBuild-2020-12-08.
  • Update README.md to mention Preview 2. (Its CMake and Ninja versions haven't changed, and we don't directly mention the Clang version.)
  • Update yvals_core.h to require Clang 11. (Note that MSVC's _MSC_VER is remaining 1928 for the 16.9 release.)
  • Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.)
  • Remove many workarounds in P1502R1_standard_library_header_units.
  • Remove the VSO-1225825 workaround in <iterator> and <ranges>.
  • Unrelated cleanup in <valarray>: __cpp_aligned_new implies if constexpr.
  • Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit.
  • In CMakeLists.txt, require Boost 1.74.0. (This, combined with the toolset update, implies that contributors will need to git submodule update, clean out the vcpkg submodule with git clean -x -d -f, and then bootstrap vcpkg and build boost-math.)
  • Simplify conditional operators in seed_seq::generate.
    • Thanks to Alex Guteniev (@AlexGuteniev) for suggesting extracting _Off and noticing that _Myvec[(_Kx - 1) % _Sx] was unnecessarily complicated. Given _Kx in [1, _Sx], then _Kx - 1 is in [0, _Sx - 1], so % _Sx does nothing.
  • Take advantage of clang-format 11. This sets AlignOperands: AlignAfterOperator and IndentCaseBlocks: true.
  • Run clang-format 11 over the entire codebase. It has better handling of conditional operators.

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) added the infrastructure Related to repository automation label Dec 9, 2020
Comment thread stl/inc/random Outdated
Comment thread stl/inc/xstring Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The LGTM minus the readability regression that Michael Schellenberger Costa (@miscco) already pointed out in <random>.

* Fix microsoft#1471 by properly waiting for the Windows Driver Kit installation to finish.
* Update `azure-pipelines.yml` to use the new pool `StlBuild-2020-12-08`.
* Update `README.md` to mention Preview 2. (Its CMake and Ninja versions haven't changed,
  and we don't directly mention the Clang version.)
* Update `yvals_core.h` to require Clang 11. (Note that MSVC's `_MSC_VER` is remaining `1928` for the 16.9 release.)
* Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.)
* Remove many workarounds in `P1502R1_standard_library_header_units`.
* Remove the VSO-1225825 workaround in `<iterator>` and `<ranges>`.
* Unrelated cleanup in `<valarray>`: `__cpp_aligned_new` implies `if constexpr`.
* Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit.
* In `CMakeLists.txt`, require Boost 1.74.0. (This, combined with the toolset update,
  implies that contributors will need to `git submodule update`, clean out the `vcpkg`
  submodule with `git clean -x -d -f`, and then bootstrap vcpkg and build boost-math.)
* Simplify conditional operators in `seed_seq::generate`.
  + Thanks to @AlexGuteniev for suggesting extracting `_Off` and noticing
    that `_Myvec[(_Kx - 1) % _Sx]` was unnecessarily complicated. Given `_Kx` in `[1, _Sx]`,
    then `_Kx - 1` is in `[0, _Sx - 1]`, so `% _Sx` does nothing.
* Take advantage of clang-format 11. This sets `AlignOperands: AlignAfterOperator` and `IndentCaseBlocks: true`.
@StephanTLavavej

Copy link
Copy Markdown
Member Author

Casey Carter (@CaseyCarter) requested isolating the automated clang-format changes in a separate commit that git blame can be told to ignore, so I've rebased this PR into two commits (apologies for disrupting any review).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new changes look fine to me.

Comment thread tests/std/tests/P1502R1_standard_library_header_units/test.cpp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infrastructure Related to repository automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

provision-image.ps1: Fix Windows Driver Kit installation

4 participants