Skip to content

<atomic>: Add missing atomic& operator=(const atomic&) volatile = delete; overload#4287

Merged
StephanTLavavej merged 1 commit intomicrosoft:mainfrom
frederick-vs-ja:atomic-delete
Jan 9, 2024
Merged

<atomic>: Add missing atomic& operator=(const atomic&) volatile = delete; overload#4287
StephanTLavavej merged 1 commit intomicrosoft:mainfrom
frederick-vs-ja:atomic-delete

Conversation

@frederick-vs-ja
Copy link
Contributor

@frederick-vs-ja frederick-vs-ja commented Dec 24, 2023

Per [atomics.types.generic.general], [atomics.types.int], [atomics.types.float], and [atomics.types.pointer], this overload exists for all specializations.

Unblocks two libcxx tests:

  • std/atomics/atomics.types.generic/atomics.types.float/copy.compile.pass.cpp
  • std/atomics/atomics.types.generic/copy_semantics_traits.pass.cpp

@frederick-vs-ja frederick-vs-ja requested a review from a team as a code owner December 24, 2023 15:42
@CaseyCarter CaseyCarter added the bug Something isn't working label Jan 3, 2024
@StephanTLavavej
Copy link
Member

I verified that there are two unaffected partial specializations (in the Standard and our implementation): atomic<shared_ptr<T>> and atomic<weak_ptr<T>>.

@StephanTLavavej StephanTLavavej self-assigned this Jan 8, 2024
@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 36fd7e6 into microsoft:main Jan 9, 2024
@StephanTLavavej
Copy link
Member

Thanks for investigating these libcxx failures and improving atomic conformance! 😻 ☢️ ✅

@frederick-vs-ja frederick-vs-ja deleted the atomic-delete branch January 9, 2024 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments