Index: tests/.expect/except-finally-error.txt
===================================================================
--- tests/.expect/except-finally-error.txt	(revision 2316525c0ab1029715c0c8bc2f6fe53ca84525fe)
+++ tests/.expect/except-finally-error.txt	(revision f090750e8e92963c13fdc0f75431e9f64b438b80)
@@ -1,4 +1,12 @@
 except-finally-error.cfa:7:1 error: 'break' outside a loop, 'switch', or labelled block
-except-finally-error.cfa:15:1 error: 'continue' target must be an enclosing loop: 
-except-finally-error.cfa:32:1 error: 'break' target must be an enclosing control structure: mainLoop
-except-finally-error.cfa:40:1 error: 'continue' target must be an enclosing loop: mainLoop
+except-finally-error.cfa:15:1 error: 'break' outside a loop, 'switch', or labelled block
+except-finally-error.cfa:23:1 error: 'break' outside a loop, 'switch', or labelled block
+except-finally-error.cfa:31:1 error: 'continue' target must be an enclosing loop: 
+except-finally-error.cfa:48:1 error: 'break' target must be an enclosing control structure: mainLoop
+except-finally-error.cfa:56:1 error: 'continue' target must be an enclosing loop: mainLoop
+except-finally-error.cfa:65:1 error: 'break' outside a loop, 'switch', or labelled block
+except-finally-error.cfa:76:1 error: 'break' outside a loop, 'switch', or labelled block
+except-finally-error.cfa:87:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
+except-finally-error.cfa:98:1 error: 'break' target must be an enclosing control structure: mainBlock
+except-finally-error.cfa:111:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
+except-finally-error.cfa:124:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
Index: tests/except-finally-error.cfa
===================================================================
--- tests/except-finally-error.cfa	(revision 2316525c0ab1029715c0c8bc2f6fe53ca84525fe)
+++ tests/except-finally-error.cfa	(revision f090750e8e92963c13fdc0f75431e9f64b438b80)
@@ -8,4 +8,20 @@
 		}
 	}
+}
+
+void for_break_in_finally() {
+	for (10) {
+		try {} finally {
+			break;
+		}
+	}
+}
+
+void do_while_break_in_finally() {
+	do {
+		try {} finally {
+			break;
+		}
+	} while (false);
 }
 
@@ -43,4 +59,74 @@
 }
 
+void switch_break_in_finally() {
+	switch (1) {
+	case 1:
+		try {} finally {
+			break;
+		}
+	default:
+		break;
+	}
+}
+
+void choose_break_in_finally() {
+	choose (1) {
+	case 1:
+		try {} finally {
+			break;
+		}
+	default:
+		break;
+	}
+}
+
+void choose_fallthru_in_finally() {
+	choose (1) {
+	case 1:
+		try {} finally {
+			fallthru;
+		}
+	default:
+		break;
+	}
+}
+
+void labelled_choose_break_in_finally() {
+	mainBlock: choose (1) {
+	case 1:
+		try {} finally {
+			break mainBlock;
+		}
+	case 2:
+		break;
+	default:
+		break;
+	}
+}
+
+void labelled_choose_fallthru_in_finally() {
+	mainBlock: choose (1) {
+	case 1:
+		try {} finally {
+			fallthru mainBlock;
+		}
+	case 2:
+		break;
+	default:
+		break;
+	}
+}
+
+void choose_fallthru_default_in_finally() {
+	choose (1) {
+	case 1:
+		try {} finally {
+			fallthru default;
+		}
+	default:
+		break;
+	}
+}
+
 void void_return_in_finally() {
 	try {} finally {
