aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <sunfish@mozilla.com>2015-07-07 07:43:45 -0700
committerDan Gohman <sunfish@mozilla.com>2015-07-17 15:37:12 -0700
commitd69c8b87f427df540e5bd132ccc75281b09b1eca (patch)
tree2819c4c37494a6a6eee66bd7c3cb79069654b9da
parent4babacf73dbc29ee07c40a522090806401c2df9b (diff)
downloadnanowasm-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.md7
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