9 Statements [stmt.stmt]

9.5 Iteration statements [stmt.iter]

9.5.2 The do statement [stmt.do]

The expression is contextually converted to bool; if that conversion is ill-formed, the program is ill-formed.

In the do statement the substatement is executed repeatedly until the value of the expression becomes false. The test takes place after each execution of the statement.