Index: src/tests/.expect/alloc-ERROR.txt
===================================================================
--- src/tests/.expect/alloc-ERROR.txt	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
+++ src/tests/.expect/alloc-ERROR.txt	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -0,0 +1,44 @@
+alloc.c:259:1 error: No reasonable alternatives for expression Applying untyped: 
+  Name: ?=?
+...to: 
+  Name: p
+  Applying untyped: 
+    Name: alloc
+  ...to: 
+    Name: stp
+    Applying untyped: 
+      Name: ?*?
+    ...to: 
+      Name: dim
+      Sizeof Expression on: Applying untyped: 
+          Name: *?
+        ...to: 
+          Name: stp
+
+
+
+
+alloc.c:260:1 error: No reasonable alternatives for expression Applying untyped: 
+  Name: ?=?
+...to: 
+  Name: p
+  Applying untyped: 
+    Name: memset
+  ...to: 
+    Name: stp
+    constant expression (10 10: signed int)
+
+
+alloc.c:261:1 error: No reasonable alternatives for expression Applying untyped: 
+  Name: ?=?
+...to: 
+  Name: p
+  Applying untyped: 
+    Name: memcpy
+  ...to: 
+    Address of:
+      Name: st1
+    Address of:
+      Name: st
+
+
Index: src/tests/.expect/completeTypeError.txt
===================================================================
--- src/tests/.expect/completeTypeError.txt	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/.expect/completeTypeError.txt	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -1,7 +1,16 @@
-completeTypeError.c:34:1 error: No reasonable alternatives for expression Applying untyped: 
+completeTypeError.c:33:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: *?
 ...to: 
   Name: v
 
+completeTypeError.c:34:1 error: No reasonable alternatives for expression Applying untyped: 
+  Name: *?
+...to: 
+  Name: y
+
+completeTypeError.c:35:1 error: No reasonable alternatives for expression Applying untyped: 
+  Name: foo
+...to: 
+  Name: v
 
 completeTypeError.c:36:1 error: No reasonable alternatives for expression Applying untyped: 
@@ -10,10 +19,8 @@
   Name: v
 
-
 completeTypeError.c:37:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: quux
 ...to: 
   Name: v
-
 
 completeTypeError.c:58:1 error: No reasonable alternatives for expression Applying untyped: 
@@ -22,10 +29,8 @@
   Name: y
 
-
 completeTypeError.c:59:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: quux
 ...to: 
   Name: y
-
 
 completeTypeError.c:60:1 error: No reasonable alternatives for expression Applying untyped: 
@@ -34,5 +39,4 @@
   Name: y
 
-
 completeTypeError.c:72:1 error: No reasonable alternatives for expression Applying untyped: 
   Name: baz
@@ -40,3 +44,2 @@
   Name: z
 
-
Index: src/tests/Makefile.am
===================================================================
--- src/tests/Makefile.am	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/Makefile.am	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -141,2 +141,5 @@
 typedefRedef-ERR1: typedefRedef.c @CFA_BINDIR@/@CFA_NAME@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
+
+alloc-ERROR: alloc.c @CFA_BINDIR@/@CFA_NAME@
+	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
Index: src/tests/Makefile.in
===================================================================
--- src/tests/Makefile.in	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/Makefile.in	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -895,4 +895,7 @@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
 
+alloc-ERROR: alloc.c @CFA_BINDIR@/@CFA_NAME@
+	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
Index: src/tests/alloc.c
===================================================================
--- src/tests/alloc.c	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/alloc.c	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -32,5 +32,5 @@
 	// allocation, non-array types
 
-	p = (void *)malloc( sizeof(*p) );                   // C malloc, type unsafe
+	p = (int *)(void *)malloc( sizeof(*p) );                   // C malloc, type unsafe
 	*p = 0xdeadbeef;
 	printf( "C   malloc %#x\n", *p );
@@ -54,5 +54,5 @@
 	printf( "\n" );
 
-	p = calloc( dim, sizeof( *p ) );                    // C array calloc, type unsafe
+	p = (int *)calloc( dim, sizeof( *p ) );                    // C array calloc, type unsafe
 	printf( "C   array calloc, fill 0\n" );
 	for ( int i = 0; i < dim; i += 1 ) { printf( "%#x ", p[i] ); }
@@ -83,5 +83,5 @@
 	printf( "\n" );
 
-	p = (void *)realloc( p, dim * sizeof(*p) );         // C realloc
+	p = (int *)(void *)realloc( p, dim * sizeof(*p) );         // C realloc
 	for ( int i = 0; i < dim; i += 1 ) { p[i] = 0xdeadbeef; }
 	printf( "C   realloc\n" );
@@ -256,7 +256,9 @@
 	stp = malloc();
 	printf( "\nSHOULD FAIL\n" );
+#ifdef ERR1
 	p = alloc( stp, dim * sizeof(*stp) );
 	p = memset( stp, 10 );
 	p = memcpy( &st1, &st );
+#endif
 } // main
 
Index: src/tests/completeTypeError.c
===================================================================
--- src/tests/completeTypeError.c	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/completeTypeError.c	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -12,13 +12,13 @@
 	void *v;
 
-	// A * x;
-	// A * y;
-	// B * x;
-	// B * z;
+	A * x;
+	A * y;
+	B * x;
+	B * z;
 
 	// okay
 	*i;
-	// *x; // picks B
-	// *z;
+	*x; // picks B
+	*z;
 	foo(i);
 	bar(i);
@@ -29,9 +29,9 @@
 	bar(v);
 	qux(v);
-	foo(v); // questionable, but works at the moment for C compatibility
 
 	// bad
 	*v;
-	// *y;
+	*y;
+	foo(v);
 	baz(v);
 	quux(v);
Index: src/tests/dtor-early-exit.c
===================================================================
--- src/tests/dtor-early-exit.c	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/dtor-early-exit.c	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -22,5 +22,5 @@
 
 struct A {
-	char * name;
+	const char * name;
 	int * x;
 };
Index: src/tests/init_once.c
===================================================================
--- src/tests/init_once.c	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/init_once.c	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -72,5 +72,5 @@
 	insert( &constructed, &x );
 
-	x.x = malloc(sizeof(int));
+	x.x = (int *)malloc(sizeof(int));
 }
 
Index: src/tests/multiDimension.c
===================================================================
--- src/tests/multiDimension.c	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/multiDimension.c	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -7,5 +7,5 @@
   printf("default constructing\n");
   (this.a){ 123 };
-  this.ptr = malloc(sizeof(int));
+  this.ptr = (int *)malloc(sizeof(int));
 }
 
@@ -13,5 +13,5 @@
   printf("copy constructing\n");
   (this.a){ other.a };
-  this.ptr = malloc(sizeof(int));
+  this.ptr = (int *)malloc(sizeof(int));
 }
 
@@ -19,5 +19,5 @@
   printf("constructing with %d\n", a);
   (this.a){ a };
-  this.ptr = malloc(sizeof(int));
+  this.ptr = (int *)malloc(sizeof(int));
 }
 
Index: src/tests/tupleVariadic.c
===================================================================
--- src/tests/tupleVariadic.c	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/tupleVariadic.c	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -73,5 +73,5 @@
 	[a0, a1, a2, a3] = args;
 	a.size = 4;
-	a.data = malloc(sizeof(int)*a.size);
+	a.data = (int *)malloc(sizeof(int)*a.size);
 	a.data[0] = a0;
 	a.data[1] = a1;
Index: src/tests/vector/vector_int.c
===================================================================
--- src/tests/vector/vector_int.c	(revision c2c6177b76e4392e2fd7a54666c8f159e7efcef6)
+++ src/tests/vector/vector_int.c	(revision 8dceeb78ad2ff73a75b2a0589e7539e4da01800f)
@@ -27,5 +27,5 @@
 	vec.last = -1;
 	vec.capacity = reserve;
-	vec.data = malloc( sizeof( int ) * reserve );
+	vec.data = (int *)malloc( sizeof( int ) * reserve );
 }
 
@@ -33,5 +33,5 @@
 	vec.last = other.last;
 	vec.capacity = other.capacity;
-	vec.data = malloc( sizeof( int ) * other.capacity );
+	vec.data = (int *)malloc( sizeof( int ) * other.capacity );
 	for (int i = 0; i < vec.last; i++) {
 		vec.data[i] = other.data[i];
@@ -45,5 +45,5 @@
 void reserve( vector_int *vec, int reserve ) {
 	if ( reserve > vec->capacity ) {
-		vec->data = realloc( vec->data, sizeof( int ) * reserve );
+		vec->data = (int *)realloc( vec->data, sizeof( int ) * reserve );
 		vec->capacity = reserve;
 	}
@@ -54,5 +54,5 @@
 	if ( vec->last == vec->capacity ) {
 		vec->capacity *= 2;
-		vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );
+		vec->data = (int *)realloc( vec->data, sizeof( int ) * vec->capacity );
 	}
 	vec->data[ vec->last ] = element;
