[comp.lang.c] "C" Program Verifier

dymm@wvucswv.UUCP (10/30/87)

I am looking for a UNIX utility that can check the calling
conventions of "C" functions and their parameters even though those
functions are scattered throughout a number of files.
Thus the utility would check the usage of functions against their
definitions even though the usage is in one file and the definition
is in another file.
This utility would be similar to "lint".
However lint only checks functions in a single file, not in multiple files.

Does such a utility exist?
Is so, how can I get a copy?
Contact me via the Email address below.

Thanks for you help.


David Dymm			Software Engineer

USMAIL: Bell Atlantic Knowledge Systems,
	13 Beechurst Ave., Morgantown, WV 26505
PHONE:	304 291-2651 (8:30-4:30 EST)
USENET:  {allegra,bellcore, cadre,idis,psuvax1}!pitt!wvucsb!wvucswv!dymm

edw@IUS1.CS.CMU.EDU (Eddie Wyatt) (10/30/87)

> I am looking for a UNIX utility that can check the calling
> conventions of "C" functions and their parameters even though those
> functions are scattered throughout a number of files.
> Thus the utility would check the usage of functions against their
> definitions even though the usage is in one file and the definition
> is in another file.
> This utility would be similar to "lint".
> However lint only checks functions in a single file, not in multiple files.

You should be able to use lint to check multiple files.  Here's an example
script that I use to check a library I maintain.  You can also get lint
to generate a "lint library" so that others using your code can check
their code against it.


#!/bin/csh -s

lint    -a \
	-x \
	-DDEBUGBB \
        -I../include \
        -I../comsrc\
        -I/usr/include \
        -I/usr/cs/include \
        -I. \
	arrayf.c bbinit.c bbrestf.c globals.c network.c specf.c slistf.c \
	timef.c tokenf.c udtf.c  check.c misc.c fconvert.c \
	tokenqueue.c messagebuffer.c errortraps.c generichashtable.c \
	genericqueue.c missingf.c bindings.c lispfunc.c genid.c \
 	termio.c memalloc.c  token_cache.c ddshow.c geo_obj.c \
	vehicle_motion.c y.tab.c >& err


-- 

					Eddie Wyatt

e-mail: edw@ius1.cs.cmu.edu

gwyn@brl-smoke.UUCP (10/30/87)

In article <46@wvucswv.UUCP> dymm@wvucswv.UUCP writes:
>This utility would be similar to "lint".
>However lint only checks functions in a single file, not in multiple files.

No, "lint" checks for consistency across multiple translation units
(source files).  It also supports the use of "lint libraries" instead
of full sources.