Index: src/tests/.expect/castError.txt
===================================================================
--- src/tests/.expect/castError.txt	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/.expect/castError.txt	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,3 +1,3 @@
-castError.c:7 error: Can't choose between 3 alternatives for expression Cast of:
+castError.c:7:1 error: Cannot choose between 3 alternatives for expression Cast of:
   Name: f
 
Index: src/tests/.expect/completeTypeError.txt
===================================================================
--- src/tests/.expect/completeTypeError.txt	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/.expect/completeTypeError.txt	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,3 +1,3 @@
-completeTypeError.c:34 error: No reasonable alternatives for expression Applying untyped: 
+completeTypeError.c:34:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: *?
 ...to: 
@@ -5,5 +5,5 @@
 
 
-completeTypeError.c:36 error: No reasonable alternatives for expression Applying untyped: 
+completeTypeError.c:36:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: baz
 ...to: 
@@ -11,5 +11,5 @@
 
 
-completeTypeError.c:37 error: No reasonable alternatives for expression Applying untyped: 
+completeTypeError.c:37:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: quux
 ...to: 
@@ -17,5 +17,5 @@
 
 
-completeTypeError.c:58 error: No reasonable alternatives for expression Applying untyped: 
+completeTypeError.c:58:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: baz
 ...to: 
@@ -23,5 +23,5 @@
 
 
-completeTypeError.c:59 error: No reasonable alternatives for expression Applying untyped: 
+completeTypeError.c:59:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: quux
 ...to: 
@@ -29,5 +29,5 @@
 
 
-completeTypeError.c:60 error: No reasonable alternatives for expression Applying untyped: 
+completeTypeError.c:60:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: *?
 ...to: 
@@ -35,5 +35,5 @@
 
 
-completeTypeError.c:72 error: No reasonable alternatives for expression Applying untyped: 
+completeTypeError.c:72:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: baz
 ...to: 
Index: src/tests/.expect/declarationErrors.txt
===================================================================
--- src/tests/.expect/declarationErrors.txt	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/.expect/declarationErrors.txt	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,66 +1,66 @@
-declarationErrors.c:16 error: duplicate static in declaration of x1: static const volatile short int 
+declarationErrors.c:16:1 error: duplicate static in declaration of x1: static const volatile short int 
 
-declarationErrors.c:17 error: conflicting extern & static in declaration of x2: extern const volatile short int 
+declarationErrors.c:17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int 
 
-declarationErrors.c:18 error: conflicting extern & auto, conflicting extern & static, conflicting extern & static, duplicate extern in declaration of x3: extern const volatile short int 
+declarationErrors.c:18:1 error: conflicting extern & auto, conflicting extern & static, conflicting extern & static, duplicate extern in declaration of x3: extern const volatile short int 
 
-declarationErrors.c:19 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous0
+declarationErrors.c:19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous0
   with members 
    with body 
 
 
-declarationErrors.c:20 error: duplicate const, duplicate static, duplicate volatile in declaration of x5: static const volatile instance of const volatile struct __anonymous1
+declarationErrors.c:20:1 error: duplicate const, duplicate static, duplicate volatile in declaration of x5: static const volatile instance of const volatile struct __anonymous1
   with members 
    with body 
 
 
-declarationErrors.c:22 error: duplicate static in declaration of x6: static const volatile instance of type Int
+declarationErrors.c:22:1 error: duplicate static in declaration of x6: static const volatile instance of type Int
 
-declarationErrors.c:24 error: duplicate const in declaration of f01: static inline function
+declarationErrors.c:24:1 error: duplicate const in declaration of f01: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:25 error: duplicate volatile in declaration of f02: static inline function
+declarationErrors.c:25:1 error: duplicate volatile in declaration of f02: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:26 error: duplicate const in declaration of f03: static inline function
+declarationErrors.c:26:1 error: duplicate const in declaration of f03: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:27 error: duplicate volatile in declaration of f04: static inline function
+declarationErrors.c:27:1 error: duplicate volatile in declaration of f04: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:28 error: duplicate const in declaration of f05: static inline function
+declarationErrors.c:28:1 error: duplicate const in declaration of f05: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:29 error: duplicate volatile in declaration of f06: static inline function
+declarationErrors.c:29:1 error: duplicate volatile in declaration of f06: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:30 error: duplicate const in declaration of f07: static inline function
+declarationErrors.c:30:1 error: duplicate const in declaration of f07: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:31 error: duplicate const, duplicate volatile in declaration of f08: static inline function
+declarationErrors.c:31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:33 error: duplicate const, duplicate volatile in declaration of f09: static inline function
+declarationErrors.c:33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function
   with no parameters 
   returning const volatile int 
 
 
-declarationErrors.c:34 error: duplicate const, duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatile in declaration of f09: static inline function
+declarationErrors.c:34:1 error: duplicate const, duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatile in declaration of f09: static inline function
   with no parameters 
   returning const restrict volatile _Atomic int 
Index: src/tests/.expect/dtor-early-exit-ERR1.txt
===================================================================
--- src/tests/.expect/dtor-early-exit-ERR1.txt	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/.expect/dtor-early-exit-ERR1.txt	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,1 +1,2 @@
-dtor-early-exit.c:142 error: jump to label 'L1' crosses initialization of y Branch (Goto)
+dtor-early-exit.c:142:1 error: jump to label 'L1' crosses initialization of y Branch (Goto)
+
Index: src/tests/.expect/dtor-early-exit-ERR2.txt
===================================================================
--- src/tests/.expect/dtor-early-exit-ERR2.txt	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/.expect/dtor-early-exit-ERR2.txt	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,1 +1,2 @@
-dtor-early-exit.c:142 error: jump to label 'L2' crosses initialization of y Branch (Goto)
+dtor-early-exit.c:142:1 error: jump to label 'L2' crosses initialization of y Branch (Goto)
+
Index: src/tests/.expect/memberCtors-ERR1.txt
===================================================================
--- src/tests/.expect/memberCtors-ERR1.txt	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/.expect/memberCtors-ERR1.txt	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,1 +1,1 @@
-memberCtors.c:71 error: in void ?{}(B &b), field a2 used before being constructed
+memberCtors.c:71:1 error: in void ?{}(B &b), field a2 used before being constructed
Index: src/tests/.expect/scopeErrors.txt
===================================================================
--- src/tests/.expect/scopeErrors.txt	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/.expect/scopeErrors.txt	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,9 +1,10 @@
-scopeErrors.c:2 error: duplicate object definition for thisIsAnError: signed int
-scopeErrors.c:20 error: duplicate function definition for butThisIsAnError: function
+scopeErrors.c:2:1 error: duplicate object definition for thisIsAnError: signed int
+scopeErrors.c:20:1 error: duplicate function definition for butThisIsAnError: function
   with parameters
     double
-  returning
+  returning 
     _retval_butThisIsAnError:       Attribute with name: unused
 double
-  with body
+  with body 
     CompoundStmt
+
Index: src/tests/div.c
===================================================================
--- src/tests/div.c	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/div.c	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,3 +1,2 @@
-//                               -*- Mode: C -*- 
 // 
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -11,6 +10,6 @@
 // Created On       : Tue Aug  8 16:28:43 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug  9 17:09:40 2017
-// Update Count     : 16
+// Last Modified On : Wed Aug 30 07:56:28 2017
+// Update Count     : 17
 // 
 
Index: src/tests/ifcond.c
===================================================================
--- src/tests/ifcond.c	(revision 5b21138972f25774e983d07903f06efb2d5f8fdc)
+++ src/tests/ifcond.c	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -1,5 +1,4 @@
-//                               -*- Mode: C -*- 
 // 
-// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
+// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
 //
 // The contents of this file are covered under the licence agreement in the
@@ -11,6 +10,6 @@
 // Created On       : Sat Aug 26 10:13:11 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug 26 11:13:00 2017
-// Update Count     : 11
+// Last Modified On : Wed Aug 30 07:55:24 2017
+// Update Count     : 13
 // 
 
Index: src/tests/stdincludes.c
===================================================================
--- src/tests/stdincludes.c	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
+++ src/tests/stdincludes.c	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -0,0 +1,54 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// stdincludes.c -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Tue Aug 29 08:26:14 2017
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Wed Aug 30 07:56:39 2017
+// Update Count     : 5
+// 
+
+// C11 standard headers
+
+#include <assert.h>
+#include <complex.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fenv.h>
+#include <float.h>
+#include <inttypes.h>
+//#include <iso646.h>										// does not exist on linux
+#include <limits.h>
+#include <locale.h>
+#include <malloc.h>										// extra
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdalign.h>
+#include <stdarg.h>
+#include <stdatomic.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdnoreturn.h>
+#include <string.h>
+#include <tgmath.h>
+#include <time.h>
+#include <uchar.h>
+#include <unistd.h>										// extra
+#include <wchar.h>
+#include <wctype.h>
+
+int main() {}
+
+// Local Variables: //
+// tab-width: 4 //
+// compile-command: "cfa stdincludes.c" //
+// End: //
Index: src/tests/waitfor.c
===================================================================
--- src/tests/waitfor.c	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
+++ src/tests/waitfor.c	(revision fbcb35488c190b8e3845a1a9572c9c931586897f)
@@ -0,0 +1,249 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// waitfor.c -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Wed Aug 30 17:53:29 2017
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Wed Aug 30 17:55:17 2017
+// Update Count     : 2
+// 
+
+#include <stdbool.h>
+
+int fred() {
+	int x, z;
+
+	// test waitfor and when
+
+	waitfor( x );
+
+	waitfor( x ) {
+	}
+
+	waitfor( x, z ) {
+	}
+
+	when( true ) waitfor( x );
+
+	when( true ) waitfor( x ) {
+	}
+
+	waitfor( x );
+	or waitfor( y );
+
+	waitfor( x, z );
+	or waitfor( y );
+
+	when( true ) waitfor( x );
+	or when( true ) waitfor( y );
+
+	when( true ) waitfor( x, z );
+	or when( true ) waitfor( y );
+
+	waitfor( x ) {
+	} or waitfor( y ) {
+	}
+
+	waitfor( x, z ) {
+	} or waitfor( y ) {
+	}
+
+	when( true ) waitfor( x ) {
+	} or when( true ) waitfor( y ) {
+	}
+
+	waitfor( x );
+	or waitfor( y ) {
+	}
+
+	when( true ) waitfor( x );
+	or when( true ) waitfor( y ) {
+	}
+
+	waitfor( x ) {
+	} or waitfor( y );
+
+	when( true ) waitfor( x ) {
+	} or when( true ) waitfor( y );
+
+	// test when, waitfor and else
+
+	waitfor( x );
+	or else;
+
+	when( true ) waitfor( x );
+	or else;
+
+	when( true ) waitfor( x, z );
+	or else;
+
+	waitfor( x ) {
+	} or else {
+	}
+
+	when( true ) waitfor( x ) {
+	} or else {
+	}
+
+	waitfor( x );
+	or else {
+	}
+
+	when( true ) waitfor( x );
+	or else {
+	}
+
+	when( true ) waitfor( x, z );
+	or else {
+	}
+
+	waitfor( x ) {
+	} or else;
+
+	when( true ) waitfor( x ) {
+	} or else;
+
+	waitfor( x );
+	or when( true ) else;
+
+	when( true ) waitfor( x );
+	or when( true ) else;
+
+	when( true ) waitfor( x, z );
+	or when( true ) else;
+
+	waitfor( x ) {
+	} or when( true ) else {
+	}
+
+	when( true ) waitfor( x ) {
+	} or when( true ) else {
+	}
+
+	waitfor( x );
+	or when( true ) else {
+	}
+
+	when( true ) waitfor( x );
+	or when( true ) else {
+	}
+
+	when( true ) waitfor( x, z );
+	or when( true ) else {
+	}
+
+	waitfor( x ) {
+	} or when( true ) else;
+
+	when( true ) waitfor( x ) {
+	} or when( true ) else;
+
+	// test when, waitfor and timeout
+
+	waitfor( x );
+	or timeout( 3 );
+
+	waitfor( x, z );
+	or timeout( 3 );
+
+	when( true ) waitfor( x );
+	or timeout( 3 );
+
+	waitfor( x ) {
+	} or timeout( 3 ) {
+	}
+
+	when( true ) waitfor( x ) {
+	} or timeout( 3 ) {
+	}
+
+	when( true ) waitfor( x, z ) {
+	} or timeout( 3 ) {
+	}
+
+	when( true ) waitfor( x ) {
+	} or when ( true ) timeout( 3 ) {
+	}
+
+	when( true ) waitfor( x, z ) {
+	} or when ( true ) timeout( 3 ) {
+	}
+
+	waitfor( x );
+	or timeout( 3 ) {
+	}
+
+	when( true ) waitfor( x );
+	or timeout( 3 ) {
+	}
+
+	when( true ) waitfor( x );
+	or when( true ) timeout( 3 ) {
+	}
+
+	waitfor( x ) {
+	} or timeout( 3 );
+
+	when( true ) waitfor( x ) {
+	} or timeout( 3 );
+
+	when( true ) waitfor( x ) {
+	} or when( true ) timeout( 3 );
+
+	// test when, waitfor, timeout and else
+
+	waitfor( x ) {
+	} or timeout( 3 ) {
+	} or when( true ) else {}
+
+	when( true ) waitfor( x ) {
+	} or timeout( 3 ) {
+	} or when( true ) else {}
+
+	waitfor( x ) {
+	} or timeout( 3 ) {
+	} or when( true ) else {}
+
+	waitfor( x ) {
+	} or when( true ) timeout( 3 ) {
+	} or when( true ) else {}
+
+	when( true ) waitfor( x ) {
+	} or timeout( 3 ) {
+	} or when( true ) else {}
+
+	waitfor( x ) {
+	} or when( true ) timeout( 3 ) {
+	} or when( true ) else {}
+
+	when( true ) waitfor( x ) {
+	} or when( true ) timeout( 3 ) {
+	} or when( true ) else {}
+
+	// test quasi-keywords "or" and "timeout"
+
+	int or, timeout;
+	waitfor( timeout, 7 ) 3;
+	waitfor( timeout, 7 ) 3; or waitfor( timeout, 7 ) 3;
+	when( or ) waitfor( or, ) { 4; } or timeout( 1 ) 3;
+	when( 3 ) waitfor( or, 2 ) 4; or else 4;
+	when( 3 ) waitfor( or, 3 ) 4; or when( or ) timeout( or ) 4; or when( or ) else timeout;
+	when( 3 ) waitfor( or, or ) 3; or when( or ) waitfor( or, timeout ) 4; or else 4;
+	when( 3 ) waitfor( or, or ) 3; or waitfor( or, 9 ) 4; or when( or ) timeout( timeout ) 4;
+	when( 3 ) waitfor( or, 3 ) 3; or waitfor( or, 7 ) or; or timeout( 1 ) or; or when( 3 ) else or;
+
+	// test else selection
+
+	if ( or > timeout ) waitfor( or ) 3;
+	else waitfor( timeout ) 4;
+}
+
+// Local Variables: //
+// tab-width: 4 //
+// compile-command: "cfa waitfor.c" //
+// End: //
