Reference (section label): [intro.memory]
Issue descriptionunion U { int x, y; } u; (u.x = 1, 0) + (u.y = 2, 0);
The latter statement makes two unsequenced modifications which target the same storage within u
but are not the same memory location by definition. Therefore, the statement is well-defined, but it should not be.
Update [intro.memory] paragraph 3 as follows:
A memory location is a set of elements which occupy overlapping storage, where each element is either an object of scalar type that is not a bit-field or a maximal sequence of adjacent bit-fields all having nonzero width.
languagelawyerfrederick-vs-ja
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4