Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!lll-lcc!ptsfa!amdahl!rtech!daveb
From: daveb@rtech.UUCP (Dave Brower)
Newsgroups: comp.lang.c
Subject: Re: Check the Arg Count (really lint libraries)
Message-ID: <589@rtech.UUCP>
Date: Fri, 9-Jan-87 12:35:23 EST
Article-I.D.: rtech.589
Posted: Fri Jan  9 12:35:23 1987
Date-Received: Sat, 10-Jan-87 20:36:51 EST
References: <3214@bu-cs.BU.EDU> <4900@mimsy.UUCP> <1193@ucbcad.berkeley.edu> <802@wjvax.wjvax.UUCP> <1887@utah-gr.UUCP>
Reply-To: daveb@rtech.UUCP (Dave Brower)
Organization: Relational Technology, Alameda CA
Lines: 38
Summary: The problem is they don't search like ar(1) libraries.

In article <1887@utah-gr.UUCP> donn@utah-gr.UUCP (Donn Seeley) writes:
>Brett Galloway complains:
>	...  [Lint] provides the ability to create lint libraries.
>	Unfortunately, lint treats these libraries differently than cc
>	treats object libraries.  It would be most useful for
>	maintaining large pieces of software if lint behaved the same
>	as cc -- lint'ing source files into some intermediate form,
>	finding all lint errors unique to that source file (this is
>	analogous to the compile cycle), and lint'ing the intermediate
>	lint files together to find global errors (this is analogous to
>	the load cycle).  This would make lint easier to use,
>	especially from within makefiles. ...
>
>Lint (under BSD Unix and probably most other varieties) works exactly
>like cc, 'compiling' into an intermediate form and 'loading' the
>result...

This is true in the simple case, and Donn's posted shell script will help
create libraries for those without the SV lint that has the -c option.

Unfortunately, the big problem is that lint libraries so conceived do
not have anywhere near the same semantics as the "equivalent" object
libraries.  Lint pass 2 can't selectivly load a module as is done by the
linker.  This can really complicate matters on large systems where many
executables are built from the same libraries without really using all
of the contents of the whole library.

Conjecture:

Would life be easier in this case if every .c file compiled into a library
had the magic /*LINTLIBRARY*/ comment?

-dB

-- 
	Kill Tree.	Kill Turkey.	Merry Xmas.

{amdahl, sun, mtxinu, cbosgd}!rtech!daveb