diff options
| author | Dan Gohman <sunfish@mozilla.com> | 2015-07-07 07:43:45 -0700 |
|---|---|---|
| committer | Dan Gohman <sunfish@mozilla.com> | 2015-07-17 15:37:12 -0700 |
| commit | d69c8b87f427df540e5bd132ccc75281b09b1eca (patch) | |
| tree | 2819c4c37494a6a6eee66bd7c3cb79069654b9da | |
| parent | 4babacf73dbc29ee07c40a522090806401c2df9b (diff) | |
| download | nanowasm-design-d69c8b87f427df540e5bd132ccc75281b09b1eca.tar.gz | |
Restore the sentance that constraints break and continue.
This requires break and continue to target blocks in constructs they are
nested in.
| -rw-r--r-- | AstSemantics.md | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/AstSemantics.md b/AstSemantics.md index 363a6bb..e20c033 100644 --- a/AstSemantics.md +++ b/AstSemantics.md @@ -254,9 +254,10 @@ are statements. * `switch`: switch statement with fallthrough Loops (`do_while` and `forever`) may only be entered via fallthrough at the top. -In particular, they may not be entered directly via a `break`, `continue`, or -`switch` destination. This guarantees that all control flow graphs are -well-structured. +In particular, loops may not be entered directly via a `break`, `continue`, or +`switch` destination. Break and continue statements can only target blocks or +loops in which they are nested. These rules guarantee that all control flow +graphs are well-structured. Structured control flow provides simple and size-efficient binary encoding and compilation. Any control flow—even irreducible—can be transformed into structured |
