|
|
|
|
|
by rocketrascal
24 days ago
|
|
Are you sure? >unsequenced side effects on the same scalar object are UB >6.5.3.3.8 tells us that the evaluations of function arguments are indeterminately sequenced w.r.t. each other. Read 5.1.2.4.3: "If A is not sequenced before or after B, then A and B are unsequenced." "Evaluations A and B are indeterminately sequenced when A is sequenced either before or after B, but it is unspecified which." With a footnote saying this: "9)The executions of unsequenced evaluations can interleave. Indeterminately sequenced evaluations cannot interleave, but can be executed in any order." I.e the standard makes a distinction between "unsequenced" and "indeterminately sequenced".
And with no mention of side effects on "indeterminately sequenced" being UB it leads me to conclude that your example is not UB. |
|