Insure++ detects inconsistent declarations of variables between source files. A common problem is caused when an object is declared as an array in one file:
int myblick[128];
but has a pointer in another:
extern int *myblock;
See the baddecl1.c
and baddecl2.c
files in the examples directory for an example. Insure++ also reports differences in size, so that an array declared as one size in one file and a different size in another will be detected.