Index: tests/exceptions/.expect/resume.txt
===================================================================
--- tests/exceptions/.expect/resume.txt	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
+++ tests/exceptions/.expect/resume.txt	(revision 9ec8c5f33d27fb98eb1108e4b42790b2e6e66ef7)
@@ -31,2 +31,6 @@
 inner catch
 outer catch
+
+throw
+rethrow
+handle
Index: tests/exceptions/.expect/terminate.txt
===================================================================
--- tests/exceptions/.expect/terminate.txt	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
+++ tests/exceptions/.expect/terminate.txt	(revision 9ec8c5f33d27fb98eb1108e4b42790b2e6e66ef7)
@@ -29,2 +29,6 @@
 inner catch
 outer catch
+
+throw
+rethrow
+handle
Index: tests/exceptions/resume.cfa
===================================================================
--- tests/exceptions/resume.cfa	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
+++ tests/exceptions/resume.cfa	(revision 9ec8c5f33d27fb98eb1108e4b42790b2e6e66ef7)
@@ -8,4 +8,6 @@
 TRIVIAL_EXCEPTION(zen);
 TRIVIAL_EXCEPTION(moment_of, zen);
+
+void in_void(void);
 
 int main(int argc, char * argv[]) {
@@ -121,3 +123,21 @@
 		printf("outer catch\n");
 	}
+	printf("\n");
+
+	in_void();
 }
+
+// Do a throw and rethrow in a void function.
+void in_void(void) {
+	try {
+		try {
+			printf("throw\n");
+			throwResume (zen){};
+		} catchResume (zen *) {
+			printf("rethrow\n");
+			throwResume;
+		}
+	} catchResume (zen *) {
+		printf("handle\n");
+	}
+}
Index: tests/exceptions/terminate.cfa
===================================================================
--- tests/exceptions/terminate.cfa	(revision b2de2e04eb7c307b839c2cbceb597aae13d17dfe)
+++ tests/exceptions/terminate.cfa	(revision 9ec8c5f33d27fb98eb1108e4b42790b2e6e66ef7)
@@ -8,4 +8,6 @@
 TRIVIAL_EXCEPTION(zen);
 TRIVIAL_EXCEPTION(moment_of, zen);
+
+void in_void(void);
 
 int main(int argc, char * argv[]) {
@@ -121,3 +123,22 @@
 		printf("outer catch\n");
 	}
+	printf("\n");
+
+	in_void();
 }
+
+// Do a throw and rethrow in a void function.
+void in_void(void) {
+	try {
+		try {
+			printf("throw\n");
+			throw (zen){};
+		} catch (zen *) {
+			printf("rethrow\n");
+			throw;
+		}
+	} catch (zen *) {
+		printf("handle\n");
+	}
+}
+
