|
5674 | 5674 | \end{example} |
5675 | 5675 |
|
5676 | 5676 | \pnum |
5677 | | -When calling a function (whether or not the function is inline), every |
5678 | | -\indextext{value computation}% |
5679 | | -value computation and |
5680 | | -\indextext{side effects}% |
5681 | | -side effect associated with any argument |
5682 | | -expression, or with the postfix expression designating the called |
5683 | | -function, is sequenced before execution of every expression or statement |
| 5677 | +When invoking a function (whether or not the function is inline), |
| 5678 | +every argument expression and |
| 5679 | +the postfix expression designating the called function |
| 5680 | +are sequenced before every expression or statement |
5684 | 5681 | in the body of the called function. |
5685 | | -For each function invocation \placeholder{F}, |
5686 | | -for every evaluation \placeholder{A} that occurs within \placeholder{F} and |
5687 | | -every evaluation \placeholder{B} that does not occur within \placeholder{F} but |
5688 | | -is evaluated on the same thread and as part of the same signal handler (if any), |
5689 | | -either \placeholder{A} is sequenced before \placeholder{B} or |
5690 | | -\placeholder{B} is sequenced before \placeholder{A}. |
| 5682 | +For each function invocation or |
| 5683 | +evaluation of an \grammarterm{await-expression} \placeholder{F}, |
| 5684 | +each evaluation that does not occur within \placeholder{F} but |
| 5685 | +is evaluated on the same thread and as part of the same signal handler (if any) |
| 5686 | +is either sequenced before all evaluations that occur within \placeholder{F} |
| 5687 | +or sequenced after all evaluations that occur within \placeholder{F}; |
5691 | 5688 | \begin{footnote} |
5692 | 5689 | In other words, |
5693 | 5690 | function executions do not interleave with each other. |
5694 | 5691 | \end{footnote} |
| 5692 | +if \placeholder{F} invokes or resumes a coroutine\iref{expr.await}, |
| 5693 | +only evaluations |
| 5694 | +subsequent to the previous suspension (if any) and |
| 5695 | +prior to the next suspension (if any) |
| 5696 | +are considered to occur within \placeholder{F}. |
5695 | 5697 | \begin{note} |
5696 | 5698 | If \placeholder{A} and \placeholder{B} would not otherwise be sequenced then they are |
5697 | 5699 | indeterminately sequenced. |
|
0 commit comments