Skip to content
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

Strengthen C++20 SC accesses #2512

Merged
merged 6 commits into from
Aug 28, 2022
Merged

Strengthen C++20 SC accesses #2512

merged 6 commits into from
Aug 28, 2022

Conversation

cbeuw
Copy link
Contributor

@cbeuw cbeuw commented Aug 27, 2022

@SabrinaJewson noted in #2301 that Miri could produce behaviours forbidden under C++20 even without SC fences. Due to the added coherence-ordered before relationship which is created from read from and read before, plus the fact that coherence-ordered before between SC operations must be consistent with the Global Total Order S, in C++20 if there's an SC load that reads from any store, then a later SC load cannot read before that store. This PR adds this restriction

@bors
Copy link
Collaborator

bors commented Aug 27, 2022

☔ The latest upstream changes (presumably #2455) made this pull request unmergeable. Please resolve the merge conflicts.

@RalfJung
Copy link
Member

Thanks! LGTM, apart from the comment.

@RalfJung
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Aug 28, 2022

📌 Commit 3e97d8e has been approved by RalfJung

It is now in the queue for this repository.

@bors
Copy link
Collaborator

bors commented Aug 28, 2022

⌛ Testing commit 3e97d8e with merge 8866513...

@bors
Copy link
Collaborator

bors commented Aug 28, 2022

☀️ Test successful - checks-actions
Approved by: RalfJung
Pushing 8866513 to master...

@bors bors merged commit 8866513 into rust-lang:master Aug 28, 2022
@cbeuw cbeuw deleted the scfix branch August 28, 2022 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants