The NetBSD Project

CVS log for src/usr.bin/xlint/lint1/lint1.h

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / xlint / lint1

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.228: download - view: text, markup, annotated - select for diffs
Sat Sep 28 15:51:40 2024 UTC (6 weeks, 1 day ago) by rillig
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.227: preferred, colored
Changes since revision 1.227: +6 -1 lines
lint: handle __attribute__((__unused__)) for functions and variables

Previously, lint ignored the '__unused' marker, requiring its own /*
ARGSUSED */ marker instead.

Previously, attributes were interpreted as soon as the closing
parenthesis was parsed.  For a function definition such as '__unused
static void f(void) {}', this was too early, as the attribute was not
connected to the function, as the function was not parsed yet.

Now, the 'unused' attribute is passed around by the parser, until it is
merged into the declarator where it belongs.  Due to an inaccuracy in
the grammar, the 'used' attribute has to be passed through a
parameter_list, even though a parameter list is not related to
attributes.  Still, it's better than before.

Revision 1.227: download - view: text, markup, annotated - select for diffs
Sat May 11 16:12:28 2024 UTC (6 months ago) by rillig
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs
Diff to: previous 1.226: preferred, colored
Changes since revision 1.226: +47 -1 lines
lint: parse but otherwise ignore C23 attributes

The C23 attributes are only parsed before an expression in an expression
statement, as a proof of concept.  Other places will follow later.

Revision 1.226: download - view: text, markup, annotated - select for diffs
Thu May 9 11:08:07 2024 UTC (6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.225: preferred, colored
Changes since revision 1.225: +3 -3 lines
lint: in C23 mode, support the nullptr constant

Revision 1.225: download - view: text, markup, annotated - select for diffs
Tue May 7 21:13:26 2024 UTC (6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.224: preferred, colored
Changes since revision 1.224: +9 -1 lines
lint: in C23 mode, support the keywords 'bool', 'false' and 'true'

Revision 1.224: download - view: text, markup, annotated - select for diffs
Fri May 3 04:04:18 2024 UTC (6 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.223: preferred, colored
Changes since revision 1.223: +6 -6 lines
lint: measure the alignment in bytes, not bits

While measuring the alignment in bits makes sense when building a struct
type with bit-fields, in all other places it is more confusing than
helpful.

The only visible change is that in debug mode, the format of type sizes
and alignment changed.  Since the size of all complete types is a
multiple of a byte (as defined in the C standard), sizes and alignments
are reported in bytes as well.  Only while a struct is being built, the
type size may include an additional '+x' for the bits of a bit-field.

Revision 1.223: download - view: text, markup, annotated - select for diffs
Wed May 1 07:40:11 2024 UTC (6 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.222: preferred, colored
Changes since revision 1.222: +3 -1 lines
lint: support _Alignas and __attribute__((__aligned(4)))

Revision 1.222: download - view: text, markup, annotated - select for diffs
Sun Mar 31 20:28:45 2024 UTC (7 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.221: preferred, colored
Changes since revision 1.221: +2 -2 lines
lint: merge function call operators 'CALL' and 'ICALL'

Revision 1.221: download - view: text, markup, annotated - select for diffs
Sat Mar 9 13:54:47 2024 UTC (8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.220: preferred, colored
Changes since revision 1.220: +13 -20 lines
lint: inline accessor macros for tnode_t

Revision 1.220: download - view: text, markup, annotated - select for diffs
Sat Mar 9 13:20:55 2024 UTC (8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.219: preferred, colored
Changes since revision 1.219: +10 -16 lines
lint: inline accessor macros for type_t

Revision 1.219: download - view: text, markup, annotated - select for diffs
Sat Mar 9 11:05:05 2024 UTC (8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.218: preferred, colored
Changes since revision 1.218: +28 -57 lines
lint: clean up comments, use typedefs

Revision 1.218: download - view: text, markup, annotated - select for diffs
Sat Mar 9 10:54:12 2024 UTC (8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.217: preferred, colored
Changes since revision 1.217: +8 -10 lines
lint: internally store case label values in order of appearance

Revision 1.217: download - view: text, markup, annotated - select for diffs
Sat Mar 9 10:47:16 2024 UTC (8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.216: preferred, colored
Changes since revision 1.216: +1 -15 lines
lint: remove unneeded checks for left and right operands

Revision 1.216: download - view: text, markup, annotated - select for diffs
Sat Mar 9 10:41:11 2024 UTC (8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.215: preferred, colored
Changes since revision 1.215: +29 -28 lines
lint: use fewer struct keywords

Revision 1.215: download - view: text, markup, annotated - select for diffs
Sun Mar 3 16:09:01 2024 UTC (8 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.214: preferred, colored
Changes since revision 1.214: +2 -2 lines
lint: clean up string parsing and snprintb check

Revision 1.214: download - view: text, markup, annotated - select for diffs
Mon Feb 5 23:11:22 2024 UTC (9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.213: preferred, colored
Changes since revision 1.213: +10 -1 lines
lint: make function call arguments directly accessible

Previously, the arguments of a function call expression were arranged in
a linear tree structure, from right to left.  To allow easier access to
the arguments, store them in an array instead.

Revision 1.213: download - view: text, markup, annotated - select for diffs
Sat Feb 3 19:37:02 2024 UTC (9 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.212: preferred, colored
Changes since revision 1.212: +1 -3 lines
lint: remove excessive empty lines

Revision 1.212: download - view: text, markup, annotated - select for diffs
Sat Feb 3 19:25:16 2024 UTC (9 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.211: preferred, colored
Changes since revision 1.211: +25 -4 lines
lint: keep strings in their source representation

This allows further analysis depending on whether individual characters are
escaped as octal, hexadecimal or not at all.

Revision 1.211: download - view: text, markup, annotated - select for diffs
Thu Feb 1 18:37:06 2024 UTC (9 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.210: preferred, colored
Changes since revision 1.210: +4 -15 lines
lint: use standard buffer for storing string values

No functional change.

Revision 1.210: download - view: text, markup, annotated - select for diffs
Mon Jan 29 21:30:25 2024 UTC (9 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.209: preferred, colored
Changes since revision 1.209: +2 -2 lines
lint: do not remember content of wide string literals

The plain char literals are needed for checking printf/scanf format
strings; lint has no similar check for wide strings. These format
strings are checked by modern compilers, making this check less
relevant.

Revision 1.209: download - view: text, markup, annotated - select for diffs
Tue Jan 23 19:44:28 2024 UTC (9 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.208: preferred, colored
Changes since revision 1.208: +13 -13 lines
lint: rename symt_t to symbol_kind

It was confusing to have two kinds of "symbol type" (s_type and s_symt),
so rename all related identifiers to be more distinctive.

No functional change.

Revision 1.208: download - view: text, markup, annotated - select for diffs
Thu Jan 11 23:26:39 2024 UTC (10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.207: preferred, colored
Changes since revision 1.207: +7 -8 lines
lint: clean up enum constants for designators

In intializers and offsetof, both struct and union members are handled
in the same way, thus there is no need to distinguish them.

Revision 1.207: download - view: text, markup, annotated - select for diffs
Tue Jan 9 23:46:54 2024 UTC (10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.206: preferred, colored
Changes since revision 1.206: +36 -1 lines
lint: allow complex offsetof(type, member-designator)

Both GCC 11 and Clang 8 accept member-designators that are not
identifiers but designator sequences, such as in 'offsetof(struct stat,
st_atim.tv_sec)', so make lint accept them as well.

Revision 1.206: download - view: text, markup, annotated - select for diffs
Sat Jan 6 15:05:24 2024 UTC (10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.205: preferred, colored
Changes since revision 1.205: +2 -2 lines
lint: remove redundant parentheses, braces and comments

Rename the functions for folding constant expressions, to make the
comments redundant.

Revision 1.205: download - view: text, markup, annotated - select for diffs
Sun Dec 3 18:17:41 2023 UTC (11 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.204: preferred, colored
Changes since revision 1.204: +34 -34 lines
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.

Revision 1.204: download - view: text, markup, annotated - select for diffs
Sun Dec 3 13:12:40 2023 UTC (11 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.203: preferred, colored
Changes since revision 1.203: +43 -42 lines
lint: re-wrap comments

No functional change.

Revision 1.203: download - view: text, markup, annotated - select for diffs
Sat Dec 2 21:47:05 2023 UTC (11 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.202: preferred, colored
Changes since revision 1.202: +2 -2 lines
lint: rename NOSCL to NO_SCL

For symmetry with NO_TSPEC.  No functional change.

Revision 1.202: download - view: text, markup, annotated - select for diffs
Thu Sep 14 21:08:12 2023 UTC (13 months, 4 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.201: preferred, colored
Changes since revision 1.201: +2 -2 lines
lint: remove preprocessor magic from definition of operators

No binary change.

Revision 1.201: download - view: text, markup, annotated - select for diffs
Wed Sep 13 20:31:58 2023 UTC (13 months, 4 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.200: preferred, colored
Changes since revision 1.200: +15 -1 lines
lint: prevent invalid memory access when checking an expression

In check_expr_misc, the left and right operands of an expression were
accessed even in the case of CON (constant), STRING (string literal) and
NAME (identifier), which led to invalid values in pointer variables.
These invalid values were not used though, but technically they invoked
undefined behavior.

Precede each access to the operands with a check that the expression
indeed has operands, except in those cases where the operand is known to
have operands by only looking at the code of the current function.

Revision 1.200: download - view: text, markup, annotated - select for diffs
Sat Aug 26 10:43:53 2023 UTC (14 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.199: preferred, colored
Changes since revision 1.199: +6 -4 lines
lint: make diagnostics about ANSI C more international

Revision 1.199: download - view: text, markup, annotated - select for diffs
Wed Aug 2 18:51:25 2023 UTC (15 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.198: preferred, colored
Changes since revision 1.198: +14 -13 lines
lint: distinguish between arguments and parameters

Revision 1.198: download - view: text, markup, annotated - select for diffs
Tue Aug 1 19:57:38 2023 UTC (15 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.197: preferred, colored
Changes since revision 1.197: +6 -4 lines
lint: clear global variable 'dcs' after use

Having unnecessarily set members is confusing during debugging.

Revision 1.197: download - view: text, markup, annotated - select for diffs
Sat Jul 29 10:34:24 2023 UTC (15 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.196: preferred, colored
Changes since revision 1.196: +1 -2 lines
lint: only generate err-msgs.h in debug mode

Revision 1.196: download - view: text, markup, annotated - select for diffs
Fri Jul 28 21:50:03 2023 UTC (15 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.195: preferred, colored
Changes since revision 1.195: +7 -4 lines
lint: extract 'vararg' and 'prototype' flags from global 'dcs'

These flags are only relevant for parameter lists, so add a separate
type for it.

No functional change.

Revision 1.195: download - view: text, markup, annotated - select for diffs
Wed Jul 19 22:24:28 2023 UTC (15 months, 3 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.194: preferred, colored
Changes since revision 1.194: +16 -5 lines
lint: work around a possible compiler error on arm and powerpc

Revision 1.194: download - view: text, markup, annotated - select for diffs
Sat Jul 15 13:35:24 2023 UTC (15 months, 4 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.193: preferred, colored
Changes since revision 1.193: +8 -2 lines
lint: add detailed logging for finding memory allocation bugs

Revision 1.193: download - view: text, markup, annotated - select for diffs
Fri Jul 14 08:53:52 2023 UTC (15 months, 4 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.192: preferred, colored
Changes since revision 1.192: +7 -8 lines
lint: clean up comments, add a test for the '?:' operator

Revision 1.192: download - view: text, markup, annotated - select for diffs
Thu Jul 13 23:27:20 2023 UTC (15 months, 4 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.191: preferred, colored
Changes since revision 1.191: +2 -3 lines
lint: merge duplicate code for checking duplicate type qualifiers

Revision 1.191: download - view: text, markup, annotated - select for diffs
Thu Jul 13 23:11:11 2023 UTC (15 months, 4 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.190: preferred, colored
Changes since revision 1.190: +15 -13 lines
lint: use separate types for parsing pointer types and type qualifiers

The documentation of the previous 'qual_ptr_t' was misleading, as that
type was used for other type qualifier lists as well, even if these were
not related to pointer types.

Revision 1.190: download - view: text, markup, annotated - select for diffs
Thu Jul 13 19:59:08 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.189: preferred, colored
Changes since revision 1.189: +3 -5 lines
lint: _Thread_local is a storage class, not a type qualifier

Revision 1.189: download - view: text, markup, annotated - select for diffs
Thu Jul 13 08:40:38 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.188: preferred, colored
Changes since revision 1.188: +2 -2 lines
lint: indent copyright lines consistently

Revision 1.188: download - view: text, markup, annotated - select for diffs
Thu Jul 13 07:19:24 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.187: preferred, colored
Changes since revision 1.187: +16 -1 lines
lint: reduce code size for handling lint comments

Revision 1.187: download - view: text, markup, annotated - select for diffs
Wed Jul 12 18:26:04 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.186: preferred, colored
Changes since revision 1.186: +3 -3 lines
lint: reject _Noreturn if it occurs in invalid places

C11 introduced _Noreturn as a function-specifier, not as a type
attribute.  The latter may occur in more places.

Revision 1.186: download - view: text, markup, annotated - select for diffs
Wed Jul 12 16:07:35 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.185: preferred, colored
Changes since revision 1.185: +15 -4 lines
lint: don't treat 'inline' as a storage class

The additional conflict in the grammar is in the same place as the other
conflicts, as T_SCLASS and T_FUNCTION_SPECIFIER are now separate tokens.

No functional change.

Revision 1.185: download - view: text, markup, annotated - select for diffs
Tue Jul 11 20:54:23 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.184: preferred, colored
Changes since revision 1.184: +13 -7 lines
lint: update wording in diagnostic for C99

Revision 1.184: download - view: text, markup, annotated - select for diffs
Mon Jul 10 19:47:12 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.183: preferred, colored
Changes since revision 1.183: +7 -1 lines
lint: merge duplicate code for getting the name of an operator

Revision 1.183: download - view: text, markup, annotated - select for diffs
Mon Jul 10 19:00:33 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.182: preferred, colored
Changes since revision 1.182: +10 -1 lines
lint: add debug logging for symbol kinds in the parser

An identifier can refer to a variable, type, member, tag or label.
Switching between these namespaces is tightly coupled with the
evaluation order of the grammar rules.

Revision 1.182: download - view: text, markup, annotated - select for diffs
Sun Jul 9 12:15:07 2023 UTC (16 months ago) by rillig
Branches: MAIN
Diff to: previous 1.181: preferred, colored
Changes since revision 1.181: +2 -2 lines
lint: miscellaneous cleanup

Revision 1.181: download - view: text, markup, annotated - select for diffs
Mon Jul 3 07:19:57 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.180: preferred, colored
Changes since revision 1.180: +2 -2 lines
lint: clean up redundant casts

Revision 1.180: download - view: text, markup, annotated - select for diffs
Mon Jul 3 07:03:19 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.179: preferred, colored
Changes since revision 1.179: +2 -2 lines
lint: rename uppercase QUAD to LLONG

No binary change.

Revision 1.179: download - view: text, markup, annotated - select for diffs
Sun Jul 2 23:40:23 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.178: preferred, colored
Changes since revision 1.178: +2 -1 lines
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){};'.

Revision 1.178: download - view: text, markup, annotated - select for diffs
Sun Jul 2 18:28:15 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.177: preferred, colored
Changes since revision 1.177: +6 -4 lines
lint: clean up variable names relating to structure padding

Revision 1.177: download - view: text, markup, annotated - select for diffs
Sun Jul 2 18:14:44 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.176: preferred, colored
Changes since revision 1.176: +8 -11 lines
lint: rename 'quad' to 'signed int' or 'unsigned int'

No functional change.

Revision 1.176: download - view: text, markup, annotated - select for diffs
Sun Jul 2 17:41:30 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.175: preferred, colored
Changes since revision 1.175: +3 -3 lines
lint: use unsigned int for struct alignment

This gets rid of 'unsigned short', which saved a few bytes of memory but
was inconvenient to deal with.

No functional change.

Revision 1.175: download - view: text, markup, annotated - select for diffs
Sun Jul 2 08:16:19 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.174: preferred, colored
Changes since revision 1.174: +2 -3 lines
lint: clean up variable names

Revision 1.174: download - view: text, markup, annotated - select for diffs
Sat Jul 1 09:59:51 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.173: preferred, colored
Changes since revision 1.173: +18 -16 lines
lint: clean up comments in lint1.h

Revision 1.173: download - view: text, markup, annotated - select for diffs
Fri Jun 30 21:39:54 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.172: preferred, colored
Changes since revision 1.172: +16 -15 lines
lint: clean up names related to declaration levels

The previous prefix 'DK_' (declaration level kind) had a conflict with
the 'DK_' (designator kind) in init.c, so change the prefix to 'DLK_'.
The new name for dinfo_t is decl_level, which is more expressive.

No functional change.

Revision 1.172: download - view: text, markup, annotated - select for diffs
Fri Jun 30 19:43:00 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.171: preferred, colored
Changes since revision 1.171: +12 -10 lines
lint: replace macro for unique identifiers with function

No functional change.

Revision 1.171: download - view: text, markup, annotated - select for diffs
Fri Jun 30 19:10:49 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.170: preferred, colored
Changes since revision 1.170: +6 -4 lines
lint: clean up handling of declarations

No functional change.

Revision 1.170: download - view: text, markup, annotated - select for diffs
Thu Jun 29 22:52:44 2023 UTC (16 months, 1 week ago) by rillig
Branches: MAIN
Diff to: previous 1.169: preferred, colored
Changes since revision 1.169: +9 -9 lines
lint: clean up member names of declaration levels

No functional change outside debug mode.

Revision 1.169: download - view: text, markup, annotated - select for diffs
Thu Jun 29 12:52:06 2023 UTC (16 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.168: preferred, colored
Changes since revision 1.168: +6 -10 lines
lint: use standard terminology for bit-field width

No functional change.

Revision 1.168: download - view: text, markup, annotated - select for diffs
Thu Jun 29 05:47:41 2023 UTC (16 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.167: preferred, colored
Changes since revision 1.167: +14 -9 lines
lint: enhance debug output for diagnostics

Only print the debug message if the diagnostic is active, which is
relevant for c99ism, c11ism and gnuism.

Print more details about the diagnostic or query.

Revision 1.167: download - view: text, markup, annotated - select for diffs
Sat Jun 24 20:50:54 2023 UTC (16 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.166: preferred, colored
Changes since revision 1.166: +6 -6 lines
lint: reduce memory allocations

The type val_t has the same size as the tn_s member in the same union.

No functional change.

Revision 1.166: download - view: text, markup, annotated - select for diffs
Sat Jun 24 08:11:12 2023 UTC (16 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.165: preferred, colored
Changes since revision 1.165: +2 -1 lines
lint: add query for comparing 'char' with plain integers

Revision 1.165: download - view: text, markup, annotated - select for diffs
Fri Jun 9 15:36:31 2023 UTC (17 months ago) by rillig
Branches: MAIN
Diff to: previous 1.164: preferred, colored
Changes since revision 1.164: +4 -4 lines
lint: miscellaneous clean-ups

No binary change, except for line numbers in assertions.

Revision 1.164: download - view: text, markup, annotated - select for diffs
Sat Apr 22 17:49:15 2023 UTC (18 months, 3 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.163: preferred, colored
Changes since revision 1.163: +5 -6 lines
lint: rename type_t.t_str to t_sou

The name 't_str' could have meant 'string' or 'struct'.  Since both
struct and union types have members, rename it to 't_sou'.

No functional change.

Revision 1.163: download - view: text, markup, annotated - select for diffs
Tue Feb 21 19:30:51 2023 UTC (20 months, 2 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.162: preferred, colored
Changes since revision 1.162: +2 -2 lines
lint: use __printflike

Revision 1.162: download - view: text, markup, annotated - select for diffs
Sat Feb 18 15:14:11 2023 UTC (20 months, 3 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.161: preferred, colored
Changes since revision 1.161: +1 -4 lines
lint: replace INTERNAL_ERROR with plain assert

Revision 1.161: download - view: text, markup, annotated - select for diffs
Sat Jan 21 13:07:22 2023 UTC (21 months, 3 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.160: preferred, colored
Changes since revision 1.160: +6 -2 lines
lint: add support for the C11 type qualifier '_Atomic'

That keyword can be used as a type specifier as well, support for that
will be added later.

Revision 1.160: download - view: text, markup, annotated - select for diffs
Sat Jan 14 10:33:34 2023 UTC (21 months, 4 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.159: preferred, colored
Changes since revision 1.159: +7 -7 lines
lint: use fewer abbreviations

No binary change except for line numbers in assertions in decl.c.

Revision 1.159: download - view: text, markup, annotated - select for diffs
Fri Jan 13 19:41:50 2023 UTC (21 months, 4 weeks ago) by rillig
Branches: MAIN
Diff to: previous 1.158: preferred, colored
Changes since revision 1.158: +14 -2 lines
lint: remove custom memory allocator

Besides adding complexity, the custom memory allocator didn't invalidate
freed memory, which made it harder to find possible use-after-free bugs.

Revision 1.158: download - view: text, markup, annotated - select for diffs
Sat Oct 1 09:42:40 2022 UTC (2 years, 1 month ago) by rillig
Branches: MAIN
CVS tags: netbsd-10-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
Diff to: previous 1.157: preferred, colored
Changes since revision 1.157: +3 -3 lines
lint: add hyphen to adjective 'old-style'

Revision 1.157: download - view: text, markup, annotated - select for diffs
Sun Aug 28 08:41:06 2022 UTC (2 years, 2 months ago) by rillig
Branches: MAIN
Diff to: previous 1.156: preferred, colored
Changes since revision 1.156: +3 -3 lines
lint: rename dcs manipulation functions to be clearer

No functional change.

Revision 1.156: download - view: text, markup, annotated - select for diffs
Tue Jul 5 22:50:41 2022 UTC (2 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.155: preferred, colored
Changes since revision 1.155: +16 -1 lines
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@

Revision 1.155: download - view: text, markup, annotated - select for diffs
Fri Jul 1 21:25:39 2022 UTC (2 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.154: preferred, colored
Changes since revision 1.154: +1 -19 lines
lint: move error handling code from main1.c to err.c

No functional change.

Revision 1.154: download - view: text, markup, annotated - select for diffs
Thu May 26 13:40:49 2022 UTC (2 years, 5 months ago) by rillig
Branches: MAIN
Diff to: previous 1.153: preferred, colored
Changes since revision 1.153: +2 -2 lines
lint: rename olwarn and LWARN_BAD to be more expressive

No functional change.

Revision 1.153: download - view: text, markup, annotated - select for diffs
Sat Apr 16 20:57:10 2022 UTC (2 years, 6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.152: preferred, colored
Changes since revision 1.152: +2 -1 lines
lint: investigate why lint only warns about some constant conditions

Noticed in lex.c, in the macro kwdef, where lint complains about the
condition containing '||' but not about the conditions containing only
'>' or '=='.

Revision 1.152: download - view: text, markup, annotated - select for diffs
Sat Apr 16 19:18:17 2022 UTC (2 years, 6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.151: preferred, colored
Changes since revision 1.151: +4 -3 lines
lint: migrate gflag to allow_gcc

No functional change.

Revision 1.151: download - view: text, markup, annotated - select for diffs
Sun Apr 10 12:14:10 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.150: preferred, colored
Changes since revision 1.150: +2 -1 lines
lint: fix assertion failure on duplicate qualifiers from __typeof__

Revision 1.150: download - view: text, markup, annotated - select for diffs
Sat Apr 9 23:41:22 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.149: preferred, colored
Changes since revision 1.149: +15 -17 lines
lint: distinguish between storage class and declaration kind

These types overlap but are not the same.

No functional change.

Revision 1.149: download - view: text, markup, annotated - select for diffs
Sat Apr 9 21:19:52 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.148: preferred, colored
Changes since revision 1.148: +2 -2 lines
lint: rename dinfo_t.d_offset to d_offset_in_bits

Most often, offsets are measured in bytes, so better embed the unit in
the variable name.

No functional change.

Revision 1.148: download - view: text, markup, annotated - select for diffs
Sat Apr 9 16:02:14 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.147: preferred, colored
Changes since revision 1.147: +7 -1 lines
lint: extract is_member into separate function

No functional change.

Revision 1.147: download - view: text, markup, annotated - select for diffs
Sat Apr 9 15:43:41 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.146: preferred, colored
Changes since revision 1.146: +16 -9 lines
lint: disambiguate sym_t.s_value

Having a single variable for 4 different purposes with different types
makes the code unnecessarily hard to follow.

No functional change.

Revision 1.146: download - view: text, markup, annotated - select for diffs
Sat Apr 9 14:50:18 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.145: preferred, colored
Changes since revision 1.145: +3 -2 lines
lint: split CTCONST into BOOL_CONST and ENUM_CONST

Having a unified compile-time constant "storage class" made the code
more difficult to understand.

No functional change.

Revision 1.145: download - view: text, markup, annotated - select for diffs
Sat Apr 9 13:38:17 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.144: preferred, colored
Changes since revision 1.144: +6 -11 lines
lint: inline member access macros for sym_t

Having the 'u.' explicitly in the code serves as a reminder that these
members are only defined under certain conditions.

No functional change.

Revision 1.144: download - view: text, markup, annotated - select for diffs
Sat Apr 2 22:15:57 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.143: preferred, colored
Changes since revision 1.143: +1 -16 lines
lint: use appropriate alignment on both the host and target platform

Revision 1.143: download - view: text, markup, annotated - select for diffs
Sat Apr 2 14:28:30 2022 UTC (2 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.142: preferred, colored
Changes since revision 1.142: +2 -2 lines
lint: rename dinfo_t.d_next to d_enclosing

The name d_next gave the wrong impression that the declaration infos
would be independent of each other, but they are nested.

No functional change.

Revision 1.142: download - view: text, markup, annotated - select for diffs
Sun Feb 27 18:29:14 2022 UTC (2 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.141: preferred, colored
Changes since revision 1.141: +4 -10 lines
lint: merge duplicate code for handling plain and wide strings

No functional change.  As before, the string literals "1" "2" "3" are
not concatenated from left to right, instead concatenation starts with
"23" and then proceeds to "123".

Revision 1.141: download - view: text, markup, annotated - select for diffs
Sun Feb 27 11:14:42 2022 UTC (2 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.140: preferred, colored
Changes since revision 1.140: +6 -5 lines
lint: unabbreviate two more members of sym_t

No functional change.

Revision 1.140: download - view: text, markup, annotated - select for diffs
Sun Feb 27 10:49:15 2022 UTC (2 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.139: preferred, colored
Changes since revision 1.139: +1 -3 lines
lint: remove unused enumeration details from symbol type

No functional change.

Revision 1.139: download - view: text, markup, annotated - select for diffs
Sun Feb 27 10:44:45 2022 UTC (2 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.138: preferred, colored
Changes since revision 1.138: +8 -6 lines
lint: unabbreviate some fields in sym_t

No functional change.

Revision 1.138: download - view: text, markup, annotated - select for diffs
Sun Feb 27 07:50:09 2022 UTC (2 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.137: preferred, colored
Changes since revision 1.137: +1 -2 lines
lint: clean up memory management for string buffers

There is no reason to duplicate all the work that is already done by the
memory allocator.

No functional change.

Revision 1.137: download - view: text, markup, annotated - select for diffs
Sun Feb 27 07:38:54 2022 UTC (2 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.136: preferred, colored
Changes since revision 1.136: +1 -7 lines
lint: clean up memory allocation

No functional change.

Revision 1.136: download - view: text, markup, annotated - select for diffs
Sun Feb 27 01:47:28 2022 UTC (2 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.135: preferred, colored
Changes since revision 1.135: +4 -4 lines
lint: rename ARG to OLD_STYLE_ARG

Pre-C90 argument declarations have been old for more than 30 years now,
so mention that fact in the constant name.  This reduces potential
confusion with other occurrences of the words 'arg' or 'argument'.

No functional change.

Revision 1.135: download - view: text, markup, annotated - select for diffs
Mon Feb 7 21:57:47 2022 UTC (2 years, 9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +11 -11 lines
lint: drop compatibility with C90

Since tools/README 1.5 from 2022-02-03, the tools no longer need to be
compatible with C90, they may now use C99 features.  Lint had used
<stdbool.h> and snprintf already.

No functional change.

Revision 1.134: download - view: text, markup, annotated - select for diffs
Sat Dec 25 13:51:42 2021 UTC (2 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.133: preferred, colored
Changes since revision 1.133: +3 -3 lines
lint: don't try to trick mathematics by defining ZERO to a nonzero value

No binary change.

Revision 1.133: download - view: text, markup, annotated - select for diffs
Wed Dec 22 15:20:08 2021 UTC (2 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +2 -2 lines
lint: clean up lex.c

Rename 'struct kwtab' to 'struct keyword' since a single keyword is not
a whole keyword table.

Sync comment for lex_name with reality: sbuf_t no longer contains the
hash value.

Remove redundant tests for EOF, as EOF is neither a space nor a digit
nor an xdigit.

No functional change.

Revision 1.132: download - view: text, markup, annotated - select for diffs
Wed Dec 22 14:49:11 2021 UTC (2 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +50 -50 lines
lint: remove spaces around bit-field colon

As seen in /usr/share/misc/style.

No binary change.

Revision 1.131: download - view: text, markup, annotated - select for diffs
Tue Nov 16 21:01:05 2021 UTC (2 years, 11 months ago) by rillig
Branches: MAIN
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +5 -4 lines
lint: fix check for function calls in strict bool mode

Previously, if a function call occurred in the controlling expression,
its return type could be any scalar, not just bool.  This was against
the goal of strict bool mode, which makes bool a separate and
incompabile type to all other types.  For example, it would allow
controlling expressions like 'strcmp(a, b)' without the usual '!= 0',
but only if at least one of 'a' and 'b' came from a macro definition
from a system header.

The fix is that the decision of whether the type of the controlling
expression may be scalar is no longer based on the operand types but on
the main operator of the controlling expression.

Revision 1.130: download - view: text, markup, annotated - select for diffs
Mon Nov 1 19:48:51 2021 UTC (3 years ago) by rillig
Branches: MAIN
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +11 -11 lines
lint: enter full C90 compatibility mode

The C99 comment in tree.c:3468 has been there since 2017-03-06, without
anyone complaining that their compiler would not handle it.

Strangely, running GCC 10.3.0 in '-std=c90' mode does not complain about
declarations after statements, '-Wdeclaration-after-statement' is needed
separately.

No functional change.

Revision 1.129: download - view: text, markup, annotated - select for diffs
Tue Sep 14 19:44:40 2021 UTC (3 years, 1 month ago) by rillig
Branches: MAIN
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +6 -1 lines
lint: allow [*] everywhere where [] and [integer] are allowed

It's a seldom used feature, but now it's at least consistent.

Revision 1.128: download - view: text, markup, annotated - select for diffs
Tue Aug 31 17:51:30 2021 UTC (3 years, 2 months ago) by rillig
Branches: MAIN
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +1 -2 lines
lint: remove unused function for generic messages

The function message_at is still used, for information about previous
occurrences of a symbol.

Revision 1.127: download - view: text, markup, annotated - select for diffs
Sat Aug 28 12:41:03 2021 UTC (3 years, 2 months ago) by rillig
Branches: MAIN
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +2 -2 lines
lint: fix a few lint warnings about type conversions

A simple 'unsigned int' is more than enough for representing the size of
a bit-field, as well as the maximum alignment of any type.

No functional change.

Revision 1.126: download - view: text, markup, annotated - select for diffs
Sat Aug 28 12:21:53 2021 UTC (3 years, 2 months ago) by rillig
Branches: MAIN
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +9 -9 lines
lint: un-abbreviate unsigned integer types

No functional change.

Revision 1.125: download - view: text, markup, annotated - select for diffs
Mon Aug 23 17:03:23 2021 UTC (3 years, 2 months ago) by rillig
Branches: MAIN
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +2 -2 lines
lint: expand macro in string concatenation

No functional change.

Revision 1.124: download - view: text, markup, annotated - select for diffs
Mon Aug 23 06:26:37 2021 UTC (3 years, 2 months ago) by rillig
Branches: MAIN
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +7 -1 lines
lint: inline msb

This reduces the binary size on x86_64 by about 500 bytes.

No functional change.

Revision 1.123: download - view: text, markup, annotated - select for diffs
Sun Aug 22 21:27:15 2021 UTC (3 years, 2 months ago) by rillig
Branches: MAIN
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +7 -1 lines
lint: merge duplicate code for binary operator

No functional change.

Revision 1.122: download - view: text, markup, annotated - select for diffs
Sun Aug 22 13:01:47 2021 UTC (3 years, 2 months ago) by rillig
Branches: MAIN
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +3 -3 lines
lint: save some memory

Before lint1.h 1.47 from 2021-01-02, adjacent bit-field struct members
shared storage.  Restore that using smaller types.

No functional change.

Revision 1.121: download - view: text, markup, annotated - select for diffs
Sun Aug 1 08:03:43 2021 UTC (3 years, 3 months ago) by rillig
Branches: MAIN
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +1 -2 lines
lint: remove hash value from symbol buffer

Conceptually, a symbol buffer does not need to remember its hash value
since that belongs to the symbol table.  This makes the code for the
symbol table simpler.  The number of hash calculations increases by
about 5%, which is negligible.

No functional change.

Revision 1.120: download - view: text, markup, annotated - select for diffs
Sat Jul 31 19:52:44 2021 UTC (3 years, 3 months ago) by rillig
Branches: MAIN
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +8 -1 lines
lint: improve support for __int128_t and __uint128_t

For the .ln files, I chose the letter 'J' to represent the 128-bit
integer types since it is close to 'I' for int.  The naming of 'L' for
'long' is obvious, but 'Q' for 64-bit integers is a quad-16-bit word,
which is an unusual measurement unit nowadays.  One benefit of choosing
'J' is that the next letter, 'K' can then be used for 256-bit integer
types.

Support for 128-bit integer types is still very basic.  Plus, it is only
supported on LP64 platforms, which means that lint cannot be
cross-compiled to check for an LP64 platform while running on an ILP32
platform.

Revision 1.119: download - view: text, markup, annotated - select for diffs
Sat Jul 31 11:03:04 2021 UTC (3 years, 3 months ago) by rillig
Branches: MAIN
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +3 -1 lines
lint: merge duplicate code for generating unqualified type

This is a preparation for fixing the wrong warnings in msg_115.c.

No functional change.

Revision 1.118: download - view: text, markup, annotated - select for diffs
Fri Jul 23 17:06:37 2021 UTC (3 years, 3 months ago) by rillig
Branches: MAIN
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +3 -3 lines
lint: rename cstk_t to control_statement

Rename the variables as well.  Their previous name 'ci' was not easy to
understand, the 'i' may have meant 'stack item'.  The new name 'cs'
simply means 'control statement'.

No functional change.

Revision 1.117: download - view: text, markup, annotated - select for diffs
Fri Jul 23 16:48:48 2021 UTC (3 years, 3 months ago) by rillig
Branches: MAIN
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +3 -3 lines
lint: remove a few unnecessary abbreviations

No functional change.

Revision 1.116: download - view: text, markup, annotated - select for diffs
Fri Jul 23 16:43:11 2021 UTC (3 years, 3 months ago) by rillig
Branches: MAIN
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +3 -3 lines
lint: make offset and alignment positive numbers

There's no use case for negative alignment or offsets in structures.

No functional change.

Revision 1.115: download - view: text, markup, annotated - select for diffs
Thu Jul 15 18:13:25 2021 UTC (3 years, 3 months ago) by rillig
Branches: MAIN
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +3 -3 lines
lint: rename grammar rule 'declaration' to 'declaration_or_error'

This prepares for merging the duplicate code from top_level_declaration.
The code coverage outside cgram.y is exactly the same as before.

No functional change.

Revision 1.114: download - view: text, markup, annotated - select for diffs
Sat Jul 10 17:35:54 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +2 -2 lines
lint: rename clrtyp/deftyp to begin_type/end_type

The abbreviations clr/def did not make it obvious that these two
functions or grammar rules form pairs.

No functional change.

Revision 1.113: download - view: text, markup, annotated - select for diffs
Thu Jul 8 02:59:22 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +2 -2 lines
lint: constify keyword in lexer

No functional change.

Revision 1.112: download - view: text, markup, annotated - select for diffs
Tue Jul 6 04:44:20 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +5 -5 lines
lint: rename type generic_association_types to generic_association

The word 'types' was misleading and unnecessary.

No functional change.

Revision 1.111: download - view: text, markup, annotated - select for diffs
Mon Jul 5 19:48:32 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +3 -2 lines
lint: rename dinfo_t.d_stralign to d_sou_align_in_bits

When talking about alignment, offset and size of a type, the measurement
unit must be mentioned in the variable name, especially when it differs
from the standard unit of measurement, which is a byte, not a bit.

No functional change.

Revision 1.110: download - view: text, markup, annotated - select for diffs
Sun Jul 4 09:13:59 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +5 -2 lines
lint: in strict bool mode, allow mixed types in generated C code

This allows flex lexers to be run through lint in strict bool mode.

Revision 1.109: download - view: text, markup, annotated - select for diffs
Fri Jul 2 18:22:09 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +11 -2 lines
lint: document lint1_type.t_is_enum

Enum types are subject to implicit conversions, as opposed to struct,
union, pointer and function types.

Revision 1.108: download - view: text, markup, annotated - select for diffs
Mon Jun 28 08:52:55 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +6 -9 lines
lint: rename pqinf_t to qual_ptr and clean up code

The 'inf' from the type name meant 'information' and was redundant. Each
object of that type represents a single pointer level, which made the
documentation about 'pointers' a bit confusing.

The members of struct qual_ptr are now in the canonical reading order,
which is 'const volatile pointer'.

No functional change.

Revision 1.107: download - view: text, markup, annotated - select for diffs
Sun Jun 27 20:47:13 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +7 -1 lines
lint: fix result type of _Generic expressions

Revision 1.106: download - view: text, markup, annotated - select for diffs
Sun Jun 27 08:20:50 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +4 -4 lines
lint: fix type of pqinf.p_pcnt

A counter that can either be 0 or 1 and is never incremented is not
really a counter, it's a flag.

No functional change.

Revision 1.105: download - view: text, markup, annotated - select for diffs
Sun Jun 20 20:32:42 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +8 -3 lines
lint: rename val_t.v_unsigned to avoid confusion

The name v_unsigned suggested that the value would be interpreted as
unsigned, which was wrong.  Whether a value is signed or unsigned is
decided by v_tspec instead.

Revert the previous commit for boolen constants since their value is
already interpreted as unsigned, and there is no need for any warning
about differences between traditional C and ANSI C since the _Bool type
has only been added ten years later in C99.

The code for printing a tree node was also confused by this struct
member, even with its old name v_ansiu.  That code will be fixed in a
follow-up commit.

No functional change.

Revision 1.104: download - view: text, markup, annotated - select for diffs
Sun Jun 20 19:04:50 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +4 -6 lines
lint: rename val_t.v_ansiu to v_unsigned

When lint was written in 1995, traditional C was still nearby since C90
had been around for only 5 years.  26 years later, almost all code
adheres to C90 or even C99 or C11, therefore "C90 or later" can safely
be assumed as the default.

No functional change.

Revision 1.103: download - view: text, markup, annotated - select for diffs
Sat Jun 19 15:23:57 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +8 -1 lines
lint: replace undefined behavior with assertion failure

Triggered by this malformed code:

	struct{int;

Revision 1.102: download - view: text, markup, annotated - select for diffs
Tue Jun 15 20:46:45 2021 UTC (3 years, 4 months ago) by rillig
Branches: MAIN
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +25 -1 lines
lint: replace array access with function calls

First and foremost, the test d_c99_complex_split accessed the array
qlmasks out-of-bounds, with an index of 128 for the type 'double
_Complex'.  This invoked undefined behavior since the maximum allowed
index was 64.

Replacing the raw array accesses with function calls allows for bounds
checks to catch these errors early.

Determining the value bits for a 'double _Complex' does not make sense
at all since it is not an integer type.  This means that lint didn't
handle these types correctly for several years.  Support for int128_t
has been added in inittyp.c 1.12 from 2018-09-07, support for _Complex
has been added in inittyp.c 1.9 from 2008-04-26.

Determining the value bits for an int128_t would make sense, but the
unit tests don't contain examples for this type since at the moment all
unit tests must produce the same results on 32-bit and 64-bit platforms,
and the 32-bit platforms don't support int128_t.

Revision 1.100.2.1: download - view: text, markup, annotated - select for diffs
Mon May 31 22:15:26 2021 UTC (3 years, 5 months ago) by cjep
Branches: cjep_staticlib_x
Diff to: previous 1.100: preferred, colored; next MAIN 1.101: preferred, colored
Changes since revision 1.100: +2 -1 lines
sync with head

Revision 1.101: download - view: text, markup, annotated - select for diffs
Sat May 15 19:12:14 2021 UTC (3 years, 5 months ago) by rillig
Branches: MAIN
CVS tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +2 -1 lines
lint: warn about unreachable case labels for '&&'

See octeon_gmxreg.h 1.2 from 2020-06-18 for an example, where
RXN_RX_INBND_SPEED was cleaned up without adjusting the corresponding
code in octeon_gmx.c.

Revision 1.100: download - view: text, markup, annotated - select for diffs
Sun Apr 18 17:47:32 2021 UTC (3 years, 6 months ago) by rillig
Branches: MAIN
CVS tags: cjep_staticlib_x-base
Branch point for: cjep_staticlib_x
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +5 -5 lines
lint: remove redundant CONSTCOND

In do-while-0 loops, these are no longer needed since tree.c 1.202 from
2021-01-31.

Revision 1.99: download - view: text, markup, annotated - select for diffs
Sun Apr 18 10:09:49 2021 UTC (3 years, 6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +19 -19 lines
lint: rename parameter to diagnostic functions and macros

The first parameter is not just an arbitrary number, it's a message ID.

Revision 1.98: download - view: text, markup, annotated - select for diffs
Sun Apr 18 10:04:23 2021 UTC (3 years, 6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +5 -5 lines
lint: align the member access macros for tnode_t

Revision 1.97: download - view: text, markup, annotated - select for diffs
Sun Apr 18 08:52:04 2021 UTC (3 years, 6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +14 -1 lines
lint: add error_at, warning_at, message_at

Right now there are several places in the code that use the global
variable curr_pos for passing a parameter to the diagnostic functions.
That's not what global variables are for.

Make it easy for the code to migrate to the parameter-passing style.

No functional change.

Revision 1.96: download - view: text, markup, annotated - select for diffs
Sun Apr 18 07:31:47 2021 UTC (3 years, 6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +6 -1 lines
lint: document wrong location information in diagnostics

Revision 1.95: download - view: text, markup, annotated - select for diffs
Wed Apr 14 18:35:40 2021 UTC (3 years, 6 months ago) by rillig
Branches: MAIN
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +2 -1 lines
lint: add support for C11-isms such as int[static 3]

Revision 1.94: download - view: text, markup, annotated - select for diffs
Sat Apr 10 18:36:27 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +5 -4 lines
lint: use distinct struct tags for type_t in lint1 and lint2

Having two similar but still different definitions of 'struct type' is
unnecessarily confusing.  Exchange this confusion for 8 lines of
straight-forward preprocessing code.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Sat Apr 10 18:06:53 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +5 -4 lines
lint: prepare renaming of 'struct type'

It's confusing to have the same struct tag in both lint1 and lint2, with
mostly the same members, but also some differences.  Before actually
changing this, I reviewed all occurrences of the word 'type' in the
code.

No functional change.

Revision 1.92: download - view: text, markup, annotated - select for diffs
Fri Apr 2 22:05:43 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +2 -2 lines
lint: reduce memory usage

No functional change.

Revision 1.91: download - view: text, markup, annotated - select for diffs
Fri Apr 2 09:39:25 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +2 -2 lines
lint: rename mbl to memory_block

No functional change.

Revision 1.90: download - view: text, markup, annotated - select for diffs
Sat Mar 27 12:42:22 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +3 -2 lines
lint: rename LERROR to INTERNAL_ERROR

The '#ifndef' in tyname.c is meant to distinguish between lint1 and
lint2, it is not meant to be defined from anywhere outside the lint code
itself.

No functional change.

Revision 1.89: download - view: text, markup, annotated - select for diffs
Fri Mar 26 19:17:58 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +17 -13 lines
lint: rename members of struct control_statement to be more expressive

C99 does not define names for the head parts of the 'for' statements, it
just calls them clause-1, expression-2 and expression-3.  Therefore the
rather abstract name 'expr3'.

No functional change.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Fri Mar 26 18:54:39 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +11 -2 lines
lint: rename pushctrl and popctrl to be more expressive

While here, remove the magic number 0 that in this context means
"function body".

No functional change.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Sun Mar 21 15:34:13 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +13 -1 lines
lint: fix reachability for constant controlling expression in for loop

Revision 1.86: download - view: text, markup, annotated - select for diffs
Sun Mar 21 14:36:59 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +3 -2 lines
lint: fix reachability computation in if statements

Previously, only loop statements were considered for reachability.  This
ignored the possibility of an early return in an if statement, or
unreachable branches.

Revision 1.85: download - view: text, markup, annotated - select for diffs
Sun Mar 21 13:03:42 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +2 -2 lines
lint: rename c_rchif to c_reached_end_of_then

No functional change.

Revision 1.84: download - view: text, markup, annotated - select for diffs
Sun Mar 21 12:08:34 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +2 -2 lines
lint: rename c_cont to c_continue

No functional change.

Revision 1.83: download - view: text, markup, annotated - select for diffs
Sun Mar 21 12:06:10 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +3 -4 lines
lint: document the precise meaning of control_statement.c_break

No functional change.

Revision 1.82: download - view: text, markup, annotated - select for diffs
Sun Mar 21 12:03:56 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +5 -6 lines
lint: rename i_infinite to i_maybe_endless

Not every loop that has 'while (1)' is an endless loop.  It may still
contain a 'return' somewhere.

Revision 1.81: download - view: text, markup, annotated - select for diffs
Sun Mar 21 11:55:59 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +8 -3 lines
lint: fix wrong 'falls off bottom' after return in do-while

Revision 1.80: download - view: text, markup, annotated - select for diffs
Sun Mar 21 10:30:28 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +4 -4 lines
lint: rename d_fargs, d_fdpos and d_fpsyms to be less abbreviated

No functional change.

Revision 1.79: download - view: text, markup, annotated - select for diffs
Sun Mar 21 10:25:40 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +4 -3 lines
lint: rename d_nedecl to d_nonempty_decl

No functional change.

Revision 1.78: download - view: text, markup, annotated - select for diffs
Sun Mar 21 10:21:07 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +2 -2 lines
lint: rename d_rdcsym to d_redeclared_symbol

No functional change.

Revision 1.77: download - view: text, markup, annotated - select for diffs
Sun Mar 21 10:08:01 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +6 -6 lines
lint: rename clst to case_labels

No functional change.

Revision 1.76: download - view: text, markup, annotated - select for diffs
Sat Mar 20 13:00:43 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +4 -4 lines
lint: document the struct for declarations more precisely

No functional change.

Revision 1.75: download - view: text, markup, annotated - select for diffs
Fri Mar 19 08:21:26 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +3 -3 lines
lint: rename in_bit to in_bits

No functional change.

Revision 1.74: download - view: text, markup, annotated - select for diffs
Thu Mar 18 14:58:44 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +2 -2 lines
lint: document the initialization of an object in more detail

This will help fixing the bugs that are currently demonstrated in
msg_168.c and d_struct_init_nested.c.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Wed Mar 17 02:24:06 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +3 -3 lines
lint: clean up documentation of dinfo_t

No functional change.

Revision 1.72: download - view: text, markup, annotated - select for diffs
Wed Mar 17 02:18:03 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +5 -5 lines
lint: rename dinfo_t members to be more expressive

While here, sync redundant but diverging comments, split
multi-assignments and initialize the members in declaration order.

No functional change.

Revision 1.71: download - view: text, markup, annotated - select for diffs
Wed Mar 17 01:15:31 2021 UTC (3 years, 7 months ago) by rillig
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +2 -2 lines
lint: rename 'blklev' to 'block_level'

No functional change.

Revision 1.70: download - view: text, markup, annotated - select for diffs
Sun Mar 7 18:02:45 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +3 -3 lines
lint: fix off-by-one error in 'case 3...5'

According to the GCC documentation[1], the high end of the range is
inclusive as well, which makes sense since otherwise there would be no
way of specifying a range that includes the maximum representable
number.

Since the range is not used at all in the code, none of the tests could
possibly fail.

[1] https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html

No functional change.

Revision 1.69: download - view: text, markup, annotated - select for diffs
Sun Feb 28 19:24:15 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +7 -8 lines
lint: replace wrong comment with assertion

The broad type of a value is indeed stored in the value itself, in the
member v_tspec.  For nodes that refer to this value, it is redundantly
stored, it always equals tn->tn_type->t_tspec.

After initialization, neither tn->tn_type nor val->v_tspec are modified.
This is not ensured by the compiler but has to be analyzed manually.

No functional change.

Revision 1.68: download - view: text, markup, annotated - select for diffs
Sun Feb 28 19:16:05 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +2 -2 lines
lint: rename is_nonzero to constant_is_nonzero

The new function name emphasizes that the given node must have the
operator CON.

No functional change.

Revision 1.67: download - view: text, markup, annotated - select for diffs
Sun Feb 28 03:59:28 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +2 -1 lines
lint: do not warn about constant expressions involving sizeof

These expressions are indeed constant for a specific platform, but on
another platform their value may change.  This makes them unsuspicious
and legitimate for portable code.

Seen in rump_syscalls.c, as 'sizeof(int) > sizeof(register_t)'.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Mon Feb 22 15:09:50 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +2 -2 lines
lint: change spelling of initialisation to initialization

That's the wording from the ISO C99 standard.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Fri Feb 19 22:35:42 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +13 -12 lines
lint: rename storage class constants to be more expressive

No functional change.

Revision 1.64: download - view: text, markup, annotated - select for diffs
Fri Feb 19 22:27:49 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +3 -3 lines
lint: rename t_isenum and t_aincompl to be more expressive

No functional change.

Revision 1.63: download - view: text, markup, annotated - select for diffs
Fri Feb 19 22:20:18 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +9 -9 lines
lint: rename tenum_t and its members to be more expressive

Revision 1.62: download - view: text, markup, annotated - select for diffs
Fri Feb 19 22:16:12 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +11 -11 lines
lint: rename str_t and its members to be more expressive

No functional change.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Fri Feb 19 21:35:44 2021 UTC (3 years, 8 months ago) by rillig
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +2 -2 lines
lint: replace cryptic sym.s_rimpl with expressive name

No functional change.

Revision 1.60: download - view: text, markup, annotated - select for diffs
Sat Jan 23 22:20:17 2021 UTC (3 years, 9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +2 -1 lines
lint: fix two wrong error messages in strict bool mode

The strict bool mode gets complicated because for system headers the
rules need to be relaxed since they cannot be changed easily, often not at all.

Still, if lint validates a program in strict bool mode, that program
must run with equal behavior regarding boolean expressions even on a
pre-C99 platform.

Revision 1.59: download - view: text, markup, annotated - select for diffs
Mon Jan 18 19:24:09 2021 UTC (3 years, 9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +3 -3 lines
lint: clean up member names of control_structure and comments

Revision 1.58: download - view: text, markup, annotated - select for diffs
Sun Jan 17 16:25:30 2021 UTC (3 years, 9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +2 -2 lines
lint: extend a few message comments

Revision 1.57: download - view: text, markup, annotated - select for diffs
Sat Jan 16 16:53:23 2021 UTC (3 years, 9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +4 -4 lines
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.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Sat Jan 16 16:03:46 2021 UTC (3 years, 9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +4 -4 lines
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 1.55: download - view: text, markup, annotated - select for diffs
Sat Jan 16 02:40:02 2021 UTC (3 years, 9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +3 -3 lines
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.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Fri Jan 15 23:43:51 2021 UTC (3 years, 9 months ago) by rillig
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +18 -1 lines
lint: merge duplicate code for non-zero detection

Revision 1.53: download - view: text, markup, annotated - select for diffs
Mon Jan 4 22:26:50 2021 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +5 -5 lines
lint: fix typos and other minor stylistic issues

Revision 1.52: download - view: text, markup, annotated - select for diffs
Sun Jan 3 20:04:08 2021 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +3 -3 lines
lint: rename cstk to cstmt

Most of the code that deals with control statements is only interested
in the innermost control statement, and not if that is a stack or not.
Therefore, emphasize that part in the variable name.

The member c_next was confusing since the "direction" of this "next
element" was ambiguous.  In a sequence of if statements, the "next"
element could have equally been the following one, not the surrounding
one.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Sun Jan 3 19:15:36 2021 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +4 -4 lines
lint: rename t_ispacked to t_packed and d_ispacked to d_packed

It's shorter, and the other flags of the type or declaration also don't
have "is" in their names.  Except for t_isenum, but that's because there
is a macro named t_enum that would interfere with that name.

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sun Jan 3 19:10:47 2021 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +2 -2 lines
lint: rename type.t_isfield to t_bitfield

Revision 1.49: download - view: text, markup, annotated - select for diffs
Sun Jan 3 18:48:37 2021 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +25 -1 lines
lint: in DEBUG mode, verify printf parameters for messages

Since several years GCC validates printf-style strings, and there is no
reason not to let GCC do that work.  This prevents bugs like the
segmentation fault that was fixed in tree.c 1.109 from 2021-01-01.

By default, lint is compiled with DEBUG off, but it's easy enough to
compile it in debug mode once in a while.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Sat Jan 2 18:26:44 2021 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +2 -2 lines
lint: fix lint warning 161 "constant in conditional context"

Revision 1.47: download - view: text, markup, annotated - select for diffs
Sat Jan 2 01:06:15 2021 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +47 -47 lines
lint: use bool instead of u_int:1 in structures

Better late than never.

Revision 1.46: download - view: text, markup, annotated - select for diffs
Fri Jan 1 19:15:58 2021 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +1 -15 lines
lint: un-export struct istk

Revision 1.45: download - view: text, markup, annotated - select for diffs
Wed Dec 30 11:39:55 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +2 -2 lines
lint: inline STRUCT_ASSIGN

This had only been necessary for some pre-C90 compilers.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Wed Dec 30 11:14:03 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +4 -4 lines
lint: un-abbreviate s_dpos, s_spos and s_upos

Revision 1.43: download - view: text, markup, annotated - select for diffs
Wed Dec 30 11:04:48 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +5 -5 lines
lint: un-abbreviate s_field, s_keyw and s_xsym

Revision 1.42: download - view: text, markup, annotated - select for diffs
Wed Dec 30 10:56:51 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +5 -5 lines
lint: un-abbreviate parenthesized and _strg

Revision 1.41: download - view: text, markup, annotated - select for diffs
Wed Dec 30 10:49:10 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +3 -3 lines
lint: rename remaining _nxt members to _next

Revision 1.40: download - view: text, markup, annotated - select for diffs
Wed Dec 30 10:46:11 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +5 -5 lines
lint: rename more _nxt members to _next

Revision 1.39: download - view: text, markup, annotated - select for diffs
Wed Dec 30 10:35:38 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +4 -4 lines
lint: rename symt_t constants

There's no need to abbreviate them, furthermore FMOS was imprecise.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Wed Dec 30 10:26:12 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +2 -2 lines
lint: rename s_nxt to s_next

Revision 1.37: download - view: text, markup, annotated - select for diffs
Wed Dec 30 01:33:30 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +7 -1 lines
lint: reduce verbosity of assertions

Having 2 lines of source code per assertion is too much, especially
since most of this code is redundant anyway.  Extract the common code
and the additional negation into a simple function instead.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Tue Dec 29 23:12:48 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +2 -2 lines
lint: rename istk_t.i_cnt to i_remaining

Revision 1.35: download - view: text, markup, annotated - select for diffs
Tue Dec 29 21:32:46 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +3 -3 lines
lint: fix typo in comments

Revision 1.34: download - view: text, markup, annotated - select for diffs
Tue Dec 29 12:18:42 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +12 -12 lines
lint: fix indentation and alignment that used space-tab

Revision 1.33: download - view: text, markup, annotated - select for diffs
Tue Dec 29 11:54:56 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +7 -7 lines
lint: spell check

Revision 1.32: download - view: text, markup, annotated - select for diffs
Mon Dec 28 12:56:33 2020 UTC (3 years, 10 months ago) by rillig
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +1 -2 lines
lint1: remove unused t_field

Revision 1.30.14.1: download - view: text, markup, annotated - select for diffs
Mon Jun 10 22:10:26 2019 UTC (5 years, 5 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30: +2 -2 lines
Sync with HEAD

Revision 1.31: download - view: text, markup, annotated - select for diffs
Mon Mar 4 17:45:16 2019 UTC (5 years, 8 months ago) by christos
Branches: MAIN
CVS tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, 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, netbsd-9, is-mlppp-base, is-mlppp
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +2 -2 lines
Add __thread/tls_model attribute

Revision 1.29.6.1: download - view: text, markup, annotated - select for diffs
Sat Jan 7 08:56:59 2017 UTC (7 years, 10 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29: +2 -1 lines
Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.30: download - view: text, markup, annotated - select for diffs
Tue Dec 27 21:52:35 2016 UTC (7 years, 10 months ago) by christos
Branches: MAIN
CVS tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: phil-wifi
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -1 lines
teach lint __attribute__((__unused__))

Revision 1.25.8.3: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:05:06 2014 UTC (10 years, 2 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.25.8.2: preferred, colored; branchpoint 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25.8.2: +8 -2 lines
Rebase to HEAD as of a few days ago.

Revision 1.27.4.1: download - view: text, markup, annotated - select for diffs
Sun Aug 10 06:59:20 2014 UTC (10 years, 3 months ago) by tls
Branches: tls-earlyentropy
Diff to: previous 1.27: preferred, colored; next MAIN 1.28: preferred, colored
Changes since revision 1.27: +9 -3 lines
Rebase.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Sun Jul 20 23:00:49 2014 UTC (10 years, 3 months ago) by dholland
Branches: MAIN
CVS tags: tls-maxphys-base, tls-earlyentropy-base, pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, localcount-20160914
Branch point for: pgoyette-localcount
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +2 -2 lines
typo in comment

Revision 1.25.2.1: download - view: text, markup, annotated - select for diffs
Thu May 22 11:42:52 2014 UTC (10 years, 5 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25: +15 -5 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.28: download - view: text, markup, annotated - select for diffs
Fri Apr 18 00:21:14 2014 UTC (10 years, 6 months ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-base9
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +8 -2 lines
only fill memory with junk if BLKDEBUG

Revision 1.25.8.2: download - view: text, markup, annotated - select for diffs
Sun Jun 23 06:29:02 2013 UTC (11 years, 4 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.25.8.1: preferred, colored; branchpoint 1.25: preferred, colored
Changes since revision 1.25.8.1: +5 -1 lines
resync from head

Revision 1.27: download - view: text, markup, annotated - select for diffs
Fri Apr 19 17:43:05 2013 UTC (11 years, 6 months ago) by christos
Branches: MAIN
CVS tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: tls-earlyentropy
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +5 -1 lines
Allow linted comments to take an argument that defines which error to suppress.

Revision 1.25.8.1: download - view: text, markup, annotated - select for diffs
Mon Feb 25 00:30:41 2013 UTC (11 years, 8 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +4 -4 lines
resync with head

Revision 1.26: download - view: text, markup, annotated - select for diffs
Sun Feb 17 01:26:19 2013 UTC (11 years, 8 months ago) by christos
Branches: MAIN
CVS tags: agc-symver-base, agc-symver
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +4 -4 lines
rename enum_t to avoid rpc/types.h lossage.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Fri Jun 24 01:10:31 2011 UTC (13 years, 4 months ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: yamt-pagecache, tls-maxphys
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +14 -4 lines
Always use our own align macro and explain a bit more why this is bogus.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Fri Oct 2 19:01:14 2009 UTC (15 years, 1 month ago) by christos
Branches: MAIN
CVS tags: matt-premerge-20091211, matt-mips64-premerge-20101231, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +2 -1 lines
recognize struct __packed x { }; in addition to struct x { } __packed;

Revision 1.23: download - view: text, markup, annotated - select for diffs
Fri Oct 2 15:03:45 2009 UTC (15 years, 1 month ago) by christos
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -1 lines
understand __attribute__((__packed__)) and __packed.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Wed Dec 10 16:12:39 2008 UTC (15 years, 11 months ago) by joerg
Branches: MAIN
CVS tags: jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -2 lines
Ignore restrict in the contexts where const and volatile is allowed.
No validation for the use (e.g. that it is used on a pointer), but
enough to not stop valid C99 programs.

Revision 1.19.20.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:36:11 2008 UTC (16 years, 5 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.19: preferred, colored; next MAIN 1.20: preferred, colored
Changes since revision 1.19: +4 -3 lines
sync with head.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu May 1 21:52:19 2008 UTC (16 years, 6 months ago) by christos
Branches: MAIN
CVS tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, hpcarm-cleanup-nbase
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +2 -2 lines
fix const and volatile printing in types.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Fri Apr 25 22:18:34 2008 UTC (16 years, 6 months ago) by christos
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +3 -2 lines
preliminary _Complex support.
NB: Does not really understand type conversions between complex and doubles.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Sat Sep 24 15:30:35 2005 UTC (19 years, 1 month ago) by perry
Branches: MAIN
CVS tags: yamt-pf42-baseX, yamt-pf42-base, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, 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-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-pf42
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +3 -3 lines
in several comments:
  implizit -> implicit
  explizit -> explicit

Revision 1.18: download - view: text, markup, annotated - select for diffs
Sun Jul 17 19:35:48 2005 UTC (19 years, 4 months ago) by christos
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +6 -1 lines
Handle C99 array range initializers:

    type a[] = { [lo ... hi] = c }:

Revision 1.17: download - view: text, markup, annotated - select for diffs
Thu Apr 7 16:28:40 2005 UTC (19 years, 7 months ago) by christos
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +3 -3 lines
Factor out tyname() so that it can be used both by lint1 and lint2.
Since type_t is different between lint1.h and lint2.h include the
appropriate file depending on the pass. Make the argument mismatch
error print the type names of the types involved. Now that we have
a tyname() function we can fix the rest of the pass2 warnings to be
more explanatory, but not now.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Mon Oct 21 22:44:08 2002 UTC (22 years ago) by christos
Branches: MAIN
CVS tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, 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-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, 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-1, netbsd-2-0-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-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, fvdl_fs64_base
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +2 -2 lines
fix typo

Revision 1.15: download - view: text, markup, annotated - select for diffs
Mon Oct 21 21:14:53 2002 UTC (22 years ago) by christos
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +1 -0 lines
support for c99 style and gnu style structure and union named initializers.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Fri Sep 13 14:59:25 2002 UTC (22 years, 2 months ago) by christos
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +3 -1 lines
Minimize diffs with my C99 capable version [this commit does not include
C99 support.

- turn lerror() into a macro so that the filename and the line number of the
  error are printed before we abort.
- recurse in type printing to provide the proper type name.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Tue Feb 5 03:04:29 2002 UTC (22 years, 9 months ago) by thorpej
Branches: MAIN
CVS tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +2 -2 lines
Replace u_quad_t with uint64_t and quad_t with int64_t, and use
<inttypes.h> to get those type definitions.  These types are more
portable, and a little more sane to do autoconf tests for.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Thu Jan 31 19:33:27 2002 UTC (22 years, 9 months ago) by tv
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +6 -1 lines
Provide a placebo default for ALIGN() for hosts which don't have this.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu Dec 13 23:56:00 2001 UTC (22 years, 11 months ago) by augustss
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +18 -1 lines
Don't use fd_set to keep track of errors to ignore.  Doing so relies on
overriding FD_SETSIZE.  Not overriding it makes it stomp all over memory
(which caused the debug outputs we've seen lately).
It used to work, but toolification of lint broke it.

Revision 1.9.8.1: download - view: text, markup, annotated - select for diffs
Fri Jun 23 16:40:18 2000 UTC (24 years, 4 months ago) by minoura
Branches: minoura-xpg4dl
Diff to: previous 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9: +1 -1 lines
Sync w/ netbsd-1-5-base.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Jun 14 06:49:23 2000 UTC (24 years, 5 months ago) by cgd
Branches: MAIN
CVS tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +1 -1 lines
fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well.  No functional changes.

Revision 1.8.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 4 21:42:26 1997 UTC (27 years ago) by thorpej
Branches: netbsd-1-3
CVS tags: netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA
Diff to: previous 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8: +2 -1 lines
Pull up from trunk: make renaming work and other minor fixes.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Mon Nov 3 22:36:47 1997 UTC (27 years ago) by cgd
Branches: MAIN
CVS tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, minoura-xpg4dl-base, comdex-fall-1999-base, comdex-fall-1999
Branch point for: minoura-xpg4dl
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +2 -1 lines
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.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Fri Dec 27 20:46:23 1996 UTC (27 years, 10 months ago) by pk
Branches: MAIN
CVS tags: netbsd-1-3-base
Branch point for: netbsd-1-3
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +7 -7 lines
Splice a union in the type data structure. Some of the members can be `in use'
simultaneously, e.g. an enumerated bit-field.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Sun Dec 22 11:31:07 1996 UTC (27 years, 10 months ago) by cgd
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +12 -1 lines
* 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.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Oct 2 17:31:41 1995 UTC (29 years, 1 month ago) by jpo
Branches: MAIN
CVS tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2, netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -1 lines
don't print warnings about unused variables or arguments in compound
statements which contain asm statements.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Oct 2 17:21:39 1995 UTC (29 years, 1 month ago) by jpo
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +1 -2 lines
prototypes override old style function definitions
this is a gnu extension to ansi c

Revision 1.4: download - view: text, markup, annotated - select for diffs
Mon Oct 2 17:14:35 1995 UTC (29 years, 1 month ago) by jpo
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +5 -2 lines
added inline keywords
"inline" is enabled by -g, "__inline" and "__inline__" are always available

Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Oct 2 17:08:40 1995 UTC (29 years, 1 month ago) by jpo
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +26 -26 lines
prefixed members of dinfo_t with 'd_'

Revision 1.2: download - view: text, markup, annotated - select for diffs
Mon Jul 3 21:24:21 1995 UTC (29 years, 4 months ago) by cgd
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -2 lines
RCS id cleanup

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Mon Jul 3 20:56:37 1995 UTC (29 years, 4 months ago) by cgd
Branches: Jochen_Pohl
CVS tags: Jochen_Pohl-950703
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
lint(1) implementation, by Jochen Pohl.  named 'xlint' for a similar
reason to why 'install' is named 'xinstall'.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Mon Jul 3 20:56:37 1995 UTC (29 years, 4 months ago) by cgd
Branches: MAIN
Initial revision

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>