Skip to content

Conversation

@eisenwave
Copy link
Member

Fixes #6551.

@eisenwave eisenwave force-pushed the clarify-modification branch from 6f2b4e8 to 8836ae4 Compare October 21, 2024 18:32
@eisenwave eisenwave changed the title [expr.ass] Clarify that assignment always modifies [intro.races] Clarify conflicts for the case where no bits are changed Oct 21, 2024
@eisenwave
Copy link
Member Author

The new approach is now to

  • add a cross-reference to [defns.access], and
  • add a note which clarifies in [intro.races] that lack of bit changes does not absolve a modification from conflicting with another.

It is sufficiently clear that [expr.ass] always performs a modification, but due to the nature of the term "modify", it is not obvious that a modification that doesn't actually modify any bits can cause a data race.

@eisenwave eisenwave force-pushed the clarify-modification branch from 8836ae4 to 78653e6 Compare October 22, 2024 04:33
@eisenwave eisenwave force-pushed the clarify-modification branch from 87e927e to 0a39c2c Compare October 23, 2024 11:00
Copy link
Member

@jwakely jwakely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not a Core wording or concurrency wording expert, but I like this.

@tkoeppe tkoeppe merged commit e70d9d6 into cplusplus:main Oct 23, 2024
2 checks passed
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.

[intro.races] It is slightly unclear whether a data race can occur if no bits are changed

5 participants