splint is confused when a function is declared at file scope:
void f( void )
{
void f1( int );
f1();
}
$ splint redef.c
Splint 3.1.1.2 --- 27 May 2007
redef.c: (in function f)
redef.c:7:3: Variable f1 used before definition
An rvalue is used that may not be initialized to a value on some execution path. (Use -usedef to inhibit warning)
redef.c:7:3: Function f1 called with 0 args, expects 1
Types are incompatible. (Use -type to inhibit warning)
Finished checking --- 2 code warnings