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 (Clause [conv]); 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.