|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.24 |
10-Sep-2021 |
rillig |
lint: replace space followed by tab with simply tab
No functional change.
|
| 1.23 |
05-Sep-2021 |
rillig |
lint: clean up CPPFLAGS for xlint
In 1995, the file mem.c was in ../lint1. In 2002, these files were moved to ../common instead.
|
| 1.22 |
22-Aug-2021 |
rillig |
lint: only include code in the binaries that is actually used
No functional change.
|
| 1.21 |
22-Aug-2021 |
rillig |
lint: make xlint independent of lint1
The files from lint1 are not needed to build xlint, even worse, they get mixed up wrongly.
$ (cd usr.bin/xlint && make cleandir) $ (cd usr.bin/xlint/lint1 && make lint -k) $ (cd usr.bin/xlint/xlint && make lint)
lint2: cannot open mem.ln: No such file or directory
The 'make -k' for lint1 is necessary because lint tries to validate scan.c in strict bool mode, but the output from lex is not ready for that. This only happens in my local builds but not in the official builds on releng.NetBSD.org, I'm still researching that difference.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.20 |
24-Jan-2021 |
christos |
fix the build
|
| 1.19 |
17-Jan-2021 |
rillig |
lint: install custom stdbool.h, used for strict bool mode
|
| 1.18 |
16-Jan-2021 |
rillig |
lint: remove custom stdbool.h for strict bool mode again
Adding it broke the official builds.
|
| 1.17 |
16-Jan-2021 |
rillig |
lint: in strict bool mode, integer constants do not have type bool
Previously, lint1 allowed integer constants such as 0 and 1 to be used as bool constants. This was only half-baked since after fixing all error messages from that strict mode, there may still be integer literals in the code that should be replaced with true or false. This would stop a migration from int to bool in the middle, leaving inconsistent code around.
To find the remaining type inconsistencies, treat integers and bool as completely incompatible, even for compile time constants.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
|
| 1.16 |
11-Jan-2008 |
lukem |
Don't bring in -lutil for tools.
|
| 1.15 |
10-Jan-2008 |
lukem |
Convert to using raise_default_signal(3).
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base chap-midi-nbase netbsd-3-0-1-RELEASE chap-midi-base netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-3-base netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| 1.14 |
18-May-2003 |
lukem |
branches: 1.14.24; Now that <bsd.prog.mk> DTRT if HOSTPROG is defined (i.e, it is a no-op), there's no need to special-case .include-ing it.
|
|
Revision tags: fvdl_fs64_base
|
| 1.13 |
14-Jun-2002 |
simonb |
Use findcc() from ../mkdep so ${CC} can contain multiple tokens instead of trying to exec the whole contents of ${CC}.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.12 |
12-Nov-2001 |
tv |
Major overhaul of src/tools and host toolchain. Summary of changes:
* Rewrite src/tools Make logic to work like the rest of the tree wrt "dependall" and "install". The old "make build" hack is gone.
* Remove the MKTOOLS logic. This was linked to the "make build" hack, and was only needed because TOOLDIR originally had no writable default.
* Redo the GNU configure/make logic to make it fit reasonably in a BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.
* Only build cross tools in src/tools; remove some messy logic in src/usr.* and src/gnu/usr.* that would do target filename rewriting (improves consistency and readability).
* Add the ability to build cross gdb at tool build time by setting MKCROSSGDB (default no) to "yes" in mk.conf.
* Add src/tools/groff and set up paths to work with this cross groff.
|
| 1.11 |
25-Oct-2001 |
thorpej |
Give host tool builds better control over the HOST_CPPFLAGS.
|
| 1.10 |
24-Oct-2001 |
thorpej |
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.
|
| 1.9 |
14-Aug-2001 |
tv |
Add hooks to allow toolchain bits to be reachover-built at the top level.
|
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-4-PATCH003 netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
|
| 1.8 |
24-Oct-1997 |
lukem |
use CPPFLAGS instead of CFLAGS
|
|
Revision tags: netbsd-1-3-base
|
| 1.7 |
20-Oct-1997 |
lukem |
branches: 1.7.2; add Makefile.inc to turn off WARNS, and use it
|
| 1.6 |
08-May-1997 |
gwr |
Back out the .PATH.c changes. The .depend problem (and others) will be fixed using the new .NOPATH make feature instead.
|
| 1.5 |
06-May-1997 |
gwr |
Use .PATH.c: ...
|
| 1.4 |
24-Mar-1997 |
christos |
- Makefile cleanups
|
| 1.3 |
18-Oct-1996 |
thorpej |
Use ${INSTALL}.
|
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
| 1.2 |
03-Jul-1995 |
cgd |
RCS id cleanup
|
| 1.1 |
03-Jul-1995 |
cgd |
branches: 1.1.1; Initial revision
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.68 |
12-Apr-2025 |
rillig |
lint: s/illegal/invalid/g
Lint does not provide legal advice.
|
| 1.67 |
10-Apr-2025 |
rillig |
lint: do not warn about constant operand of '!'
Like its related warning about a constant condition, the purpose of this warning is unclear, and suppressing the warning requires special lint comments, thus cluttering the code.
The message itself is still kept in err.c to keep the '-X 239' option valid. These LINTFLAGS will be removed in a follow-up commit.
The lint comments /* CONSTCOND */, as well as its more verbose forms /* CONSTANTCOND */ and /* CONSTANTCONDITION */ are no longer needed and can be removed.
|
| 1.66 |
03-Jan-2025 |
rillig |
lint.1: modernize, brush up markup
The main purpose of lint is no longer to help migrate programs from traditional C to C90, so don't mention those features prominently.
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.65 |
21-Jan-2024 |
rillig |
branches: 1.65.2; lint: create .ln output file even when queries are enabled
This allows to configure lint flags in mk.conf globally for a whole NetBSD build. Previously, this would have made the build fail due to missing .ln files.
The previous use case of rerunning lint with or without queries is easy enough to achieve by doing a 'make clean', in the same way as for lint warnings.
|
| 1.64 |
26-Aug-2023 |
rillig |
lint: make diagnostics about ANSI C more international
|
| 1.63 |
02-Aug-2023 |
rillig |
lint: distinguish between arguments and parameters
|
| 1.62 |
03-Jul-2023 |
rillig |
lint: sync usage messages with reality
|
| 1.61 |
03-Jul-2023 |
rillig |
lint: remove redundant comments for command line flags
|
| 1.60 |
02-Jul-2023 |
rillig |
lint: add initial support for C23
Required by xsrc/external/mit/MesaLib.old, brw_eu_validate.c, which initializes a struct using empty braces: 'return (struct string){};'.
|
| 1.59 |
28-Jun-2023 |
rillig |
lint: allow to keep the preprocessor output on success as well
|
| 1.58 |
22-May-2023 |
rillig |
lint.1: add a few examples
In default mode, lint runs in a mode that aids in migrating from traditional C to C90, which is not widely useful nowadays. Instead, suggest some examples of using lint in more practical ways.
|
| 1.57 |
15-Apr-2023 |
rillig |
lint.1: remove extra space from -q option
|
| 1.56 |
22-Jan-2023 |
rillig |
lint: repurpose the '-d' option to specify DESTDIR
Previously, passing '-nostdinc -isystem $dir' only searched the given directory but not any compiler-specific directories.
Discovered by fontconfig, which includes <stdatomic.h> from C11, which lives in /usr/include/gcc-10 instead of /usr/include.
Change the preprocessor options to '--sysroot' instead, to align them with how the compiler is invoked using build.sh.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.55 |
01-Oct-2022 |
rillig |
lint: add hyphen to adjective 'old-style'
|
| 1.54 |
05-Jul-2022 |
rillig |
lint: add additional queries that are not enabled by default
In the last 18 months, several lint warnings have been made adjusted to allow common usage patterns. For example, lint no longer warns about a constant condition in the statement 'do { ... } while (false)' (message 161), as this pattern is well-known in statement-like macros, making it unlikely that the 'false' is a mistake. Another example is casts between unequal pointer types (message 247) for a few well-known patterns that are unlikely to be bugs.
Occasionally, it is useful to query the code for patterns or events that would not justify a warning. These patterns are modeled as predefined queries that can be selected individually, in addition to and independently of the existing warnings and errors.
New queries can be added as needed, in the same way as new warnings. Queries that are deemed no longer used can be deactivated in the same way as warnings that are no longer used.
As long as none of the queries is enabled, they produce a minimal overhead of querying a single global variable. Computations that are more expensive than a few machine instructions should be guarded by any_query_enabled.
https://mail-index.netbsd.org/source-changes-d/2022/06/28/msg013716.html
ok christos@
|
| 1.53 |
30-May-2022 |
rillig |
lint: clean up usage messages
The two synopsis forms differed in the spelling of 'file ...'.
The options string for getopt does not start with ':', which led to a duplicate message 'unknown option -- ?' followed by 'Unknown flag ?'.
Be more specific when calling 'lint file.c -u'; the message 'Unknown argument' was not helpful as it didn't pinpoint that there are two different phases for parsing options. In the second phase, only the options '-L' and '-l' are recognized.
In the manual page, mention the difference between the two synopsis forms as early as possible. The two synopsis forms are very similar and both have far to many options to see the difference at a glance.
|
| 1.52 |
15-Apr-2022 |
rillig |
lint: fix typography in manual page
|
| 1.51 |
15-Apr-2022 |
rillig |
lint: fix typography in manual page
|
| 1.50 |
27-Feb-2022 |
rillig |
lint: C99 has been released, so refer to it by its proper name
|
| 1.49 |
14-Dec-2021 |
christos |
provide an expanded description for -W
|
| 1.48 |
14-Dec-2021 |
christos |
Also accept -W to pass to cpp
|
| 1.47 |
08-Aug-2021 |
wiz |
Fix Dd argument.
|
| 1.46 |
08-Aug-2021 |
rillig |
lint: update and proofread manual page
|
| 1.45 |
08-Aug-2021 |
rillig |
lint: remove dead code for reading from stdin
Since xlint.c 1.27 from 2002-01-31, it has not been possible to read from stdin anymore. Apparently nobody missed this feature in the last 19 years.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.44 |
02-May-2021 |
rillig |
lint: on request, keep the preprocessor output
Previously, the simplest way of getting the preprocessed translation unit was to run lint with the additional flag -V, which outputs the command line of the C preprocessor, among other things. That command line does not include the proper quoting though, so it cannot be used verbatim as a shell command if the command line contains spaces such as in -Du64="unsigned long long".
In the common situation where lint is run via a Makefile, the option -V had to be added in the Makefile itself since there is no make variable for additional user-settable lint flags. This is not straight-forward enough.
Adding another command line option for this purpose would reduce the remaining namespace for options. Most of the 52 letters are already used up.
To make this situation as simple as possible, preserve the output of the C preprocessor depending on an environment variable.
|
| 1.43 |
14-Apr-2021 |
rillig |
lint: add option to accept C11 features
The list of available letters for the command line options gets shorter and shorter. Most of the interesting letters are already used for some warning categories. Curiously, -A, -W and -E were all still available.
The option -A nicely matches the intention of the option, which is to allow a certain set of language features. To keep the option available for further extensions, define -Ac11 as the currently only valid option of that kind. This allows straight-forward extension for C17 and future language standards, as well as independent feature-sets. The options -W and -E may someday complement the -A option, using the allow/warn/error categories.
|
| 1.42 |
12-Jan-2021 |
rillig |
lint: add new check for strict bool mode
In strict bool mode, bool is considered incompatible with all other scalar types, just as in Java, C#, Pascal.
The controlling expressions in if statements, while loops, for loops and the '?:' operator must be of type bool. The logical operators work on bool instead of int, the bitwise operators accept both integer and bool. The arithmetic operators don't accept bool.
Since <stdbool.h> implements bool using C preprocessor macros instead of predefining the identifiers "true" and "false", the integer constants 0 and 1 may be used in all contexts that require a bool expression. Except from these, no implicit conversion between bool and scalar types is allowed.
See usr.bin/tests/xlint/lint1/d_c99_bool_strict.c for more details.
The command line option -T has been chosen because all obvious choices (-b or -B for bool, -s or -S for strict) are already in use. The -T may stand for "types are checked strictly".
The default behavior of lint doesn't change. The strict bool check is purely optional.
An example program for strict bool mode is usr.bin/make, which has been using explicit comparisons such as p != NULL, ch != '\0' or n > 0 in most places for a long time now, even before the refactoring in 2020.
|
| 1.41 |
24-May-2020 |
wiz |
Remove trailing whitespace, add missing word.
|
| 1.40 |
23-May-2020 |
christos |
Use -Z to pass arguments to ccp(1) directly. Can be used as: -Z-include -Zfile.h
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107
|
| 1.39 |
25-Dec-2016 |
wiz |
Whitespace, sort, remove some superfluous macros/quoting.
|
| 1.38 |
24-Dec-2016 |
christos |
Add -R (source filename remapping) for MKREPRO
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base tls-maxphys-base
|
| 1.37 |
19-Apr-2013 |
christos |
branches: 1.37.10; make NOSTRICT behave the same a LINTED; use the new format.
|
| 1.36 |
19-Apr-2013 |
christos |
document LINTEDn
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base
|
| 1.35 |
29-Apr-2011 |
wiz |
branches: 1.35.4; 1.35.10; Sort options and option descriptions. Use more markup.
|
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.34 |
10-Mar-2009 |
joerg |
Remove use of .Xo/.Xc to workaround argument number limit.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.33 |
02-Aug-2008 |
apb |
branches: 1.33.6; Lint predefines the following symbols: "__LINT__", "lint", "__lint", and "__lint__"; not only "lint" as the man page previously claimed.
|
| 1.32 |
31-Jul-2008 |
christos |
document P
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base matt-armv6-base matt-mips64-base hpcarm-cleanup-base
|
| 1.31 |
19-Dec-2006 |
wiz |
branches: 1.31.12; Drop trailing whitespace.
|
| 1.30 |
19-Dec-2006 |
christos |
Xr lint 7; noticed by Anon Ymous
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base chap-midi-nbase netbsd-3-0-1-RELEASE chap-midi-base netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-3-base netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| 1.29 |
26-Jan-2004 |
wiz |
Bump date for previous.
|
| 1.28 |
26-Jan-2004 |
dsl |
Pass -MD through to cpp so that it can generate a depend file. (Actually pass any -M <arg> through, but -MD is most useful.)
|
| 1.27 |
08-Apr-2003 |
wiz |
Fix part of last.
|
| 1.26 |
08-Apr-2003 |
jmmv |
Homogenize paragraphs to begin with capital letter. Fixes my own PR misc/18773.
|
| 1.25 |
25-Feb-2003 |
wiz |
.Nm does not need a dummy argument ("") before punctuation or for correct formatting of the SYNOPSIS any longer.
|
|
Revision tags: fvdl_fs64_base
|
| 1.24 |
21-Oct-2002 |
christos |
add -S flag for c99 support.
|
| 1.23 |
26-Sep-2002 |
wiz |
Ispell. Begin new sentences on a new line.
|
| 1.22 |
13-Jun-2002 |
wiz |
Remove some unnecessary Ns.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.21 |
03-Jan-2002 |
thorpej |
* Add header files (ilp32.h and lp64.h) that describe the two models of type sizes that we currently support, and include the appropriate one in each arch's targparam.h. * Use the type size constants provided by targparam.h in the type table, rather than using "sizeof(type) * CHAR_BIT" (which would get the host's type size, not the target's). XXX Not yet done for floating point types. * Add a new BITFIELDTYPE lint comment that suppresses illegal bitfield type errors if the type is an integer type (e.g. long, long long), and also suppresses non-portable bitfield type warnings.
|
| 1.20 |
08-Dec-2001 |
wiz |
Punctuation nits.
|
| 1.19 |
05-Jun-2001 |
wiz |
Nits.
|
| 1.18 |
24-May-2001 |
lukem |
support // comments if -g is given
|
| 1.17 |
24-May-2001 |
lukem |
allow trailing , in enum if -g
|
| 1.16 |
29-Apr-2001 |
lukem |
s/refferd/referred/
|
| 1.15 |
25-Apr-2001 |
simonb |
Spell occurred correctly.
|
| 1.14 |
23-Jan-2001 |
enami |
No space is allowed before comma in optarg for -X option.
|
| 1.13 |
06-Jul-2000 |
christos |
document new flags.
|
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base
|
| 1.12 |
14-Jun-2000 |
cgd |
fix up NetBSD RCS Ids to match the standard, and the leading comment as to match as well. No functional changes.
|
|
Revision tags: minoura-xpg4dl-base
|
| 1.11 |
22-Mar-2000 |
garbled |
branches: 1.11.2; 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.
|
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
|
| 1.10 |
22-Mar-1999 |
garbled |
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.
|
| 1.9 |
09-Mar-1999 |
ross |
Missing .El.
|
| 1.8 |
07-Mar-1999 |
mycroft |
Clean up SYNOPSIS formatting.
|
| 1.7 |
24-Mar-1998 |
sommerfe |
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..
|
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
|
| 1.6 |
10-Jul-1997 |
mikel |
xref exit(3) not exit(2)
|
| 1.5 |
08-Mar-1997 |
mouse |
alternate -> alternative, per PR 2643
|
| 1.4 |
22-Dec-1996 |
cgd |
* 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}".
|
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
| 1.3 |
23-Oct-1995 |
jpo |
updated
|
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
| 1.2 |
03-Jul-1995 |
cgd |
RCS id cleanup
|
| 1.1 |
03-Jul-1995 |
cgd |
branches: 1.1.1; Initial revision
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.8 |
13-Jul-2023 |
rillig |
lint: indent copyright lines consistently
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.7 |
09-Aug-2021 |
rillig |
lint: remove unused pathname
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.6 |
24-Jan-2021 |
rillig |
lint: make path to lint data configurable
This is needed for strict bool mode, to make the custom header stdbool.h available when lint is run as part of build.sh.
|
| 1.5 |
16-Jan-2021 |
rillig |
lint: in strict bool mode, integer constants do not have type bool
Previously, lint1 allowed integer constants such as 0 and 1 to be used as bool constants. This was only half-baked since after fixing all error messages from that strict mode, there may still be integer literals in the code that should be replaced with true or false. This would stop a migration from int to bool in the middle, leaving inconsistent code around.
To find the remaining type inconsistencies, treat integers and bool as completely incompatible, even for compile time constants.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base chap-midi-nbase netbsd-3-0-1-RELEASE chap-midi-base netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-3-base netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 fvdl_fs64_base netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.4 |
14-Aug-2001 |
tv |
Add hooks to allow toolchain bits to be reachover-built at the top level.
|
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
|
| 1.3 |
22-Apr-1999 |
mrg |
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.
|
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
| 1.2 |
03-Jul-1995 |
cgd |
RCS id cleanup
|
| 1.1 |
03-Jul-1995 |
cgd |
branches: 1.1.1; Initial revision
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.2 |
07-May-2024 |
rillig |
lint: in C23 mode, support the keywords 'bool', 'false' and 'true'
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.1 |
16-Jan-2021 |
rillig |
lint: in strict bool mode, integer constants do not have type bool
Previously, lint1 allowed integer constants such as 0 and 1 to be used as bool constants. This was only half-baked since after fixing all error messages from that strict mode, there may still be integer literals in the code that should be replaced with true or false. This would stop a migration from int to bool in the middle, leaving inconsistent code around.
To find the remaining type inconsistencies, treat integers and bool as completely incompatible, even for compile time constants.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.126 |
08-Dec-2024 |
rillig |
lint: warn about do-while macros that end with a semicolon
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.125 |
12-May-2024 |
rillig |
branches: 1.125.2; lint: add wrapper for <ctype.h> functions, for strict bool mode
When using the Clang preprocessor (with MKLLVM=yes), the preprocessor output does not indicate which tokens come from a system header and which tokens come from the user code. Lint's strict bool mode relies on this information to treat the character classification functions from <ctype.h> as if their return type were bool instead of int.
These wrapper functions are only used when their argument is indeed a 'char', but not when the argument might be 'EOF or representable as an unsigned char', such as when reading a byte from the input.
|
| 1.124 |
12-May-2024 |
rillig |
lint: remove unused flag '-u' from lint1
This flag is completely handled by lint2.
|
| 1.123 |
02-Mar-2024 |
rillig |
lint: remove custom wrappers around <ctype.h> functions
|
| 1.122 |
20-Jan-2024 |
rillig |
lint: clean up
|
| 1.121 |
10-Dec-2023 |
rillig |
lint: clean up comments
No functional change.
|
| 1.120 |
03-Dec-2023 |
rillig |
lint: in declarations, replace tab with space
Previously, in some cases, the keywords 'const' or 'struct' were followed by a tab, which doesn't make sense.
No functional change.
|
| 1.119 |
03-Dec-2023 |
rillig |
lint: re-wrap comments
No functional change.
|
| 1.118 |
03-Dec-2023 |
rillig |
lint: indent statement continuations consistently
No binary change.
|
| 1.117 |
26-Oct-2023 |
rillig |
lint: reduce number of negations, fix variable name
No functional change.
|
| 1.116 |
26-Oct-2023 |
rillig |
lint: merge redundant variables
No functional change.
|
| 1.115 |
25-Oct-2023 |
rillig |
lint: make variable names more expressive, remove redundant comments
No functional change.
|
| 1.114 |
13-Jul-2023 |
rillig |
lint: indent copyright lines consistently
|
| 1.113 |
03-Jul-2023 |
rillig |
lint: sync usage messages with reality
|
| 1.112 |
28-Jun-2023 |
rillig |
lint: allow to keep the preprocessor output on success as well
|
| 1.111 |
09-Jun-2023 |
rillig |
lint: sort functions in calling order
No functional change.
|
| 1.110 |
09-Jun-2023 |
rillig |
lint: indent local variables consistently
No binary change.
|
| 1.109 |
19-Feb-2023 |
rillig |
lint: make basename simpler
There is no need to handle trailing slashes since lint only handles regular files in diagnostics, not directories. Furthermore, only the last '/' was ignored, but multiple trailing slashes would not.
|
| 1.108 |
22-Jan-2023 |
rillig |
lint: repurpose the '-d' option to specify DESTDIR
Previously, passing '-nostdinc -isystem $dir' only searched the given directory but not any compiler-specific directories.
Discovered by fontconfig, which includes <stdatomic.h> from C11, which lives in /usr/include/gcc-10 instead of /usr/include.
Change the preprocessor options to '--sysroot' instead, to align them with how the compiler is invoked using build.sh.
|
| 1.107 |
21-Jan-2023 |
rillig |
lint: catch more write errors when copying files
|
| 1.106 |
21-Jan-2023 |
rillig |
lint: remove unnecessary abstraction layer for passing arguments
The abstraction layer of the pass_to functions wasn't worth its weight. After inlining the functions, the code is even clearer than before.
No functional change.
|
| 1.105 |
20-Jan-2023 |
rillig |
lint: keep output from cpp if cpp fails
Previously, lint only kept the cpp output if lint1 failed. Due to subtle differences in the preprocessing, there can be cases where the preprocessor already fails, for example when it takes a different '#ifdef' branch and therefore tries to include nonexistent files. In such a case, preserving the output of the preprocessor is helpful to compare it with the regular output of cpp, so keep it.
|
| 1.104 |
15-Jan-2023 |
rillig |
xlint: fix null pointer dereference for lint -V (since today)
Building the argument lists further away from the vfork call in xlint.c 1.100 had the side effect that the trailing null pointer was added outside run_child.
|
| 1.103 |
15-Jan-2023 |
rillig |
lint: clean up main function
No functional change.
|
| 1.102 |
15-Jan-2023 |
rillig |
lint: extract run_cpp and run_lint1 to separate functions
Move run_lint2 further to the top, to save a forward declaration.
No functional change.
|
| 1.101 |
15-Jan-2023 |
rillig |
lint: reduce number of local variables in lbasename
No functional change.
|
| 1.100 |
15-Jan-2023 |
rillig |
lint: move argument list modification further away from vfork
Just to be on the safe side.
While here, don't allocate argument strings needlessly.
No functional change.
|
| 1.99 |
15-Jan-2023 |
rillig |
lint: turn O(n^2) to O(n) for list of arguments to lint child processes
Previously, adding an argument to the lint child processes (cpp, lint1, lint2) each time searched the list of arguments for the terminating null pointer and then reallocated the memory for storing the strings.
Replace the above with a standard resizable array implementation and give it a proper name, to avoid 'char ***' in the code.
The terminating null pointer in the lists is only required when passing the list to execvp. In all other cases it's not needed, so drop it.
No functional change.
|
| 1.98 |
15-Jan-2023 |
rillig |
lint: rename local functions to be more readable
No functional change.
|
| 1.97 |
14-Jan-2023 |
rillig |
lint: explicitly ignore errors when printing status messages
No binary change.
|
| 1.96 |
14-Jan-2023 |
rillig |
lint: remove unnecessary MBLKSIZ, use stack buffer in xlint
No functional change.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.95 |
01-Oct-2022 |
rillig |
lint: remove redundant cast
Since C90 prototypes, integer arguments are converted to the correct parameter type.
No functional change.
|
| 1.94 |
05-Jul-2022 |
rillig |
lint: add additional queries that are not enabled by default
In the last 18 months, several lint warnings have been made adjusted to allow common usage patterns. For example, lint no longer warns about a constant condition in the statement 'do { ... } while (false)' (message 161), as this pattern is well-known in statement-like macros, making it unlikely that the 'false' is a mistake. Another example is casts between unequal pointer types (message 247) for a few well-known patterns that are unlikely to be bugs.
Occasionally, it is useful to query the code for patterns or events that would not justify a warning. These patterns are modeled as predefined queries that can be selected individually, in addition to and independently of the existing warnings and errors.
New queries can be added as needed, in the same way as new warnings. Queries that are deemed no longer used can be deactivated in the same way as warnings that are no longer used.
As long as none of the queries is enabled, they produce a minimal overhead of querying a single global variable. Computations that are more expensive than a few machine instructions should be guarded by any_query_enabled.
https://mail-index.netbsd.org/source-changes-d/2022/06/28/msg013716.html
ok christos@
|
| 1.93 |
30-May-2022 |
rillig |
lint: clean up usage messages
The two synopsis forms differed in the spelling of 'file ...'.
The options string for getopt does not start with ':', which led to a duplicate message 'unknown option -- ?' followed by 'Unknown flag ?'.
Be more specific when calling 'lint file.c -u'; the message 'Unknown argument' was not helpful as it didn't pinpoint that there are two different phases for parsing options. In the second phase, only the options '-L' and '-l' are recognized.
In the manual page, mention the difference between the two synopsis forms as early as possible. The two synopsis forms are very similar and both have far to many options to see the difference at a glance.
|
| 1.92 |
20-May-2022 |
rillig |
lint: use __RCSID in lint mode as well
Since 1995-10-02, lint supports __asm statements and __asm modifiers.
No binary change.
|
| 1.91 |
16-Apr-2022 |
rillig |
lint: skip duplicate -llib and -Llibdir options
This removes many of the currently 26.000 'multiply defined' lines from a typical NetBSD build. Duplicate libraries happen a lot due to overlapping transitive dependencies. An example is usr.bin/telnet, which links to -lcrypto and several other libraries twice.
|
| 1.90 |
15-Apr-2022 |
rillig |
lint: in verbose mode, quote shell commands in output
|
| 1.89 |
08-Mar-2022 |
rillig |
lint: fix typo in comment
No binary change.
|
| 1.88 |
28-Dec-2021 |
rillig |
lint: do not output "Lint pass2:"
A colon at the end of a line requires at least 1 follow-up line, but xlint cannot know whether lint2 will find anything to complain about. Having a colon followed by nothing creates unnecessary confusion.
|
| 1.87 |
14-Dec-2021 |
christos |
Also accept -W to pass to cpp
|
| 1.86 |
28-Nov-2021 |
christos |
remove extra line
|
| 1.85 |
28-Nov-2021 |
christos |
Explain the usage errors.
|
| 1.84 |
21-Nov-2021 |
rillig |
lint: rename list_add to list_add_ref and list_add_copy to list_add
The function for copying the string is used more often, so use the simpler name for it.
No functional change.
|
| 1.83 |
21-Nov-2021 |
rillig |
lint: remove redundant function prototypes
|
| 1.82 |
05-Sep-2021 |
rillig |
lint: hide irrelevant type information from lint2
No functional change.
|
| 1.81 |
05-Sep-2021 |
rillig |
lint: fix some more lint warnings
The only remaining warnings are in scan.c, which is a generated Flex scanner.
No functional change.
|
| 1.80 |
28-Aug-2021 |
rillig |
lint: explicitly ignore the return value of close
|
| 1.79 |
20-Aug-2021 |
rillig |
mkdep: make argument of findcc const
Previously, findcc modified its argument string, even though it had been declared as 'const char *'. This triggered a lint warning that "strchr effectively discards 'const char *' from argument", in fact, this code caused the lint check to be implemented in the first place.
The first attempt at fixing it by removing the 'const' from the parameter type was a bad idea since it made the API of that function more complicated.
Revert back to making the parameter a 'const char *' and duplicate that string internally as necessary. Add a few more tests for absolute pathnames since these had been missing before. There are no tests yet for snprintf with too long strings, but the current change does not modify that part of the code.
|
| 1.78 |
19-Aug-2021 |
rillig |
mkdep: fix prototype of findcc
A function that modifies a string argument must not declare that argument as 'const char *', even if all callers (mkdep and lint) always pass it a modifiable string.
No functional change.
|
| 1.77 |
19-Aug-2021 |
rillig |
lint: remove redundant variable Bflag
No functional change.
|
| 1.76 |
19-Aug-2021 |
rillig |
lint: remove unused static variable
|
| 1.75 |
19-Aug-2021 |
rillig |
lint: simplify code for adding '-l' and '-L' to libraries
No functional change.
|
| 1.74 |
19-Aug-2021 |
rillig |
lint: merge duplicate code for passing flags to subprocesses
No functional change.
|
| 1.73 |
19-Aug-2021 |
rillig |
lint: uniformly pass command line flags to subprocesses
No functional change.
|
| 1.72 |
09-Aug-2021 |
rillig |
lint: remove commented-out preprocessor options
These have been commented out since 2002.
|
| 1.71 |
08-Aug-2021 |
rillig |
lint: group global variables by the subprocess
No functional change.
|
| 1.70 |
08-Aug-2021 |
rillig |
lint: rename list_free to list_clear
The previous name suggested that the function would free the list itself, which it doesn't.
|
| 1.69 |
08-Aug-2021 |
rillig |
lint: remove dead code for reading from stdin
Since xlint.c 1.27 from 2002-01-31, it has not been possible to read from stdin anymore. Apparently nobody missed this feature in the last 19 years.
|
| 1.68 |
08-Aug-2021 |
rillig |
lint: inline list_add_defines
No functional change.
|
| 1.67 |
08-Aug-2021 |
rillig |
lint: rename functions for handling string lists
No functional change.
|
| 1.66 |
08-Aug-2021 |
rillig |
lint: make data flow in findlibs simpler
No functional change.
|
| 1.65 |
08-Aug-2021 |
rillig |
lint: make memory management in xlint simpler
No functional change.
|
| 1.64 |
01-Aug-2021 |
rillig |
lint: make xasprintf simpler
No functional change.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.63 |
02-May-2021 |
rillig |
lint: on request, keep the preprocessor output
Previously, the simplest way of getting the preprocessed translation unit was to run lint with the additional flag -V, which outputs the command line of the C preprocessor, among other things. That command line does not include the proper quoting though, so it cannot be used verbatim as a shell command if the command line contains spaces such as in -Du64="unsigned long long".
In the common situation where lint is run via a Makefile, the option -V had to be added in the Makefile itself since there is no make variable for additional user-settable lint flags. This is not straight-forward enough.
Adding another command line option for this purpose would reduce the remaining namespace for options. Most of the 52 letters are already used up.
To make this situation as simple as possible, preserve the output of the C preprocessor depending on an environment variable.
|
| 1.62 |
18-Apr-2021 |
rillig |
lint: remove WARNS=3, falling back to the default WARNS=5
It's strange that GCC does not warn about the nonliteral format strings in lint1/err.c, lint2/msg.c and lint2/read.c, despite -Wformat=2, but Clang does.
|
| 1.61 |
14-Apr-2021 |
rillig |
lint: un-abbreviate code for passing options to cpp, lint1 and lint2
No functional change.
|
| 1.60 |
14-Apr-2021 |
rillig |
lint: add option to accept C11 features
The list of available letters for the command line options gets shorter and shorter. Most of the interesting letters are already used for some warning categories. Curiously, -A, -W and -E were all still available.
The option -A nicely matches the intention of the option, which is to allow a certain set of language features. To keep the option available for further extensions, define -Ac11 as the currently only valid option of that kind. This allows straight-forward extension for C17 and future language standards, as well as independent feature-sets. The options -W and -E may someday complement the -A option, using the allow/warn/error categories.
|
| 1.59 |
14-Apr-2021 |
rillig |
lint: arrange options in the usage messages
* lowercase the word 'usage' * group the preprocessor flags on a line of their own * add missing closing ']' for '-X' * properly indent the lines
|
| 1.58 |
02-Apr-2021 |
rillig |
lint: add parentheses after sizeof, as required by share/misc/style
No functional change.
|
| 1.57 |
26-Mar-2021 |
rillig |
lint: in malloc calls, use 'sizeof *ptr' instead of 'sizeof(type)'
No functional change.
|
| 1.56 |
16-Jan-2021 |
rillig |
lint: replace integer constant expressions with true and false
LINTFLAGS=-gST make lint, with manual review.
The error messages from lint are all correct, they are not complete though. The return value of a function returning bool may still be compared to the integer 0.
|
| 1.55 |
16-Jan-2021 |
rillig |
lint: in strict bool mode, integer constants do not have type bool
Previously, lint1 allowed integer constants such as 0 and 1 to be used as bool constants. This was only half-baked since after fixing all error messages from that strict mode, there may still be integer literals in the code that should be replaced with true or false. This would stop a migration from int to bool in the middle, leaving inconsistent code around.
To find the remaining type inconsistencies, treat integers and bool as completely incompatible, even for compile time constants.
|
| 1.54 |
16-Jan-2021 |
rillig |
lint: replace 0 and 1 with false and true, where appropriate
Change in behavior: Passing the option -h exactly 4294967296 times or any multiple thereof is no longer equivalent to passing it never at all, it is now equivalent to passing it once. See main2.c, hflag++ for the actual change.
Other than that, no functional change intended.
A very large portion of the code already conformed to the requirements of the strict bool mode. The only missing thing was using the constant literals false and true instead of 0 and 1. For sure there are some integer literals left that can be converted. For now, all literals that appeared in the form " = 0" or " = 1" have been replaced.
|
| 1.53 |
12-Jan-2021 |
rillig |
lint: add new check for strict bool mode
In strict bool mode, bool is considered incompatible with all other scalar types, just as in Java, C#, Pascal.
The controlling expressions in if statements, while loops, for loops and the '?:' operator must be of type bool. The logical operators work on bool instead of int, the bitwise operators accept both integer and bool. The arithmetic operators don't accept bool.
Since <stdbool.h> implements bool using C preprocessor macros instead of predefining the identifiers "true" and "false", the integer constants 0 and 1 may be used in all contexts that require a bool expression. Except from these, no implicit conversion between bool and scalar types is allowed.
See usr.bin/tests/xlint/lint1/d_c99_bool_strict.c for more details.
The command line option -T has been chosen because all obvious choices (-b or -B for bool, -s or -S for strict) are already in use. The -T may stand for "types are checked strictly".
The default behavior of lint doesn't change. The strict bool check is purely optional.
An example program for strict bool mode is usr.bin/make, which has been using explicit comparisons such as p != NULL, ch != '\0' or n > 0 in most places for a long time now, even before the refactoring in 2020.
|
| 1.52 |
04-Jan-2021 |
rillig |
lint: fix typos and other minor stylistic issues
|
| 1.51 |
29-Dec-2020 |
rillig |
lint: remove redundant parentheses around return value
|
| 1.50 |
23-May-2020 |
christos |
Use -Z to pass arguments to ccp(1) directly. Can be used as: -Z-include -Zfile.h
|
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
|
| 1.49 |
10-Feb-2020 |
christos |
use asprintf().
|
| 1.48 |
09-Feb-2020 |
fox |
usr.bin/xlint: Fix -Werror=format-overflow= error.
Replace sprintf(3) with snprintf(3).
Error was reported when build.sh was run with MKLIBCSANITIZER=yes flag.
Reviewed by: kamil@
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.47 |
13-Apr-2019 |
christos |
Undefine SSE stuff; we don't want portable code to depend on it and we don't provide the necessary headers.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107
|
| 1.46 |
24-Dec-2016 |
christos |
branches: 1.46.14; Add -R (source filename remapping) for MKREPRO
|
|
Revision tags: pgoyette-localcount-20161104 localcount-20160914
|
| 1.45 |
05-Sep-2016 |
sevan |
Drop main() prototype.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.44 |
18-Sep-2011 |
njoly |
branches: 1.44.24; Fix lseek(2) swapped arguments.
|
|
Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
| 1.43 |
22-Mar-2010 |
mrg |
convert -idirafter to -isystem, as recommended by cgd in PR 11843. most of the list in that PR were already done.
|
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.42 |
15-Apr-2009 |
christos |
Lukemify (WARNS=4)
|
| 1.41 |
14-Apr-2009 |
lukem |
fix -Wcast-qual issues
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.40 |
29-Aug-2008 |
gmcgarry |
branches: 1.40.6; Undefine __PCC__ the same as __GNUC__ inside lint.
|
| 1.39 |
31-Jul-2008 |
christos |
enable -P
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
|
| 1.38 |
10-Jan-2008 |
lukem |
branches: 1.38.6; Convert to using raise_default_signal(3).
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.37 |
02-Jun-2005 |
lukem |
branches: 1.37.12; appease gcc -Wuninitialized
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
|
| 1.36 |
09-Feb-2005 |
dsl |
Only pass -Wtraditional to cpp for lint -t ... Stops warnings about pre-processor constructs like #elif - which there is no point detecting now that we've changed much of the code to require an ANSI C compiler.
|
| 1.35 |
20-Jun-2004 |
jmc |
Completely rework how tools/compat is done. Purge all uses/references to _NETBSD_SOURCE as this makes cross building from older/newer versions of NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to only use POSIX code in all places (or when reasonable test w. configure and provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86 NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944
|
|
Revision tags: netbsd-2-0-base
|
| 1.34 |
26-Jan-2004 |
dsl |
branches: 1.34.2; Pass -MD through to cpp so that it can generate a depend file. (Actually pass any -M <arg> through, but -MD is most useful.)
|
| 1.33 |
27-Oct-2003 |
lukem |
Overhaul how `build.sh tools' are used:
* Rename "config.h" to "nbtool_config.h" and HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H. This makes in more obvious in the source when we're using tools/compat/config.h versus "standard autoconf" config.h
* Consistently move the inclusion of nbtool_config.h to before <sys/cdefs.h> so that the former can provide __RCSID() (et al), and there's no need to protect those macros any more.
These changes should make it easier to "tool-ify" a program by adding: #if HAVE_NBTOOL_CONFIG_H #include "nbtool_config.h" #endif to the top of the source files (for the general case).
|
| 1.32 |
06-Jan-2003 |
wiz |
synchronous, not syncronous.
|
|
Revision tags: fvdl_fs64_base
|
| 1.31 |
24-Nov-2002 |
thorpej |
Skip passing -$ to the preprocessor, for now.
|
| 1.30 |
21-Oct-2002 |
christos |
add -S flag for c99 support.
|
| 1.29 |
20-Jul-2002 |
grant |
sweep of errx/warnx, remove unnecessary trailing \n
|
| 1.28 |
14-Jun-2002 |
simonb |
Use findcc() from ../mkdep so ${CC} can contain multiple tokens instead of trying to exec the whole contents of ${CC}.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
| 1.27 |
31-Jan-2002 |
tv |
branches: 1.27.2; * Use setprogname() in main(). * Don't grossly abuse getopt(); allow only -l and -L after filenames are encountered, and do the parsing of these options manually.
|
| 1.26 |
22-Jan-2002 |
thorpej |
Add a missing "break;" statement so that this actually works again.
|
| 1.25 |
21-Jan-2002 |
tv |
Add hooks for compiling on non-NetBSD hosts.
|
| 1.24 |
24-Oct-2001 |
thorpej |
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.
|
| 1.23 |
28-May-2001 |
lukem |
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.
|
| 1.22 |
19-Feb-2001 |
cgd |
convert to use getprogname()
|
| 1.21 |
27-Nov-2000 |
wiz |
Handle arguments in a slightly more standard way (avoid resetting optind).
|
| 1.20 |
06-Jul-2000 |
christos |
pass -X <id>[,<id>]... and -w to lint1
|
| 1.19 |
29-Jun-2000 |
wrstuden |
Use execvp() instead of execv(). Deals with the case where CC, the compiler, is not a full path. For instance, "cc".
|
|
Revision tags: netbsd-1-5-base
|
| 1.18 |
14-Jun-2000 |
cgd |
branches: 1.18.2; fix up NetBSD RCS Ids to match the standard, and the leading comment as to match as well. No functional changes.
|
|
Revision tags: minoura-xpg4dl-base
|
| 1.17 |
22-Mar-2000 |
garbled |
branches: 1.17.2; 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.
|
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
|
| 1.16 |
09-Sep-1999 |
kleink |
Define __LINT__, per XCU5.
|
| 1.15 |
07-Sep-1999 |
jwise |
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)
|
| 1.14 |
06-Sep-1999 |
jwise |
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.
|
| 1.13 |
03-May-1999 |
christos |
More cosmetics in the usage message...
|
| 1.12 |
03-May-1999 |
christos |
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.
|
| 1.11 |
29-Apr-1999 |
christos |
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.
|
| 1.10 |
22-Apr-1999 |
mrg |
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.
|
|
Revision tags: netbsd-1-4-base
|
| 1.9 |
09-Dec-1998 |
christos |
branches: 1.9.2; pass -CC instead of -C to cpp so that we preserve macro comments in place.
|
| 1.8 |
08-Oct-1998 |
itohy |
Eliminate memory leaks. Use xrealloc() rather than xmalloc/memcpy/free trio.
|
| 1.7 |
24-Mar-1998 |
sommerfe |
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..
|
| 1.6 |
22-Feb-1998 |
christos |
WARNSify
|
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
|
| 1.5 |
19-Oct-1997 |
mycroft |
Use S_IS*(), not S_IF*.
|
| 1.4 |
22-Dec-1996 |
cgd |
* 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}".
|
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
| 1.3 |
23-Oct-1995 |
jpo |
don't rely on macros predefined by cpp
|
|
Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
| 1.2 |
03-Jul-1995 |
cgd |
RCS id cleanup
|
| 1.1 |
03-Jul-1995 |
cgd |
branches: 1.1.1; Initial revision
|