-
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.6 Preview 3 #3651
Merged
Merged
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
…rsed order of `operator==` is sometimes buggy".
…mode". Now we don't need the `is_permissive` detection machinery.
…internal enumeration functions for working with C++ modules".
…ormatting emits bogus error C3861: '_Fill_tm': identifier not found".
…l sort() emits bogus error C2065: '_Atomic_counter_t': undeclared identifier".
…ctor insert() in debug mode with 'attempt to access run-time storage' errors".
…r rejects left <= right when null pointers are passed by reference".
…nstexpr string/vector in debug mode with 'attempt to access expired storage' errors, part 2".
…urce_location::column() misbehaves in user headers".
…e `_HAS_ARM64_LOAD_ACQUIRE`.
…ebug mode with 'attempt to access expired storage' errors, part 3".
StephanTLavavej
added
high priority
Important!
infrastructure
Related to repository automation
labels
Apr 12, 2023
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
This comment was marked as resolved.
This comment was marked as resolved.
They're declared as: ``` __MACHINEARM64(void __stlr8(volatile unsigned __int8 * _Target, unsigned __int8 _Value)) __MACHINEARM64(void __stlr16(volatile unsigned __int16 * _Target, unsigned __int16 _Value)) __MACHINEARM64(void __stlr32(volatile unsigned __int32 * _Target, unsigned __int32 _Value)) __MACHINEARM64(void __stlr64(volatile unsigned __int64 * _Target, unsigned __int64 _Value)) ``` So we need to `static_cast` the `_Desired` value.
They're declared as: ``` __MACHINEARM64(unsigned __int8 __load_acquire8(const volatile unsigned __int8 * _Target)) __MACHINEARM64(unsigned __int16 __load_acquire16(const volatile unsigned __int16 * _Target)) __MACHINEARM64(unsigned __int32 __load_acquire32(const volatile unsigned __int32 * _Target)) __MACHINEARM64(unsigned __int64 __load_acquire64(const volatile unsigned __int64 * _Target)) ``` We need to `static_cast` the return value to match `__iso_volatile_load`: ``` __MACHINE(__int8 __iso_volatile_load8(const volatile __int8 *)) __MACHINE(__int16 __iso_volatile_load16(const volatile __int16 *)) __MACHINE(__int32 __iso_volatile_load32(const volatile __int32 *)) __MACHINE(__int64 __iso_volatile_load64(const volatile __int64 *)) ```
I've filed LLVM-62103 to request support.
* Use headers instead of bold text. + This creates clearer sections, and prevents the headers from flowing together with following text. * Use `+` for nested bullet points. + This makes the structure a bit easier to see. * Remove a newline between "Option 1" and "Option 2" so the bulleted list is formatted densely.
This comment was marked as resolved.
This comment was marked as resolved.
This adds `/std:c++latest` to the example repro. Although it displays a lengthy notice, I believe it's valuable to include here. (Many bug reports will need it and it's easy for people new to the command line to forget it.) This also updates the example versions to VS 2022 17.6 Preview 3, since we hadn't updated them since open-sourcing. Finally, this shows how the Copy Info button can be used, and mentions that "we need only the first two lines".
strega-nil-ms
approved these changes
Apr 12, 2023
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
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.
InstallPath
andNickname
parameters.$ReleaseInPath
and$Sku
variables.Update-AzConfig
to silence breaking change warnings./quiet
option toml[64]
.operator==
is sometimes buggy".is_permissive
detection machinery.'_Fill_tm'
: identifier not found".sort()
emits bogus error C2065:'_Atomic_counter_t'
: undeclared identifier"./analyze
ICE".constexpr vector insert()
in debug mode with 'attempt to access run-time storage' errors".constexpr
rejectsleft <= right
when null pointers are passed by reference".constexpr
string
/vector
in debug mode with 'attempt to access expired storage' errors, part 2".source_location::column()
misbehaves in user headers".<atomic>
:intrin0.inl.h
has been updated to always define_HAS_ARM64_LOAD_ACQUIRE
.constexpr vector
in debug mode with 'attempt to access expired storage' errors, part 3".__stlr
.static_cast
the_Desired
value.__load_acquire
.static_cast
the return value to match__iso_volatile_load
:<atomic>
: Clang ARM64 lacks__load_acquire
/__stlr
.__load_acquire
/__stlr
intrinsics llvm/llvm-project#62103 to request support.bug-report.md
Markdown.+
for nested bullet points.bug-report.md
for VS 2022, add/std:c++latest
./std:c++latest
to the example repro. Although it displays a lengthy notice, I believe it's valuable to include here. (Many bug reports will need it and it's easy for people new to the command line to forget it.)