-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Toolset update: VS 2022 17.3 Preview 2, CUDA 11.6.0 #2791
Merged
StephanTLavavej
merged 15 commits into
microsoft:main
from
StephanTLavavej:toolset-update
Jun 16, 2022
Merged
Toolset update: VS 2022 17.3 Preview 2, CUDA 11.6.0 #2791
StephanTLavavej
merged 15 commits into
microsoft:main
from
StephanTLavavej:toolset-update
Jun 16, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"Standard Library Header Units: Splitting `<chrono>` emits fatal error C1116: unrecoverable error importing header unit `'<chrono>'`"
"Compiler ICE on reference to pointer in constexpr" vector ~2048: This is clearer with the workaround as _Temp is used repeatedly, but we can extract it. vector ~3279: This is clearer with the workaround as _Temp is used repeatedly. xmemory ~1209: Remove the workaround as _Temp is used only once. xmemory ~1230: This is significantly clearer with the workaround, so make it permanent. (The workaround used `auto& _Pnext`, whereas the original code used pointers-to-pointers.)
The perma-workaround loop makes this clear; it was very subtle in the original loop.
Related to GH 2658; MSVC-PR-391437 added this to VCRuntime.
This is documented by `cl /?`, and was added in 16.1 by MSVC-PR-162175.
CaseyCarter
approved these changes
Jun 15, 2022
Co-authored-by: Casey Carter <[email protected]>
CaseyCarter
approved these changes
Jun 15, 2022
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
This was referenced Jun 16, 2022
fsb4000
pushed a commit
to fsb4000/STL
that referenced
this pull request
Aug 13, 2022
Co-authored-by: Casey Carter <[email protected]>
This was referenced Aug 28, 2022
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This updates the toolset to:
<yvals_core.h>
because the internal build still uses 19.32.CMakeLists.txt
.azure-devops/provision-image.ps1
now installs all CUDA features, which is much easier than enumerating almost all of them.<yvals_core.h>
.Then we can remove workarounds:
tests/std/tests/GH_000639_nvcc_include_all/env.lst
--allow-unsupported-compiler
, now that we're using a CUDA-supported scenario.tests/std/tests/P1502R1_standard_library_header_units/test.cpp
<chrono>
emits fatal error C1116: unrecoverable error importing header unit'<chrono>'
".constexpr
".<vector>
2051-2056: This is clearer with the workaround as_Temp
is used repeatedly, but we can extract it.<vector>
3282: This is clearer with the workaround as_Temp
is used repeatedly.<xmemory>
1212: Remove the workaround as_Temp
is used only once.<xmemory>
1233-1236: The original code used pointers-to-pointers, which were difficult to read. The workaround was significantly clearer, but still had subtle behavior - it was writing toauto& _Pnext
repeatedly, ultimately nulling it out (so the separate assignment was redundant). As @CaseyCarter observed, we can avoid the subtlety by usingexchange()
to null out_Myproxy->_Myfirstiter
immediately, and then the rest of the loop can use a non-reference variable.<format>
consteval
+/presetPadding
error".<yvals_core.h>
_MSVC_CONSTEXPR
fallback definition. This is related to Annotate some functions_MSVC_CONSTEXPR
#2658, where MSVC-PR-391437 added this to VCRuntime.CMakeLists.txt
/d1FastFail
to/fastfail
. This is documented bycl /?
, and was added in VS 2019 16.1 by MSVC-PR-162175.I am planning a followup PR to address #1301 by removing
_HAS_CONDITIONAL_EXPLICIT
now that CUDA 11.6.0 supports it; this should be separate because the change is large and may need to be reverted.