Chris said to email the list about this: code: void *foo(void) { return 0; } Generates: clang -fsyntax-only test.c test.c:1:19: warning: incompatible type returning 'int', expected 'void *' void *foo(void) { return 0; } ^ ~ 1 diagnostic generated. incorrectly -- zero should be implicitly convertable to void*. -Keith