Index: src/tests/structMember.c
===================================================================
--- src/tests/structMember.c	(revision cf0de0e095ba7a047d3be41533d28dbc17edd392)
+++ src/tests/structMember.c	(revision 40a7d9c4e045d2ccfb4f7032a6cc0e9e62d9c75c)
@@ -1,3 +1,4 @@
-typedef int T;
+typedef int TD;
+extern struct TTT {};
 
 struct S {
@@ -8,27 +9,83 @@
 	int m4, m5, m6;
 	int *m7, *m8, *m9;
-	int (*m10)();
-	int *(*m11)(int);
-	T (T);
+	__extension__ int (*m10)();
+	__extension__ int *(*m11)(int);
+//	TD (TD);
 
-// Cforall extensions
+// Cforall declarations
 
 	* int m12, m13;
 	* [ * int ] (int) m14;
-	int ;
-	int , , ;
-	int * , , ;
-	int *, *, *;
-	* int , , ;
-	int (*)();
-	int (**)( int );
-	T ;
 
-// errors
+// C anonymous declarations (padding)
 
-//    void f(void);
+	int :4;
+	int :4, :6;
+
+// Cforall anonymous declarations (padding)
+
+	int @;
+	TD @;
+	int @, @, @;
+	int * @ , @, @;
+	int * @, * @, * @;
+	* int @, @, @;
+	struct TTT @;
+	TTT @, @;
+	int @ :4, @ :6;
+	* int @, @;
+	int (*@)();
+	int (*@)(int), (*@)(int);
+	* [int](int) @, @;
+	int (**@)( int );
+	* * [int](int) @;
+
+// C aggregate open declarations
+
+	__extension__ union { int i; };
+	struct T { int k; };
+
+// Cforall forward declaration
+
+	struct PPP;
+	__extension__ struct QQQ;
+
+// C useless declarations
+
+	int;
+	TD;
+	unsigned int;
+	__extension__ long double;
+	_Complex;
+	double _Complex;
+	volatile zero_t;
+	const one_t;
+	S;
+	.S;
+	S.T;
+	.S.T;
+	forall( otype S, otype T ) struct W {
+		struct X {};
+	};
+	W(int);
+	W(int).X;
 };
 
 struct S s;
+
+// Cforall Plan 9 declarations
+
+struct UUU {};
+extern struct SSS {
+	inline struct WWW {};
+	inline UUU;
+	inline UUU *, **;
+	inline UUU (*)( int p );
+	inline int;
+	inline int *;
+	inline * int;
+	inline int (*)( int p );
+	inline * [int](int p);
+};
 
 union U {
