If anyone is looking for "extended" type checking in a C compiler and has access to a PC, I suggest you try Microsoft's C compiler with the options -W2 -DLINT_ARGS. I think it does a thorough but not unreasonable job.