Index: tests/.expect/quasiKeyword.txt
===================================================================
--- tests/.expect/quasiKeyword.txt	(revision d9aa0f05fa2972b918f4ec30bdec229053fb4f23)
+++ tests/.expect/quasiKeyword.txt	(revision d9aa0f05fa2972b918f4ec30bdec229053fb4f23)
@@ -0,0 +1,2 @@
+quasiKeyword.cfa: In function '_X4mainFi_iPPKc__1':
+quasiKeyword.cfa:56:9: note: #pragma message: Compiled
Index: tests/quasiKeyword.cfa
===================================================================
--- tests/quasiKeyword.cfa	(revision d9aa0f05fa2972b918f4ec30bdec229053fb4f23)
+++ tests/quasiKeyword.cfa	(revision d9aa0f05fa2972b918f4ec30bdec229053fb4f23)
@@ -0,0 +1,55 @@
+//
+// Cforall Version 1.0.0 Copyright (C) 2021 University of Waterloo
+//
+// quasiKeyword.cfa -- test that quasi-keywords can be used for variable and functions names, as well as keywords in
+//					   control structures.
+// 
+// Author           : Peter A. Buhr
+// Created On       : Wed Feb 17 10:33:49 2021
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sun Feb 21 15:52:04 2021
+// Update Count     : 7
+// 
+
+#include <exception.hfa>
+
+TRIVIAL_EXCEPTION( E );
+
+void catch( int i ) {}
+void recover( int i ) {}
+void catchResume( int i ) {}
+void fixup( int i ) {}
+void finally( int i ) {}
+
+int main(int argc, char const *argv[]) {
+	int catch, recover, catchResume, fixup, finally;
+	try {
+		catch = 3;
+		catch( catch );
+		recover = 3;
+		recover( recover );
+		catchResume = 3;
+		catchResume( catchResume );
+		fixup = 3;
+		fixup( fixup );
+		finally = 3;
+		finally( finally );
+		throw (E){};
+		report (E){};
+		throwResume (E){};
+	} catch ( E * ) {
+	} recover ( E * ) {									// same as catch
+	} catchResume ( E * ) {
+	} fixup ( E * ) {									// same as catchResume
+	} finally {
+	}
+
+	if ( 3 )
+		try {
+		} fixup ( E * ) {
+		} finally {
+		} 
+	else catch = 3;
+
+	#pragma message( "Compiled" )						// force non-empty .expect file
+}
