Subject: bin/4266: lint shipped with NetBSD 1.2 is unusable
To: None <gnats-bugs@gnats.netbsd.org>
From: Peter Simons <simons@peti.gmd.de>
List: netbsd-bugs
Date: 10/13/1997 11:56:21
>Number: 4266
>Category: bin
>Synopsis: lint shipped with NetBSD 1.2 is unusable
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: bin-bug-people (Utility Bug People)
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Mon Oct 13 03:05:01 1997
>Last-Modified:
>Originator: Peter Simons
>Organization:
>Release: 1.2
>Environment:
System: NetBSD/i386 peti.gmd.de 1.2
>Description:
The lint version that comes with NetBSD/i386 1.2 is pretty
unusable for two reasons:
a) It is not installed completely.
b) It is obviously a rather old version that issues a lot of
warnings that are not suitable today anymore.
and related to b): It issues lots of warnings when checking
the normal include files.
An example program:
| #include <stdio.h>
| #include <string.h>
|
| int
| main(int argc, char ** argv)
| {
| if (argc <= 1) {
| printf("Usage: %s string\n", argv[0]);
| exit(1);
| }
|
| printf("Length is %d characters.\n", strlen(argv[1]));
| return 0;
| }
If this program is fed through lint, the following warnings
are given:
| simons@peti:/tmp$ lint -g test.c
| test.c:
| types.h(45): warning: integral constant too large
| types.h(49): warning: integral constant too large
| stdio.h(133): warning: integral constant too large
| stdio.h(134): warning: integral constant too large
| lint: cannot find llib-lc.ln
| Lint pass2:
| exit used( test.c(9) ), but not defined
| printf used( test.c(8) ), but not defined
| strlen used( test.c(12) ), but not defined
The "integral constant too large" warning comes from defining
an array as 'char buffer[2]' instead of using:
#define TWO 2
char buffer[TWO];
which is rather mystic.
Furthermore, the llib-lc.ln library is obviously missing.
Last but not least, it is hard to see why lint complaines
about printf() not being defined, if there's a big, far
include stdlib.h.
>How-To-Repeat:
>Fix:
Update to the latest version of lint.
>Audit-Trail:
>Unformatted: