-
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 1 #2714
Toolset update: VS 2022 17.3 Preview 1 #2714
Conversation
Should be paired with MSVC-internal changes to: src/vctools/crt/crt_build.settings.targets
We probably need to modify src/vctools/crt/crt-common.settings.targets to set Win32WinNt and NtddiVersion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM, but I don't feel comfortable enough with the codebase yet to be a final reviewer.
Mirrored to internal MSVC-PR-398667 with passing tests. (I can easily push changes to both for code review feedback.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verified there are no remaining mentions of /Za
and winsdk
, and no files with winsdk
in their names.
stl/CMakeLists.txt
, we don't need to includecrt/src/concrt
anymore.<concrtinternal.h>
etc.src/vctools/crt/crt_build.settings.targets
.<Windows.h>
from headers) allows us to remove a couple of long-standing workarounds.filesystem.cpp
, we can directly useFILE_DISPOSITION_INFO_EX
now.static_assert
that thesestruct
s are layout-compatible, and that the constants have identical values.CMakeLists.txt
, we need to increaseNTDDI_VERSION
in order to get the declaration ofFileDispositionInfoEx
. Instead of increasing it to the exact value we need, I am going further and increasing it to the maximum supported value right now,NTDDI_WIN10_CO
, so that we can access other declarations if necessary (see the comment above)._WIN32_WINNT
(due to an apparent mistake in the WinSDK headers, theFILE_DISPOSITION_FLAG_DELETE
etc. macros are effectively unguarded), but I am increasing it to its maximum value of Win10 for consistency.src/vctools/crt/crt-common.settings.targets
, settingWin32WinNt
andNtddiVersion
./Za
test coverage. (No product changes.)/Za
configurations from the remaining matrices (we never combined them with unique options so they can simply be dropped) and removes some test workarounds./Za
)./Za
has always been problematically buggy, but it also used to be the only way to request extra conformance from MSVC. Now,/permissive-
and/Zc:preprocessor
have morally superseded/Za
, and/Za
is officially discouraged in the documentation. We also have excellent conformance coverage from Clang in its strict mode and EDG, so it has been aeons since/Za
found anything in the STL that needed to be changed. Removing this test coverage doesn't block users from using/Za
with the STL, and we'll continue to fix any reported conformance issues in the library, but we won't spend effort on working around/Za
bugs in the product and test code._declspec
in the ancientDev09_056375_locale_cleanup/testdll.cpp
./Za
, the compiler emitted errors in the WinSDK headers followed by complaining about this single-underscore extension; we should fix it even though we're dropping/Za
coverage).