Static verification detects inconsistent object declarations in different program units, for example:
Different external objects with the same name.
Inconsistent declarations of a COMMON block.
Mismatched number of arguments.
Mismatched type, rank, shape, or/and size of an argument.
Inconsistent declaration of a procedure and predeclarations (or interfaces) of this procedure.
The following example illustrates interprocedural analysis.
Example: Wrong number of arguments
File controlf.c contains function declaration in the following line:
controlf()
File uloop2.c contains the following line:
65 fds = controlf( 1 ) ;
Static verification issues the following message:
uloop2.c(65): error #12020: [SV] number of actual arguments (1) in call of 'controlf' doesn't match the number of formal arguments (0); 'controlf' is defined at (file:controlf.c line:4)