[net.lang.c] type-checking function arguments

jfarrell@sun.UUCP (Jerry Farrell) (09/14/83)

I want the compiler to type-check for me because
  1) I'm tired of being handed a program with the remark "OK, it's
	fully tested and solid." and discovering 6 places where foo is 
	passed when it should be *foo;
  2) Lint barfs on constructions the compiler accepts (e.g. /**/ ina
	macro definition, but it doesn't get fixed, because we can creep
	along without it, and there's all these other things . . . .
   3) Preparing a lint library is a royal pain -- unless I'm willing to
	reconstruct cc's lexical analyzer (including keeping the comments),
	I get to massage my source by hand into the appropriate format;
   4)  Probably as a result of (3), the lint libraries tend to be about 3
	years behind the code.
Compilers need not have trouble with any of the difficulties listed in Lantz'
message;  see Mesa, for instance.  The claim that lint's optionality saves
you from paying compile overhead all the time while still providing safety
needs a lot more empirical backing than I've seen.

philipl@bronze.UUCP (Philip Lantz) (09/20/83)

Why do we want the COMPILER to check argument types?  Lint does it
very well.  It even knows about the library functions, and functions
that take a variable arguments, and functions declared in other files,
and other problems that the compiler would have doing it.  And if
lint tells you you're passing an int to a function that takes a
short, you can cast it, which makes it clear to the next person that
looks at your code that you know what's going on, and intended it.

Philip Lantz
tekmdp!bronze!philipl