Commit Graph

75 Commits

Author SHA1 Message Date
itojun
bb41dd1eaa add "#ifdef __sh3__" section.
(part of NetBSD/sh3 patches)
1999-09-12 16:10:45 +00:00
kleink
938ac456e0 Define __LINT__, per XCU5. 1999-09-09 09:34:25 +00:00
jwise
75eb9e11a9 Slight improvement to last fix: don't need to reset the cpp tempfile for
files which don't need to be run through cpp.  Also, use vfork() instead of
fork().

Both from Anders Hjalmarsson (Anders.Hjalmarsson@economics.gu.se)
1999-09-07 02:36:57 +00:00
jwise
6c0498c892 Apply fix from PR bin/8328 by Anders Hjalmarsson (Anders.Hjalmarsson@economics.gu.se):
work properly again when passwd multiple files on the command line.
1999-09-06 06:45:20 +00:00
christos
f53f008dfb More cosmetics in the usage message... 1999-05-03 15:45:01 +00:00
christos
5cb75fd417 Now that we use cc -E, -U__GNUC__ to avoid gnu extensions. Nuke the
__attribute__ and __extension__ workarounds.
Our invariant is: No gcc extensions if __GNUC__ is not defined, so lint
should not be playing around trying to pretend it is gcc.
1999-05-03 15:23:27 +00:00
christos
e782f12df1 Deal with gcc __extension__({ }). We assume that it returns a value 0, and
we prepend a /*NOSTRICT*/ comment to avoid constant in conditional context
warning.
1999-04-29 12:40:39 +00:00
mrg
b30d0fe7ba use "cc -E" not cpp directly. this allows lint(1) to be unaware of any
machine-dependant defines that cc(1) may normally define, and also
means that the mips ports work again.
1999-04-22 04:40:58 +00:00
garbled
9e44e9b578 More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Many more to
come.
1999-03-22 18:16:34 +00:00
ross
7f8e818918 Missing .El. 1999-03-09 03:19:28 +00:00
mycroft
a1c657fe56 Clean up SYNOPSIS formatting. 1999-03-07 11:29:58 +00:00
lukem
dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
christos
487c013c51 char -> unsigned char 1998-12-20 19:05:19 +00:00
christos
8f9762f2e2 pass -CC instead of -C to cpp so that we preserve macro comments in place. 1998-12-09 12:28:36 +00:00
christos
d79deccee9 Unfortunately lint uses c-style comments as directives and these get parsed
at the lexical analysis stage not at the syntax parsing stage. The upshot
is that:
	if (expr) {
		stmt1;
	}
	/* LINTED */
	stmt2;

stmt2 is the look-ahead token for the parser to choose between and if-then-else
statement as opposed to an if-then statement. Unfortunately the side effect
is that the LINTED directive gets reset before stmt2 gets parsed. We fix this,
by remembering the the linted directive during the if statement parsing and
restoring it at the appropriate time.
1998-11-23 14:37:08 +00:00
christos
e79f03e595 Fix problems with LINTED comment:
if (a) b;
	/*LINTED*/
	c;

	if (a) { b; }
	/*LINTED*/
	c;

	do { b; }
	/*LINTED*/
	while (c);

Produced warnings for c.
1998-11-13 16:48:01 +00:00
itohy
a42010baf2 Eliminate memory leaks at case labels. 1998-10-10 20:51:48 +00:00
itohy
edb019abaf Eliminate memory leaks.
Use  xrealloc()  rather than  xmalloc/memcpy/free  trio.
1998-10-08 08:20:37 +00:00
wsanchez
9e44eb8cc1 Add __ppc__ test 1998-10-08 01:30:50 +00:00
mycroft
49b1e89cfe If the return value is sometimes discarded, output `sometimes ignored' rather
than `always ignored'.
1998-07-28 05:12:00 +00:00
mycroft
a65a57d7b3 Propagate the value and test contexts to the right-hand side of a
comma operator.
1998-07-28 03:39:29 +00:00
mycroft
11177fb359 Search both sides of a comma operator for side effects. 1998-07-27 19:58:43 +00:00
mycroft
defaa2bc6e Fix a recurring typo: comparision -> comparison. 1998-07-27 13:50:46 +00:00
mycroft
eb86b91807 Fix uses of uninitialized memory, and incorrect types for initializers.
From ITOH Yasufumi, PR 5861.
1998-07-27 12:10:22 +00:00
tv
482063559a .y.c <sys.mk> rule fixes. Don't create a y.tab.h file unless asked for,
and use smarter creation of the header file.
1998-04-09 00:32:31 +00:00
tv
c3932dd723 Fix __RCSID() macro 1998-04-07 19:27:24 +00:00
sommerfe
bf7d5c8de3 Add -d option, so lint can be used safely when we're not building "in
place" (e.g., when DESTDIR is set).  This causes the lint driver to
pass -nostdinc -idirafter <dir> to cpp, causing it to ignore
/usr/include and look somewhere else instead..
1998-03-24 23:25:31 +00:00
christos
a06495e3c4 WARNSify 1998-02-22 15:40:39 +00:00
cjs
8b57d60845 I do wish people would start including <string.h> when they use memcpy. 1997-11-06 15:47:23 +00:00
cgd
f9356d1960 implement (hack in) symbol (function and variable) renaming, so that
the function renaming tricks currently needed by libc can be tolerated
by lint.  This needs some cleanup, but it appears to work.
1997-11-03 22:36:31 +00:00
cgd
206f92eed6 in chkdnud(), don't warn if the defined-but-not-used object is a function.
chkdnud() is used (only) to implement the -x option, which is supposed to
warn for variables only.
1997-11-03 22:33:53 +00:00
veego
aea22d6b9c Don't use " inside an '.if exists()' 1997-10-24 12:14:57 +00:00
lukem
8ba07ab0b3 use CPPFLAGS instead of CFLAGS 1997-10-24 09:00:17 +00:00
lukem
9ae9df9346 add Makefile.inc to turn off WARNS, and use it 1997-10-20 04:28:24 +00:00
mycroft
004f255040 Use S_IS*(), not S_IF*. 1997-10-19 19:27:40 +00:00
mikel
3f0dbdf761 xref exit(3) not exit(2) 1997-07-10 07:57:07 +00:00
veego
cb2070d1b6 Replace the clean target with a CLEANFILES+= line 1997-05-15 10:08:47 +00:00
mycroft
70f7fd1f59 Hack to work around compiler bug for now. 1997-05-09 18:07:23 +00:00
gwr
10e180cc49 Back out the .PATH.c changes. The .depend problem (and others)
will be fixed using the new .NOPATH make feature instead.
1997-05-08 21:11:01 +00:00
gwr
012e528f2e Use .PATH.c: ... 1997-05-06 20:44:56 +00:00
thorpej
6833a50866 Add support for the PowerPC. 1997-04-19 06:16:29 +00:00
christos
3917c3179d - Makefile cleanups 1997-03-24 21:57:01 +00:00
mycroft
fd38f3efbc Remove hack for (very old) GCC bug on i386. 1997-03-12 18:28:55 +00:00
mouse
ee6a5b2cd6 alternate -> alternative, per PR 2643 1997-03-08 14:24:19 +00:00
pk
25b5f4149a Splice a union in the type data structure. Some of the members can be `in use'
simultaneously, e.g. an enumerated bit-field.
1996-12-27 20:46:23 +00:00
cgd
81f0721bbe * accept the file name '-' to indicate that standard input is to be
used as lint1 input.  That involves having lint pass the '-' through
  to the cpp which preprocesses the lint1 input, and having lint1's
  scanner recognize a cpp filename "" as "{standard input}".
1996-12-22 11:31:47 +00:00
cgd
46b90748f5 * Ignore the size of integer arguments when trying to automatically
convert them to pointers.  If they're zero, they're converted (to
  NULL pointers) regardless of size.  If they're non-zero, they can't
  be converted (without a cast).  This matches the behavior of other
  version of lint, e.g. the lints on Digital UNIX and HP-UX.

* recognize that pointers to identical unnamed and untyped structs,
  unions, and enums are, in fact, identical.  This is done by tagging
  each of unnamed and untyped structure, union and enum with a unique
  position of creation, which is used as a unique identifier that
  when determine whether or not a pair of structures, unions, or enums
  are identical.
1996-12-22 11:31:37 +00:00
cgd
06fa442b12 * recognize that pointers to identical unnamed and untyped structs,
unions, and enums are, in fact, identical.  This is done by tagging
  each of unnamed and untyped structure, union and enum with a unique
  position of creation, which is used as a unique identifier that
  when determine whether or not a pair of structures, unions, or enums
  are identical.

* accept the file name '-' to indicate that standard input is to be
  used as lint1 input.  That involves having lint pass the '-' through
  to the cpp which preprocesses the lint1 input, and having lint1's
  scanner recognize a cpp filename "" as "{standard input}".
1996-12-22 11:31:24 +00:00
cgd
0cde55a411 * recognize that pointers to identical unnamed and untyped structs,
unions, and enums are, in fact, identical.  This is done by tagging
  each of unnamed and untyped structure, union and enum with a unique
  position of creation, which is used as a unique identifier that
  when determine whether or not a pair of structures, unions, or enums
  are identical.
1996-12-22 11:31:05 +00:00
cgd
e8685ee836 * Accept asm statements at any place where you could see a function or
variable declaration, in addition to within function & variable
  declarations and function bodies.  I think this comes close enough
  to what gcc does to be considered "correct enough."  Certainly, it
  fixes the problem for the couple of cases where this is a problem
  in our tree.
1996-12-22 11:30:49 +00:00