Do statements
For a do statement stmt of the form: do do-body while (expr); · v has the same definite assignment state on the control flow transfer from the beginning of stmt to do-body as at the beginning of stmt. · v has the same definite assignment state at the beginning of expr as at the end point of do-body. · If v is definitely assigned at the end of expr, then it is definitely assigned on the control flow transfer to the end point of stmt. · If v has the state “definitely assigned after false expression” at the end of expr, then it is definitely assigned on the control flow transfer to the end point of stmt. For statements Definite assignment checking for a for statement of the form: for (for-initializer; for-condition; for-iterator) embedded-statement is done as if the statement were written: { If the for-condition is omitted from the for statement, then evaluation of definite assignment proceeds as if for-condition were replaced with true in the above expansion. Break, continue, and goto statements The definite assignment state of v on the control flow transfer caused by a break, continue, or goto statement is the same as the definite assignment state of v at the beginning of the statement.
|