yamt
9ab12a24fa
our wchar_t is int, not short.
2001-10-28 05:24:37 +00:00
thorpej
5f0a22902a
Give host tool builds better control over the HOST_CPPFLAGS.
2001-10-25 02:22:55 +00:00
thorpej
75f45f0ffb
Add support for putting prefixes on the name of lint(1)'s front
...
and back ends. This means that it can be built as a cross tool.
Part of the fix for bin/14280.
2001-10-24 02:31:09 +00:00
tv
d3c2262c8b
Back out part of rev. 1.16 (my build didn't pick up the -I from
...
../Makefile.inc the first time around, for some reason.)
2001-10-24 01:12:45 +00:00
thorpej
20d4cc1a5a
Set a CPP define on the command line to indicate which object
...
format lint(1) is being targeted at, and use this knowledge
as appropriate in the target param headers.
2001-10-24 00:42:35 +00:00
tv
b96cc8c40e
Let lint.7 get auto-built by the bsd.man.mk logic (don't explicitly depend
...
on it via "realall:"). Fixes lint.7 problem in src/tools reported by mrg.
While here, actually -I the arch subdir to pull in the correct targparam.h.
2001-10-24 00:07:39 +00:00
jmc
d63596f307
Move CPPFLAGS addition for lint1/arch to Makefile.inc so each subdir will
...
pick them up
2001-10-22 05:19:31 +00:00
thorpej
62f88da44c
Split out target parameters into separate header files, and
...
pull the correct one in based on the MACHINE_CPU variable.
MACHINE_CPU will be set according to the target system we are
building for by <bsd.own.mk>.
One component of addressing bin/14280.
2001-10-21 21:39:49 +00:00
bjh21
67fe54beb4
On ARM ELF platforms, size_t and ptrdiff_t are u_long and long respectively.
...
See <arm/ansi.h>.
2001-10-06 12:25:56 +00:00
wiz
9fa0b17629
Give initiali[sz]e all the "i"s it deserves.
2001-09-18 18:15:49 +00:00
wiz
456dff6cb8
Spell 'occurred' with two 'r's.
2001-09-16 16:34:23 +00:00
wiz
1e378c4c12
precede, not preceed.
2001-08-20 12:00:46 +00:00
eeh
7cac6218f0
Don't use long double on sparc64 since the compiler is borked.
2001-08-17 05:49:43 +00:00
tv
dba5d44670
Add hooks to allow toolchain bits to be reachover-built at the top level.
2001-08-14 10:18:26 +00:00
wiz
30b2bf87ed
Various typos in comments (neccessary, sceme, choise, ...).
2001-07-26 15:05:07 +00:00
wiz
878e08cf00
Nits.
2001-06-05 11:56:28 +00:00
lukem
704847f405
cleanup (prior to more adding more features):
...
- convert to ANSI KNF
- remove trailing whitespace
- translate some comments from german into english
code compiles and runs clean, and tested by running "make lint" against
xlint source using previous and this lint produces same results.
2001-05-28 12:40:37 +00:00
lukem
905f1ba6a0
support // comments if -g is given
2001-05-24 12:10:39 +00:00
lukem
2179a14315
oops! delint previous
2001-05-24 12:05:28 +00:00
lukem
c33b2caa30
allow trailing , in enum if -g
2001-05-24 11:58:09 +00:00
lukem
67252d9cad
minor whitespace/knf
2001-05-24 11:56:36 +00:00
lukem
18dddf4476
allow trailing , in enum if -g
2001-05-24 11:56:03 +00:00
sommerfeld
3cdcf0dfc6
Change type of anonymous bitfield pads so that lint -p no longer generates a
...
portability warning.
2001-05-19 17:19:00 +00:00
lukem
42f4b2cf45
only error on a newline in a string if -t (traditional) mode is enabled, since
...
ansi c supports multi-line strings without the trailing \n\ ...
2001-05-07 09:02:55 +00:00
lukem
b1e062a80e
s/refferd/referred/
2001-04-29 12:02:45 +00:00
simonb
a69a3cc5ec
Spell occurred correctly.
2001-04-25 02:19:48 +00:00
cgd
fd8d16c72f
fix broken NetBSD RCS id tags
2001-02-24 00:43:50 +00:00
cgd
c2bdafab79
use getprogname()
2001-02-20 23:51:59 +00:00
cgd
a8ec668ddf
convert to use getprogname()
2001-02-19 23:03:42 +00:00
bjh21
422a592092
__arm26__ || __arm32__ -> __arm__
2001-02-10 19:15:24 +00:00
enami
b25b640d38
No space is allowed before comma in optarg for -X option.
2001-01-23 23:06:11 +00:00
wiz
18f3d66238
Handle arguments in a slightly more standard way (avoid resetting optind).
2000-11-27 00:54:25 +00:00
mrg
f81973bb8f
sparc & sparc64 use `long' for ptrdiff_t.
2000-11-08 02:30:22 +00:00
is
135600f947
More format string cleanup by sommerfeld.
2000-10-11 14:46:00 +00:00
cgd
b653335cf3
don't build lint libs if MKLINT == no
2000-07-27 03:29:28 +00:00
mycroft
6ea1997e79
Fix problem building lint.7.
2000-07-23 22:17:14 +00:00
christos
6fa36b3bb7
better way to handle lint.7
2000-07-06 01:21:46 +00:00
christos
b28978bb69
document new flags.
2000-07-06 01:17:18 +00:00
christos
17ac48f4b1
pass -X <id>[,<id>]... and -w to lint1
2000-07-06 01:12:24 +00:00
christos
ab89a2b0b0
build lint.7 man page
2000-07-06 01:11:23 +00:00
christos
4017aef2ee
add 3 new flags:
...
-m print message list
-X <id>[,<id>]... suppress error messages with give ids.
-w treat warnings as errors.
2000-07-06 01:10:51 +00:00
christos
86cf133f3b
new function and new flag...
2000-07-06 01:09:56 +00:00
christos
2e6af79a57
- support for -X flag
...
- support for -m flag
- print the error number in each message
2000-07-06 01:09:20 +00:00
christos
3c68257297
new script to generate a man page of error messages that lint generates
2000-07-06 01:08:10 +00:00
christos
5c2e510661
Prevent lint1 from coredumping on invalid c code such as:
...
foo((sockaddr *(void *))0);
This fix is imperfect, because right now we just check the subtype
chains for NULL and we return to the caller when the loop ends, leaving
the upper layers to cope with the syntax error. Ideally we should:
a.) return an error to the upper layer, or
b.) not call the type analysis routines in the presence of a syntax
error.
That would require a significant re-write which would take much more time
than I have...
2000-07-05 22:50:59 +00:00
matt
fcd0fb118f
Make gcc 2.96 (and maybe earlier) happier. Include <stdlib.h>,<string.>,
...
etc. as appropriate to get exit,srncmp,abs,abort,etc.
Add -I${.CURDIR} to a few Makefiles
2000-07-03 02:51:12 +00:00
wrstuden
0e530441c1
Use execvp() instead of execv(). Deals with the case where CC, the compiler,
...
is not a full path. For instance, "cc".
2000-06-29 02:56:47 +00:00
matt
60dec93655
change lint to ${LINT} ${LINTFLAGS} so that includes in ${DESTDIR} are used.
2000-06-14 20:22:19 +00:00
cgd
d220ca5ba3
fix up NetBSD RCS Ids to match the standard, and the leading comment as
...
to match as well. No functional changes.
2000-06-14 06:48:47 +00:00
simonb
659b78955d
Don't need local extern declaration of strtouq() - it's in <stdlib.h>.
2000-05-10 05:09:17 +00:00
bjh21
6c97e2bd78
Initial commit of arm26 port
2000-05-09 21:55:44 +00:00
bad
dc38443eae
Catch up with changing size_t to ulong on sparc 10 months ago.
2000-04-09 01:08:17 +00:00
garbled
86e14c4a11
Add parsing of the CC env variable, and a -Bpath flag (for /usr/libexec)
...
so cross-building of lint libraries can be made possible. Tested
building a powerpc libc via make build on an alpha.
2000-03-22 01:09:34 +00:00
soren
89c5a767f8
Fix doubled 'the's.
2000-03-13 22:55:05 +00:00
mycroft
c2c3950608
More .mk file fallout. *sigh*
2000-01-23 20:59:11 +00:00
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
thorpej
150c33e60b
Use ${INSTALL}.
1996-10-18 05:55:26 +00:00
mark
dad2775914
Define PTRDIFF_IS_LONG and SIZEOF_IS_ULONG for the arm32 port.
1996-04-01 21:47:57 +00:00
jonathan
9b69a8f7e5
Add PTRDIFF_IS_LONG and SIZEOF_IS_ULONG config entries for (32-bit) mips.
1995-12-17 02:53:11 +00:00
jpo
ee102f4854
don't rely on macros predefined by cpp
1995-10-23 14:29:30 +00:00
jpo
aa1bae17a4
updated
1995-10-23 13:45:31 +00:00
jpo
6df3d70406
use MB_LEN_MAX instead of MB_CUR_MAX for array declaration, because
...
MB_CUR_MAX may be a non-constant expression
1995-10-23 13:38:51 +00:00
jpo
c31bb6f41c
insert a conversion operator from argument type to parameter type also
...
if the subtypes of both argument and parameter do not match (use
eqtype() instead of comparing t_tspec fields only).
1995-10-02 17:37:57 +00:00
jpo
0c1422d6bc
removed some dubious warnings about conversion of constant operands of
...
bitwise operators
1995-10-02 17:37:00 +00:00
jpo
e284b17305
allow register variables as left operand of POINT; fixes PR 1442
1995-10-02 17:35:57 +00:00
jpo
e5ba5db05b
don't print a warning about use of unitialized variables if one of the
...
enclosing compound statements had already an asm statement
1995-10-02 17:35:11 +00:00
jpo
9f9008af93
no need to print a warning about inline keywords
...
"inline" is a valid keyword only with -g, and "__inline" is always
a valid keyword
1995-10-02 17:34:16 +00:00
jpo
ffe990841c
don't print warnings about unused variables or arguments in compound
...
statements which contain asm statements.
1995-10-02 17:31:35 +00:00
jpo
5888f3bb16
LINTED and CONSTCOND are now valid up to the next end of a
...
global or local declaration/definition/statement. Originally they were
valid on the current and next line, which made it hard to suppress
warnings in constructs with more then one line.
LONGLONG can now be used to suppress errors or warnings in the next
declaration, definition or statement.
1995-10-02 17:29:45 +00:00
jpo
b95167a01a
support asm statements and asm modifiers in declarations
...
asm statements consist of an asm keyword, an optional qualifier, a
left paren, a list of tokens up to and including the matching right
paren, and a semicolon.
asm modifiers consist of an asm keyword, an left paren, a string and a
right paren.
asm statements and modifiers have no semantic for lint(1), they exist only
to avoid complaints about them.
1995-10-02 17:26:52 +00:00
jpo
bcb6c46ca1
some minor bug fixes
1995-10-02 17:22:46 +00:00
jpo
6910cf7927
prototypes override old style function definitions
...
this is a gnu extension to ansi c
1995-10-02 17:21:24 +00:00
jpo
ef83266200
__{const,signed,volatile}{__,} added
...
const, signed and volatile are disabled with -t
1995-10-02 17:18:53 +00:00
jpo
2e332f67bf
added inline keywords
...
"inline" is enabled by -g, "__inline" and "__inline__" are always available
1995-10-02 17:14:06 +00:00
jpo
a5d55cc062
prefixed members of dinfo_t with 'd_'
1995-10-02 17:08:31 +00:00
ragge
e9aafcbca4
Added vax support.
1995-07-23 18:14:41 +00:00
cgd
df24f1d4df
use correct cpp defines for various archs, define params for the alpha
1995-07-04 02:08:42 +00:00
cgd
c51c25021f
hack around a bug in our gcc.
1995-07-04 01:53:05 +00:00
cgd
d6c493f3fb
kill two of the three __NetBSD__-specific definitions
1995-07-03 21:39:28 +00:00
cgd
c61d16ddbe
RCS id cleanup
1995-07-03 21:23:45 +00:00
cgd
b14be51dec
lint(1) implementation, by Jochen Pohl. named 'xlint' for a similar
...
reason to why 'install' is named 'xinstall'.
1995-07-03 20:56:35 +00:00