Index: src/tests/Context.c
===================================================================
--- src/tests/Context.c	(revision fbaebc66fe0d31635a06b8e5e9c1ab19dcb4d3c7)
+++ src/tests/Context.c	(revision e5b96bf6a6f09aeaf447b518da62759033b9b160)
@@ -1,4 +1,4 @@
 //cforall context declaration
-context has_q( otype T ) {
+trait has_q( otype T ) {
 	T q( T );
 };
Index: src/tests/Forall.c
===================================================================
--- src/tests/Forall.c	(revision fbaebc66fe0d31635a06b8e5e9c1ab19dcb4d3c7)
+++ src/tests/Forall.c	(revision e5b96bf6a6f09aeaf447b518da62759033b9b160)
@@ -10,10 +10,10 @@
 	void f( int );
 	void h( void (*p)(void) );
-  
+
 	int x;
 	void (*y)(void);
 	char z;
 	float w;
-  
+
 	f( x );
 	f( y );
@@ -26,10 +26,10 @@
 	forall( otype T ) void f( T, T );
 	forall( otype T, otype U ) void f( T, U );
-  
+
 	int x;
 	float y;
 	int *z;
 	float *w;
-  
+
 	f( x, y );
 	f( z, w );
@@ -46,5 +46,5 @@
 }
 
-context sumable( otype T ) {
+trait sumable( otype T ) {
 	const T 0;
 	T ?+?(T, T);
Index: src/tests/Operators.c
===================================================================
--- src/tests/Operators.c	(revision fbaebc66fe0d31635a06b8e5e9c1ab19dcb4d3c7)
+++ src/tests/Operators.c	(revision e5b96bf6a6f09aeaf447b518da62759033b9b160)
@@ -1,3 +1,5 @@
-int ?*?( int, int );
+int ?*?( int a, int b ) {
+	return 0;
+}
 
 int ?()( int number1, int number2 ) {
@@ -5,12 +7,18 @@
 }
 
-int ?+?( int, int );
+int ?+?( int a, int b ) {
+	return 0;
+}
 
-int ?=?( int *, int );
+int ?=?( int *a, int b ) {
+	return 0;
+}
 struct accumulator {
 	int total;
 };
 
-char ?()( struct accumulator a, char number1, char number2 );
+char ?()( struct accumulator a, char number1, char number2 ) {
+	return 'a';
+}
 
 void f( void ) {
@@ -23,4 +31,9 @@
 }
 
+int main(int argc, char const *argv[]) {
+	/* code */
+	return 0;
+}
+
 // Local Variables: //
 // tab-width: 4 //
Index: src/tests/Scope.c
===================================================================
--- src/tests/Scope.c	(revision fbaebc66fe0d31635a06b8e5e9c1ab19dcb4d3c7)
+++ src/tests/Scope.c	(revision e5b96bf6a6f09aeaf447b518da62759033b9b160)
@@ -15,5 +15,5 @@
 y p;
 
-context has_u( otype z ) {
+trait has_u( otype z ) {
 	z u(z);
 };
Index: src/tests/Subrange.c
===================================================================
--- src/tests/Subrange.c	(revision fbaebc66fe0d31635a06b8e5e9c1ab19dcb4d3c7)
+++ src/tests/Subrange.c	(revision e5b96bf6a6f09aeaf447b518da62759033b9b160)
@@ -1,5 +1,5 @@
 // A small context defining the notion of an ordered otype.  (The standard
 // library should probably contain a context for this purpose.)
-context ordered(otype T) {
+trait ordered(otype T) {
     int ?<?(T, T), ?<=?(T, T);
 };
Index: src/tests/Switch.c
===================================================================
--- src/tests/Switch.c	(revision fbaebc66fe0d31635a06b8e5e9c1ab19dcb4d3c7)
+++ src/tests/Switch.c	(revision e5b96bf6a6f09aeaf447b518da62759033b9b160)
@@ -1,3 +1,3 @@
-int fred() {
+int main(int argc, char const *argv[]) {
     int i;
     switch ( i ) case 3 : i = 1;
Index: src/tests/Typedef.c
===================================================================
--- src/tests/Typedef.c	(revision fbaebc66fe0d31635a06b8e5e9c1ab19dcb4d3c7)
+++ src/tests/Typedef.c	(revision e5b96bf6a6f09aeaf447b518da62759033b9b160)
@@ -18,5 +18,5 @@
 a c;
 
-typedef otypeof(3) x, y;  // GCC
+typedef typeof(3) x, y;  // GCC
 
 x p;
@@ -24,5 +24,5 @@
 
 int main() {
-    typedef otypeof(3) z, p;
+    typedef typeof(3) z, p;
     z w;
     p x;
