[stmt.do]

# 8 Statements [[stmt]](./#stmt)

## 8.6 Iteration statements [[stmt.iter]](stmt.iter#stmt.do)

### 8.6.3 The do statement [stmt.do]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/statements.tex#L651)

The expression is [contextually converted to bool](conv#def:conversion,contextual_to_bool "7.3 Standard conversions [conv]");
if that conversion is ill-formed, the program is ill-formed[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/statements.tex#L655)

In the do statement, the substatement is executed repeatedly
until the value of the expression becomes false[.](#2.sentence-1)

The test takes
place after each execution of the statement[.](#2.sentence-2)
