about summary refs log tree commit diff stats
path: root/cpp/024brace
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/024brace')
-rw-r--r--cpp/024brace45
1 files changed, 45 insertions, 0 deletions
diff --git a/cpp/024brace b/cpp/024brace
index 72318faa..2402923b 100644
--- a/cpp/024brace
+++ b/cpp/024brace
@@ -112,3 +112,48 @@ recipe main [
 +after-brace: copy ...
 +after-brace: copy ...
 +after-brace: jump -2:offset
+
+:(scenario "break_empty_block")
+recipe main [
+  1:integer <- copy 0:literal
+  {
+    break
+  }
+]
++after-brace: recipe main
++after-brace: copy ...
++after-brace: jump 0:offset
+
+:(scenario "break_cascading")
+recipe main [
+  1:integer <- copy 0:literal
+  {
+    break
+  }
+  {
+    break
+  }
+]
++after-brace: recipe main
++after-brace: copy ...
++after-brace: jump 0:offset
++after-brace: jump 0:offset
+
+:(scenario "break_cascading2")
+recipe main [
+  1:integer <- copy 0:literal
+  2:integer <- copy 0:literal
+  {
+    break
+    3:integer <- copy 0:literal
+  }
+  {
+    break
+  }
+]
++after-brace: recipe main
++after-brace: copy ...
++after-brace: copy ...
++after-brace: jump 1:offset
++after-brace: copy ...
++after-brace: jump 0:offset