Why no warnings for uninitialized local variables and invalid function prototypes?

Why doesn't keil generate a warning for the use of uninitialized local variables?

Why doesn't keil generate a warning or error when a function prototype is declared static but the definition is non-static?
It does generate an error when (return)parameters of a definition don't match the prototype.

More questions in this forum