The NetBSD Project

CVS log for src/usr.bin/xlint/lint1/decl.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.398 / (download) - annotate - [select for diffs], Sat Mar 30 19:51:00 2024 UTC (2 weeks, 3 days ago) by rillig
Branch: MAIN
CVS Tags: HEAD
Changes since 1.397: +11 -2 lines
Diff to previous 1.397 (colored) to selected 1.47 (colored)

lint: document which fields are not reset when starting a new type

Setting all visible fields to their null value seemed as if the whole
object were reset.

Revision 1.397 / (download) - annotate - [select for diffs], Fri Mar 29 08:35:32 2024 UTC (2 weeks, 4 days ago) by rillig
Branch: MAIN
Changes since 1.396: +21 -37 lines
Diff to previous 1.396 (colored) to selected 1.47 (colored)

lint: clean up

Revision 1.396 / (download) - annotate - [select for diffs], Sat Mar 9 13:20:55 2024 UTC (5 weeks, 3 days ago) by rillig
Branch: MAIN
Changes since 1.395: +49 -49 lines
Diff to previous 1.395 (colored) to selected 1.47 (colored)

lint: inline accessor macros for type_t

Revision 1.395 / (download) - annotate - [select for diffs], Sat Mar 9 10:41:11 2024 UTC (5 weeks, 3 days ago) by rillig
Branch: MAIN
Changes since 1.394: +3 -3 lines
Diff to previous 1.394 (colored) to selected 1.47 (colored)

lint: use fewer struct keywords

Revision 1.394 / (download) - annotate - [select for diffs], Sat Mar 2 09:32:18 2024 UTC (6 weeks, 3 days ago) by rillig
Branch: MAIN
Changes since 1.393: +4 -4 lines
Diff to previous 1.393 (colored) to selected 1.47 (colored)

lint: remove custom wrappers around <ctype.h> functions

Revision 1.393 / (download) - annotate - [select for diffs], Thu Feb 8 20:59:19 2024 UTC (2 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.392: +4 -4 lines
Diff to previous 1.392 (colored) to selected 1.47 (colored)

lint: clean up variable names, parameter order, comments

No functional change.

Revision 1.392 / (download) - annotate - [select for diffs], Thu Feb 8 20:45:20 2024 UTC (2 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.391: +46 -77 lines
Diff to previous 1.391 (colored) to selected 1.47 (colored)

lint: clean up redundant braces

No functional change.

Revision 1.391 / (download) - annotate - [select for diffs], Sat Feb 3 12:57:12 2024 UTC (2 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.390: +3 -6 lines
Diff to previous 1.390 (colored) to selected 1.47 (colored)

lint: clean up comments, reduce scope of variables

Revision 1.390 / (download) - annotate - [select for diffs], Tue Jan 23 20:03:42 2024 UTC (2 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.389: +4 -4 lines
Diff to previous 1.389 (colored) to selected 1.47 (colored)

lint: unconst parameters

These were leftovers from earlier refactorings and are no longer needed.

No binary change.

Revision 1.389 / (download) - annotate - [select for diffs], Tue Jan 23 19:44:28 2024 UTC (2 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.388: +14 -14 lines
Diff to previous 1.388 (colored) to selected 1.47 (colored)

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.388 / (download) - annotate - [select for diffs], Sun Jan 21 14:21:34 2024 UTC (2 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.387: +4 -4 lines
Diff to previous 1.387 (colored) to selected 1.47 (colored)

lint: clean up redundant const from parameters and local variables

These were leftovers from splitting large functions into smaller
functions, to ensure that variables were not unintentionally reassigned.
Those refactorings are finished, and the extra help from the compiler is
no longer necessary.

No binary change.

Revision 1.387 / (download) - annotate - [select for diffs], Sat Jan 20 10:02:31 2024 UTC (2 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.386: +14 -2 lines
Diff to previous 1.386 (colored) to selected 1.47 (colored)

lint: add query for const automatic variables

Revision 1.386 / (download) - annotate - [select for diffs], Sat Jan 6 15:05:24 2024 UTC (3 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.385: +3 -3 lines
Diff to previous 1.385 (colored) to selected 1.47 (colored)

lint: remove redundant parentheses, braces and comments

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

Revision 1.385 / (download) - annotate - [select for diffs], Sun Dec 10 15:29:38 2023 UTC (4 months ago) by rillig
Branch: MAIN
Changes since 1.384: +8 -2 lines
Diff to previous 1.384 (colored) to selected 1.47 (colored)

lint: allow querying for 'static' followed by non-'static' declaration

Revision 1.384 / (download) - annotate - [select for diffs], Sun Dec 10 14:59:47 2023 UTC (4 months ago) by rillig
Branch: MAIN
Changes since 1.383: +4 -8 lines
Diff to previous 1.383 (colored) to selected 1.47 (colored)

lint: clean up comments

No functional change.

Revision 1.383 / (download) - annotate - [select for diffs], Sun Dec 3 18:17:41 2023 UTC (4 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.382: +5 -5 lines
Diff to previous 1.382 (colored) to selected 1.47 (colored)

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.382 / (download) - annotate - [select for diffs], Sun Dec 3 13:12:40 2023 UTC (4 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.381: +63 -68 lines
Diff to previous 1.381 (colored) to selected 1.47 (colored)

lint: re-wrap comments

No functional change.

Revision 1.381 / (download) - annotate - [select for diffs], Sun Dec 3 12:03:38 2023 UTC (4 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.380: +13 -13 lines
Diff to previous 1.380 (colored) to selected 1.47 (colored)

lint: indent statement continuations consistently

No binary change.

Revision 1.380 / (download) - annotate - [select for diffs], Sat Dec 2 21:47:05 2023 UTC (4 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.379: +19 -19 lines
Diff to previous 1.379 (colored) to selected 1.47 (colored)

lint: rename NOSCL to NO_SCL

For symmetry with NO_TSPEC.  No functional change.

Revision 1.379 / (download) - annotate - [select for diffs], Thu Sep 14 21:53:02 2023 UTC (7 months ago) by rillig
Branch: MAIN
Changes since 1.378: +4 -4 lines
Diff to previous 1.378 (colored) to selected 1.47 (colored)

lint: fix wording of diagnostics about 'C99 extension'

The term 'extension' means an extension to a C standard.  C99 by itself
is not an extension but a revision of the C standard.

Revision 1.378 / (download) - annotate - [select for diffs], Sat Aug 26 10:43:53 2023 UTC (7 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.377: +4 -4 lines
Diff to previous 1.377 (colored) to selected 1.47 (colored)

lint: make diagnostics about ANSI C more international

Revision 1.377 / (download) - annotate - [select for diffs], Wed Aug 2 21:58:11 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.376: +17 -29 lines
Diff to previous 1.376 (colored) to selected 1.47 (colored)

lint: remove unused string literals

Revision 1.376 / (download) - annotate - [select for diffs], Wed Aug 2 21:26:12 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.375: +11 -28 lines
Diff to previous 1.375 (colored) to selected 1.47 (colored)

lint: do not return bogus types for unnamed function parameters

Since decl.c 1.18 from 2000-07-05, lint has returned bogus type
information in cases where it couldn't interpret complicated
declarators.

In cases like these, rather fail than proceed with wrong data.

Revision 1.375 / (download) - annotate - [select for diffs], Wed Aug 2 21:11:35 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.374: +17 -10 lines
Diff to previous 1.374 (colored) to selected 1.47 (colored)

lint: fix handling of unnamed function parameters

Revision 1.374 / (download) - annotate - [select for diffs], Wed Aug 2 18:51:25 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.373: +112 -122 lines
Diff to previous 1.373 (colored) to selected 1.47 (colored)

lint: distinguish between arguments and parameters

Revision 1.373 / (download) - annotate - [select for diffs], Wed Aug 2 05:44:27 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.372: +6 -10 lines
Diff to previous 1.372 (colored) to selected 1.47 (colored)

lint: simplify handling of old-style arguments

Revision 1.372 / (download) - annotate - [select for diffs], Tue Aug 1 19:57:38 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.371: +9 -2 lines
Diff to previous 1.371 (colored) to selected 1.47 (colored)

lint: clear global variable 'dcs' after use

Having unnecessarily set members is confusing during debugging.

Revision 1.371 / (download) - annotate - [select for diffs], Tue Aug 1 16:08:58 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.370: +18 -19 lines
Diff to previous 1.370 (colored) to selected 1.47 (colored)

lint: improve debug logging for declarators

Revision 1.370 / (download) - annotate - [select for diffs], Mon Jul 31 20:31:58 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.369: +4 -2 lines
Diff to previous 1.369 (colored) to selected 1.47 (colored)

lint: fix assertion failure after unnamed bit-field member

Since 2023-07-15.

Revision 1.369 / (download) - annotate - [select for diffs], Sun Jul 30 22:38:09 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.368: +59 -15 lines
Diff to previous 1.368 (colored) to selected 1.47 (colored)

lint: increase debug logging for declarations, constify

Lint doesn't parse declarators correctly, see msg_347.c, and fixing this
part is nontrivial.

Revision 1.368 / (download) - annotate - [select for diffs], Sun Jul 30 20:12:35 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.367: +2 -8 lines
Diff to previous 1.367 (colored) to selected 1.47 (colored)

lint: remove outdated comment (since decl.c 1.6 from 1995-10-02)

Revision 1.367 / (download) - annotate - [select for diffs], Sat Jul 29 11:03:18 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.366: +11 -10 lines
Diff to previous 1.366 (colored) to selected 1.47 (colored)

lint: eliminate redundant code

No functional change.

Revision 1.366 / (download) - annotate - [select for diffs], Sat Jul 29 07:49:14 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.365: +5 -13 lines
Diff to previous 1.365 (colored) to selected 1.47 (colored)

lint: condense code for ending a function

No functional change.

Revision 1.365 / (download) - annotate - [select for diffs], Sat Jul 29 07:26:53 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.364: +9 -9 lines
Diff to previous 1.364 (colored) to selected 1.47 (colored)

lint: constify

Revision 1.364 / (download) - annotate - [select for diffs], Sat Jul 29 07:03:19 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.363: +543 -561 lines
Diff to previous 1.363 (colored) to selected 1.47 (colored)

lint: remove forward declarations for functions

No functional change.

Revision 1.363 / (download) - annotate - [select for diffs], Fri Jul 28 21:50:03 2023 UTC (8 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.362: +12 -12 lines
Diff to previous 1.362 (colored) to selected 1.47 (colored)

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.362 / (download) - annotate - [select for diffs], Tue Jul 25 16:56:35 2023 UTC (8 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.361: +5 -2 lines
Diff to previous 1.361 (colored) to selected 1.47 (colored)

lint: allow 'thread_local' to be combined with 'static'

Revision 1.302.2.1 / (download) - annotate - [select for diffs], Wed Jul 19 14:15:28 2023 UTC (8 months, 4 weeks ago) by martin
Branch: netbsd-10
CVS Tags: 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
Changes since 1.302: +2 -6 lines
Diff to previous 1.302 (colored) next main 1.303 (colored) to selected 1.47 (colored)

Pull up following revision(s) (requested by rin in ticket #237):

	usr.bin/xlint/lint1/decl.c: revision 1.361
	doc/HACKS: revision 1.239

lint1:initdecl(): Remove hack for now-fixed PR port-sh3/56311
doc/HACKS: PR port-sh3/56311 has been fixed.

Revision 1.361 / (download) - annotate - [select for diffs], Tue Jul 18 03:00:42 2023 UTC (9 months ago) by rin
Branch: MAIN
Changes since 1.360: +2 -6 lines
Diff to previous 1.360 (colored) to selected 1.47 (colored)

lint1:initdecl(): Remove hack for now-fixed PR port-sh3/56311

Revision 1.360 / (download) - annotate - [select for diffs], Sat Jul 15 16:17:37 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.359: +5 -2 lines
Diff to previous 1.359 (colored) to selected 1.47 (colored)

lint: allow 'extern' and 'thread_local' to be combined

Revision 1.359 / (download) - annotate - [select for diffs], Sat Jul 15 15:38:03 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.358: +5 -4 lines
Diff to previous 1.358 (colored) to selected 1.47 (colored)

lint: properly initialize unnamed struct/union members

Previously, their 'containing type' was not initialized.  The code for
initializing them is adapted from declarator_name.

Revision 1.358 / (download) - annotate - [select for diffs], Sat Jul 15 13:35:24 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.357: +17 -14 lines
Diff to previous 1.357 (colored) to selected 1.47 (colored)

lint: add detailed logging for finding memory allocation bugs

Revision 1.357 / (download) - annotate - [select for diffs], Sat Jul 15 09:40:36 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.356: +4 -3 lines
Diff to previous 1.356 (colored) to selected 1.47 (colored)

lint: add debug logging for memory management and the symbol table

Revision 1.356 / (download) - annotate - [select for diffs], Fri Jul 14 09:20:23 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.355: +9 -9 lines
Diff to previous 1.355 (colored) to selected 1.47 (colored)

lint: clean up redundant and verbose code

Revision 1.355 / (download) - annotate - [select for diffs], Thu Jul 13 23:27:20 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.354: +10 -28 lines
Diff to previous 1.354 (colored) to selected 1.47 (colored)

lint: merge duplicate code for checking duplicate type qualifiers

Revision 1.354 / (download) - annotate - [select for diffs], Thu Jul 13 23:11:11 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.353: +32 -43 lines
Diff to previous 1.353 (colored) to selected 1.47 (colored)

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.353 / (download) - annotate - [select for diffs], Thu Jul 13 20:30:21 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.352: +4 -3 lines
Diff to previous 1.352 (colored) to selected 1.47 (colored)

lint: in C23 mode, recognize the keyword 'thread_local'

Revision 1.352 / (download) - annotate - [select for diffs], Thu Jul 13 19:59:08 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.351: +10 -13 lines
Diff to previous 1.351 (colored) to selected 1.47 (colored)

lint: _Thread_local is a storage class, not a type qualifier

Revision 1.351 / (download) - annotate - [select for diffs], Thu Jul 13 08:40:38 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.350: +3 -3 lines
Diff to previous 1.350 (colored) to selected 1.47 (colored)

lint: indent copyright lines consistently

Revision 1.350 / (download) - annotate - [select for diffs], Thu Jul 13 06:41:27 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.349: +9 -14 lines
Diff to previous 1.349 (colored) to selected 1.47 (colored)

lint: clean up code related to lint comments

Remove type information from variable names, as the word 'flag' did not
indicate that the variables were negated.

Remove contradicting comments. Suppressing a warning for 'this line',
'this and the following line' and 'this statement or declaration' cannot
all be accurate at the same time.

Revision 1.349 / (download) - annotate - [select for diffs], Wed Jul 12 16:07:35 2023 UTC (9 months ago) by rillig
Branch: MAIN
Changes since 1.348: +16 -10 lines
Diff to previous 1.348 (colored) to selected 1.47 (colored)

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.348 / (download) - annotate - [select for diffs], Sun Jul 9 12:15:07 2023 UTC (9 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.347: +4 -3 lines
Diff to previous 1.347 (colored) to selected 1.47 (colored)

lint: miscellaneous cleanup

Revision 1.347 / (download) - annotate - [select for diffs], Sun Jul 9 11:18:55 2023 UTC (9 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.346: +5 -5 lines
Diff to previous 1.346 (colored) to selected 1.47 (colored)

lint: clean up wording in diagnostics

Use the term 'parameter' as defined in C99 3.15.

Revision 1.346 / (download) - annotate - [select for diffs], Sun Jul 9 11:01:27 2023 UTC (9 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.345: +8 -8 lines
Diff to previous 1.345 (colored) to selected 1.47 (colored)

lint: clean up the wording of a few diagnostics

Revision 1.345 / (download) - annotate - [select for diffs], Sat Jul 8 16:13:00 2023 UTC (9 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.344: +9 -4 lines
Diff to previous 1.344 (colored) to selected 1.47 (colored)

lint: warn about pointer casts between different kinds of types

Pointer casts from an integer type to a floating-point type and vice
versa get a 'maybe troublesome' warning now.  The previous assumption
that all types of the same bit-size are convertible may have been valid
from a technical point of view, but still such code should get more
attention.

The rules for struct and union types could be made more fine-grained
later, if the need arises.  To suppress this warning, it's always
possible to cast to an intermediate 'void *'.

Revision 1.344 / (download) - annotate - [select for diffs], Sat Jul 8 09:35:35 2023 UTC (9 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.343: +3 -4 lines
Diff to previous 1.343 (colored) to selected 1.47 (colored)

lint: clarify the meaning of 'portable size in bits' of a type

No functional change.

Revision 1.343 / (download) - annotate - [select for diffs], Fri Jul 7 19:45:22 2023 UTC (9 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.342: +6 -4 lines
Diff to previous 1.342 (colored) to selected 1.47 (colored)

lint: warn about function definitions without header declaration

The existing warning was only issued for function declarations, not for
function definitions.

The interesting change in the tests is in msg_351.c.  Many other tests
use non-static functions due to their syntactic brevity.  In these
tests, the warning is disabled individually, to allow new functions to
be added without generating warning 351.

Revision 1.342 / (download) - annotate - [select for diffs], Fri Jul 7 06:03:31 2023 UTC (9 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.341: +3 -3 lines
Diff to previous 1.341 (colored) to selected 1.47 (colored)

lint: only skip 'unused' warnings after errors, not other warnings

Previously, in -w mode, any warning suppressed further 'unused'
warnings, even though there was no need to do that.  This can be seen in
the test gcc_attribute_var.c, where only the last unused variable from a
function was marked as unused, the others slipped through.

Fixed by counting the errors and the warnings separately and only
combining them if actually desired.

Revision 1.341 / (download) - annotate - [select for diffs], Mon Jul 3 10:23:12 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.340: +4 -4 lines
Diff to previous 1.340 (colored) to selected 1.47 (colored)

lint: invert the -u, -v and -z flags

Now they behave the same as in the manual page.

No functional change.

Revision 1.340 / (download) - annotate - [select for diffs], Mon Jul 3 07:03:19 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.339: +8 -8 lines
Diff to previous 1.339 (colored) to selected 1.47 (colored)

lint: rename uppercase QUAD to LLONG

No binary change.

Revision 1.339 / (download) - annotate - [select for diffs], Sun Jul 2 21:37:49 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.338: +14 -18 lines
Diff to previous 1.338 (colored) to selected 1.47 (colored)

lint: eliminate redundant conditions

Revision 1.338 / (download) - annotate - [select for diffs], Sun Jul 2 18:28:15 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.337: +22 -22 lines
Diff to previous 1.337 (colored) to selected 1.47 (colored)

lint: clean up variable names relating to structure padding

Revision 1.337 / (download) - annotate - [select for diffs], Sun Jul 2 18:14:44 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.336: +4 -4 lines
Diff to previous 1.336 (colored) to selected 1.47 (colored)

lint: rename 'quad' to 'signed int' or 'unsigned int'

No functional change.

Revision 1.336 / (download) - annotate - [select for diffs], Sun Jul 2 17:41:30 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.335: +3 -3 lines
Diff to previous 1.335 (colored) to selected 1.47 (colored)

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.335 / (download) - annotate - [select for diffs], Sun Jul 2 10:20:45 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.334: +19 -19 lines
Diff to previous 1.334 (colored) to selected 1.47 (colored)

lint: extend debug logging for declaration levels

Indent the debug logging according to the declaration level.

Since there are a few cases where the enclosing declaration levels are
modified, log the whole declaration level stack whenever a level begins
or ends.

Revision 1.334 / (download) - annotate - [select for diffs], Sun Jul 2 09:40:25 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.333: +5 -2 lines
Diff to previous 1.333 (colored) to selected 1.47 (colored)

lint: initialize unnamed member like an unnamed bit-field

See set_bit_field_width.

Revision 1.333 / (download) - annotate - [select for diffs], Sun Jul 2 08:16:19 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.332: +5 -6 lines
Diff to previous 1.332 (colored) to selected 1.47 (colored)

lint: clean up variable names

Revision 1.332 / (download) - annotate - [select for diffs], Sat Jul 1 10:04:27 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.331: +4 -4 lines
Diff to previous 1.331 (colored) to selected 1.47 (colored)

lint: constify, reduce indentation

No functional change.

Revision 1.331 / (download) - annotate - [select for diffs], Sat Jul 1 09:31:55 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.330: +13 -27 lines
Diff to previous 1.330 (colored) to selected 1.47 (colored)

lint: clean up duplicate and dead code for integer constants

No functional change.

Revision 1.330 / (download) - annotate - [select for diffs], Fri Jun 30 21:39:54 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.329: +72 -72 lines
Diff to previous 1.329 (colored) to selected 1.47 (colored)

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.329 / (download) - annotate - [select for diffs], Fri Jun 30 21:06:18 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.328: +61 -42 lines
Diff to previous 1.328 (colored) to selected 1.47 (colored)

lint: fix handling of unnamed struct/union members

The support for unnamed struct/union members that was added in decl.c
1.60 from 2015-10-13 was simple but wrong. It didn't cover initializers
of these structures and computed wrong sizes for structures containing
anonymous unions. At that time, the handling of initializers was broken
as well, it was fixed 6 years later in init.c 1.229 from 2021-12-22.

Real-life examples for code that lint couldn't handle are:

	* external/bsd/jemalloc/dist/src/jemalloc.c
	* external/mit/xorg/lib/dri.old/Makefile

Revision 1.328 / (download) - annotate - [select for diffs], Fri Jun 30 19:43:00 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.327: +5 -5 lines
Diff to previous 1.327 (colored) to selected 1.47 (colored)

lint: replace macro for unique identifiers with function

No functional change.

Revision 1.327 / (download) - annotate - [select for diffs], Fri Jun 30 19:10:49 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.326: +221 -354 lines
Diff to previous 1.326 (colored) to selected 1.47 (colored)

lint: clean up handling of declarations

No functional change.

Revision 1.326 / (download) - annotate - [select for diffs], Fri Jun 30 15:19:09 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.325: +19 -15 lines
Diff to previous 1.325 (colored) to selected 1.47 (colored)

lint: fix computation of bit-field width

When bit-fields in packed structs were added on 2009-10-02, lint assumed
that they would only use 'signed int' or 'unsigned int' as storage unit,
even though C99 also allows _Bool.

The cleanup commit for decl.c 1.225 from 2021-08-28 accidentally changed
the rounding mode for bit-field storage units from round-up to
round-down.

Revision 1.325 / (download) - annotate - [select for diffs], Fri Jun 30 14:39:23 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.324: +24 -30 lines
Diff to previous 1.324 (colored) to selected 1.47 (colored)

lint: clean up packing of structs and unions

No functional change outside debug mode.

Revision 1.324 / (download) - annotate - [select for diffs], Fri Jun 30 07:18:02 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.323: +4 -2 lines
Diff to previous 1.323 (colored) to selected 1.47 (colored)

tests/lint: demonstrate bugs in anonymous struct/union handling

Revision 1.323 / (download) - annotate - [select for diffs], Thu Jun 29 22:52:44 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.322: +29 -28 lines
Diff to previous 1.322 (colored) to selected 1.47 (colored)

lint: clean up member names of declaration levels

No functional change outside debug mode.

Revision 1.322 / (download) - annotate - [select for diffs], Thu Jun 29 12:52:06 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.321: +36 -45 lines
Diff to previous 1.321 (colored) to selected 1.47 (colored)

lint: use standard terminology for bit-field width

No functional change.

Revision 1.321 / (download) - annotate - [select for diffs], Thu Jun 29 10:31:33 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.320: +15 -35 lines
Diff to previous 1.320 (colored) to selected 1.47 (colored)

lint: clean up initialization of type properties

No functional change.

Revision 1.320 / (download) - annotate - [select for diffs], Thu Jun 29 09:58:36 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.319: +4 -10 lines
Diff to previous 1.319 (colored) to selected 1.47 (colored)

lint: clean up function names

No functional change.

Revision 1.319 / (download) - annotate - [select for diffs], Thu Jun 29 05:03:03 2023 UTC (9 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.318: +11 -18 lines
Diff to previous 1.318 (colored) to selected 1.47 (colored)

lint: clean up completion of struct, union and enum declarations

No functional change.

Revision 1.318 / (download) - annotate - [select for diffs], Sat Jun 24 06:55:34 2023 UTC (9 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.317: +10 -2 lines
Diff to previous 1.317 (colored) to selected 1.47 (colored)

lint: add query for redundant 'extern' in function declaration

Revision 1.317 / (download) - annotate - [select for diffs], Fri Jun 9 15:36:31 2023 UTC (10 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.316: +5 -5 lines
Diff to previous 1.316 (colored) to selected 1.47 (colored)

lint: miscellaneous clean-ups

No binary change, except for line numbers in assertions.

Revision 1.316 / (download) - annotate - [select for diffs], Fri Jun 9 13:03:49 2023 UTC (10 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.315: +37 -37 lines
Diff to previous 1.315 (colored) to selected 1.47 (colored)

lint: indent local variables consistently

No binary change.

Revision 1.315 / (download) - annotate - [select for diffs], Sat Jun 3 21:08:06 2023 UTC (10 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.314: +6 -7 lines
Diff to previous 1.314 (colored) to selected 1.47 (colored)

lint: add query for static variables in functions

This query allows finding hidden global variables, as an easier-to-read
alternative to 'objdump -t'.

Revision 1.314 / (download) - annotate - [select for diffs], Mon May 22 18:10:57 2023 UTC (10 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.313: +31 -31 lines
Diff to previous 1.313 (colored) to selected 1.47 (colored)

lint: use consistent variable name for redeclared symbol

No binary change.

Revision 1.313 / (download) - annotate - [select for diffs], Mon May 22 17:53:27 2023 UTC (10 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.312: +4 -3 lines
Diff to previous 1.312 (colored) to selected 1.47 (colored)

lint: fix emitted type for arrays of unknown size

Revision 1.312 / (download) - annotate - [select for diffs], Mon May 22 17:47:27 2023 UTC (10 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.311: +12 -12 lines
Diff to previous 1.311 (colored) to selected 1.47 (colored)

lint: clean up the name of a local variable

No binary change.

Revision 1.311 / (download) - annotate - [select for diffs], Mon May 22 12:55:04 2023 UTC (10 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.310: +44 -44 lines
Diff to previous 1.310 (colored) to selected 1.47 (colored)

lint: rename constant NOTSPEC to NO_TSPEC

It was too easy to misread the old name as NOT_SPEC instead of the
intended NO_TSPEC.

Revision 1.310 / (download) - annotate - [select for diffs], Tue Apr 25 19:00:57 2023 UTC (11 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.309: +5 -4 lines
Diff to previous 1.309 (colored) to selected 1.47 (colored)

lint: reword message for missing declaration in header

Suggested by Christos.

Revision 1.309 / (download) - annotate - [select for diffs], Sat Apr 22 20:27:09 2023 UTC (11 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.308: +4 -3 lines
Diff to previous 1.308 (colored) to selected 1.47 (colored)

lint: fix wrong warning about 'extern' temporary identifier

Revision 1.308 / (download) - annotate - [select for diffs], Sat Apr 22 17:49:15 2023 UTC (11 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.307: +17 -17 lines
Diff to previous 1.307 (colored) to selected 1.47 (colored)

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.307 / (download) - annotate - [select for diffs], Tue Mar 28 20:04:52 2023 UTC (12 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.306: +7 -2 lines
Diff to previous 1.306 (colored) to selected 1.47 (colored)

lint: warn about 'extern' declarations inside function bodies

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html

The previous attempt (message 351 about 'extern' declarations outside
headers) did not cover the proposal from the tech-userlevel mailing list
but instead warns about a different usage pattern of the 'extern'
keyword.

Revision 1.306 / (download) - annotate - [select for diffs], Tue Mar 28 14:44:35 2023 UTC (12 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.305: +29 -9 lines
Diff to previous 1.305 (colored) to selected 1.47 (colored)

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html

Revision 1.305 / (download) - annotate - [select for diffs], Sun Jan 29 18:13:56 2023 UTC (14 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.304: +4 -4 lines
Diff to previous 1.304 (colored) to selected 1.47 (colored)

lint: rename functions for function definition

No functional change.

Revision 1.304 / (download) - annotate - [select for diffs], Sat Jan 21 13:07:22 2023 UTC (14 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.303: +3 -3 lines
Diff to previous 1.303 (colored) to selected 1.47 (colored)

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.303 / (download) - annotate - [select for diffs], Sat Jan 14 10:33:34 2023 UTC (15 months ago) by rillig
Branch: MAIN
Changes since 1.302: +14 -12 lines
Diff to previous 1.302 (colored) to selected 1.47 (colored)

lint: use fewer abbreviations

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

Revision 1.302 / (download) - annotate - [select for diffs], Sat Oct 1 10:04:06 2022 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base
Branch point for: netbsd-10
Changes since 1.301: +12 -11 lines
Diff to previous 1.301 (colored) to selected 1.47 (colored)

lint: miscellaneous cleanup

No functional change.

Revision 1.301 / (download) - annotate - [select for diffs], Sat Oct 1 09:59:40 2022 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.300: +3 -3 lines
Diff to previous 1.300 (colored) to selected 1.47 (colored)

lint: reduce pointer indirection for unnamed entities

No functional change.

Revision 1.300 / (download) - annotate - [select for diffs], Sat Oct 1 09:42:40 2022 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.299: +16 -16 lines
Diff to previous 1.299 (colored) to selected 1.47 (colored)

lint: add hyphen to adjective 'old-style'

Revision 1.299 / (download) - annotate - [select for diffs], Sun Aug 28 19:09:12 2022 UTC (19 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.298: +23 -26 lines
Diff to previous 1.298 (colored) to selected 1.47 (colored)

lint: inline previous_declaration for nonconstant message IDs

This adds back the compile-time printf validation in debug mode that was
missing before.

Revision 1.298 / (download) - annotate - [select for diffs], Sun Aug 28 12:04:47 2022 UTC (19 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.297: +212 -271 lines
Diff to previous 1.297 (colored) to selected 1.47 (colored)

lint: clean up visual clutter

No functional change.

Revision 1.297 / (download) - annotate - [select for diffs], Sun Aug 28 10:43:18 2022 UTC (19 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.296: +34 -35 lines
Diff to previous 1.296 (colored) to selected 1.47 (colored)

lint: rename functions to be clearer

No need anymore to keep external identifiers at the "6 significant
initial characters" mandated by C90.

Revision 1.296 / (download) - annotate - [select for diffs], Sun Aug 28 08:41:06 2022 UTC (19 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.295: +23 -23 lines
Diff to previous 1.295 (colored) to selected 1.47 (colored)

lint: rename dcs manipulation functions to be clearer

No functional change.

Revision 1.295 / (download) - annotate - [select for diffs], Fri Aug 26 19:44:19 2022 UTC (19 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.294: +5 -8 lines
Diff to previous 1.294 (colored) to selected 1.47 (colored)

lint: clean up to_int_constant

No functional change.

Revision 1.294 / (download) - annotate - [select for diffs], Sun Jul 3 14:35:54 2022 UTC (21 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.293: +11 -5 lines
Diff to previous 1.293 (colored) to selected 1.47 (colored)

lint: include the width of bit-fields in the type name

Revision 1.293 / (download) - annotate - [select for diffs], Wed Jun 22 19:23:17 2022 UTC (21 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.292: +16 -16 lines
Diff to previous 1.292 (colored) to selected 1.47 (colored)

lint: add quotes around placeholders for the remaining messages

Reword some of the messages slightly, exchanging brevity for clarity.

Message 138 is kept as-is, as it is not yet covered by any tests.

Message 240 is kep as-is, as it is unreachable.

Revision 1.292 / (download) - annotate - [select for diffs], Tue Jun 21 22:10:30 2022 UTC (21 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.291: +5 -5 lines
Diff to previous 1.291 (colored) to selected 1.47 (colored)

lint: use is_struct_or_union instead of comparing twice

No functional change.

Revision 1.291 / (download) - annotate - [select for diffs], Tue Jun 21 21:18:30 2022 UTC (21 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.290: +8 -8 lines
Diff to previous 1.290 (colored) to selected 1.47 (colored)

lint: add quotes and details to some more messages

Revision 1.290 / (download) - annotate - [select for diffs], Mon Jun 20 21:13:35 2022 UTC (21 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.289: +23 -23 lines
Diff to previous 1.289 (colored) to selected 1.47 (colored)

lint: add quotes around several placeholders in messages

Revision 1.289 / (download) - annotate - [select for diffs], Sun Jun 19 12:14:33 2022 UTC (21 months, 4 weeks ago) by rillig
Branch: MAIN
Changes since 1.288: +4 -4 lines
Diff to previous 1.288 (colored) to selected 1.47 (colored)

lint: add quotes around placeholders in 4 messages

Revision 1.288 / (download) - annotate - [select for diffs], Sun Jun 19 11:50:42 2022 UTC (21 months, 4 weeks ago) by rillig
Branch: MAIN
Changes since 1.287: +8 -9 lines
Diff to previous 1.287 (colored) to selected 1.47 (colored)

tests/lint: add quotes around placeholders in a few messages

Revision 1.287 / (download) - annotate - [select for diffs], Wed Jun 15 18:06:51 2022 UTC (22 months ago) by rillig
Branch: MAIN
Changes since 1.286: +4 -4 lines
Diff to previous 1.286 (colored) to selected 1.47 (colored)

lint: unexport lint's messages

There was only a single place where a message was used directly, instead
of calling one of the several functions for this purpose.

Revision 1.286 / (download) - annotate - [select for diffs], Wed Jun 15 17:57:16 2022 UTC (22 months ago) by rillig
Branch: MAIN
Changes since 1.285: +4 -10 lines
Diff to previous 1.285 (colored) to selected 1.47 (colored)

lint: remove unnecessary memory allocation

No functional change.

Revision 1.285 / (download) - annotate - [select for diffs], Sat Jun 11 12:23:59 2022 UTC (22 months ago) by rillig
Branch: MAIN
Changes since 1.284: +15 -16 lines
Diff to previous 1.284 (colored) to selected 1.47 (colored)

lint: add quotes around placeholders for a few more messages

Revision 1.284 / (download) - annotate - [select for diffs], Sat Jun 11 11:52:13 2022 UTC (22 months ago) by rillig
Branch: MAIN
Changes since 1.283: +13 -13 lines
Diff to previous 1.283 (colored) to selected 1.47 (colored)

lint: add quotes around a few more placeholders in messages

Revision 1.283 / (download) - annotate - [select for diffs], Tue May 31 00:35:18 2022 UTC (22 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.282: +6 -3 lines
Diff to previous 1.282 (colored) to selected 1.47 (colored)

lint: fix null pointer dereference after syntax error

Found by afl, starting with the malformed input '/**/f=({;/**/};}' that
no longer crashes.  This input led to 'f=({L:;}', which is at least a
syntactically valid prefix of a translation unit, containing a GCC
statement expression with an unused label.  The error message for this
unused label assumed that it would always be inside a function
definition.

While here, document incomplete recovery after syntax errors, in
msg_249.c.

Revision 1.282 / (download) - annotate - [select for diffs], Thu May 26 13:40:49 2022 UTC (22 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.281: +5 -5 lines
Diff to previous 1.281 (colored) to selected 1.47 (colored)

lint: rename olwarn and LWARN_BAD to be more expressive

No functional change.

Revision 1.281 / (download) - annotate - [select for diffs], Fri May 20 21:18:55 2022 UTC (22 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.280: +3 -3 lines
Diff to previous 1.280 (colored) to selected 1.47 (colored)

lint: use __RCSID in lint mode as well

Since 1995-10-02, lint supports __asm statements and __asm modifiers.

No binary change.

Revision 1.280 / (download) - annotate - [select for diffs], Sat Apr 30 22:31:23 2022 UTC (23 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.279: +29 -15 lines
Diff to previous 1.279 (colored) to selected 1.47 (colored)

lint: inline macro 'sflag'

Mark all places where lint's C90 mode is stricter than its C99 mode.

Most of the situations in which lint produces only warnings instead of
errors covered by the "Constraints" sections in the relevant standards.
This doesn't prevent a specific compiler from accepting it though.

No functional change.

Revision 1.279 / (download) - annotate - [select for diffs], Sat Apr 30 21:38:03 2022 UTC (23 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.278: +23 -23 lines
Diff to previous 1.278 (colored) to selected 1.47 (colored)

lint: inline macro 'tflag'

The definition of the macro tested both allow_trad and allow_c90, but
there is only a single mode in which allow_c90 is false, therefore it
suffices to test only that.

While double-checking each occurrence of tflag individually, I learned
why lint performs lookups of struct members only by name, independently
of the struct in which they are declared.  See typeok_arrow for details.

No functional change.

Revision 1.278 / (download) - annotate - [select for diffs], Sat Apr 16 19:18:17 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.277: +19 -27 lines
Diff to previous 1.277 (colored) to selected 1.47 (colored)

lint: migrate gflag to allow_gcc

No functional change.

Revision 1.277 / (download) - annotate - [select for diffs], Sun Apr 10 12:14:10 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.276: +5 -4 lines
Diff to previous 1.276 (colored) to selected 1.47 (colored)

lint: fix assertion failure on duplicate qualifiers from __typeof__

Revision 1.276 / (download) - annotate - [select for diffs], Sat Apr 9 23:41:22 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.275: +45 -42 lines
Diff to previous 1.275 (colored) to selected 1.47 (colored)

lint: distinguish between storage class and declaration kind

These types overlap but are not the same.

No functional change.

Revision 1.275 / (download) - annotate - [select for diffs], Sat Apr 9 21:19:52 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.274: +17 -17 lines
Diff to previous 1.274 (colored) to selected 1.47 (colored)

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.274 / (download) - annotate - [select for diffs], Sat Apr 9 16:02:14 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.273: +4 -6 lines
Diff to previous 1.273 (colored) to selected 1.47 (colored)

lint: extract is_member into separate function

No functional change.

Revision 1.273 / (download) - annotate - [select for diffs], Sat Apr 9 15:43:41 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.272: +13 -13 lines
Diff to previous 1.272 (colored) to selected 1.47 (colored)

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.272 / (download) - annotate - [select for diffs], Sat Apr 9 14:50:18 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.271: +11 -9 lines
Diff to previous 1.271 (colored) to selected 1.47 (colored)

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.271 / (download) - annotate - [select for diffs], Sat Apr 9 13:38:17 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.270: +17 -14 lines
Diff to previous 1.270 (colored) to selected 1.47 (colored)

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.270 / (download) - annotate - [select for diffs], Sat Apr 9 13:22:05 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.269: +17 -16 lines
Diff to previous 1.269 (colored) to selected 1.47 (colored)

lint: rename length to length_in_bits

No functional change.

Revision 1.269 / (download) - annotate - [select for diffs], Fri Apr 8 21:48:19 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.268: +4 -4 lines
Diff to previous 1.268 (colored) to selected 1.47 (colored)

lint: fix undefined behavior on enum overflow (since 1995)

GCC had optimized the check away, due to the obvious integer overflow 'x
- 1 == INT_MAX'.  To prevent further bugs like this, compile with
-ftrapv.

Revision 1.268 / (download) - annotate - [select for diffs], Sun Apr 3 10:05:22 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.267: +27 -2 lines
Diff to previous 1.267 (colored) to selected 1.47 (colored)

lint: fix crash after syntax error in array declaration

Revision 1.267 / (download) - annotate - [select for diffs], Sat Apr 2 22:38:45 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.266: +5 -9 lines
Diff to previous 1.266 (colored) to selected 1.47 (colored)

lint: clean up style

Remove outdated ARGSUSED (the one in tree.c had been wrong since 1995),
remove unused argument.

No functional change.

Revision 1.266 / (download) - annotate - [select for diffs], Sat Apr 2 22:15:57 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.265: +8 -5 lines
Diff to previous 1.265 (colored) to selected 1.47 (colored)

lint: use appropriate alignment on both the host and target platform

Revision 1.265 / (download) - annotate - [select for diffs], Sat Apr 2 21:47:04 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.264: +4 -7 lines
Diff to previous 1.264 (colored) to selected 1.47 (colored)

lint: remove unreachable message 'compiler takes alignment of function'

Revision 1.264 / (download) - annotate - [select for diffs], Sat Apr 2 20:12:45 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.263: +5 -2 lines
Diff to previous 1.263 (colored) to selected 1.47 (colored)

lint: try harder to recover after syntax errors

lint: assertion "false" failed in declarator_name at decl.c:1596
    near msg_022.c:22

Revision 1.263 / (download) - annotate - [select for diffs], Sat Apr 2 18:15:43 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.262: +55 -34 lines
Diff to previous 1.262 (colored) to selected 1.47 (colored)

lint: extract type creation into separate functions

No functional change.

Revision 1.262 / (download) - annotate - [select for diffs], Sat Apr 2 17:28:06 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.261: +11 -26 lines
Diff to previous 1.261 (colored) to selected 1.47 (colored)

lint: inline setcomplete

No functional change.

Revision 1.261 / (download) - annotate - [select for diffs], Sat Apr 2 16:27:03 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.260: +11 -6 lines
Diff to previous 1.260 (colored) to selected 1.47 (colored)

lint: untangle nested variable assignments

The code is buggy (see decl_direct_abstract.c), so at least make it
readable, making it hopefully easier to fix the bugs.

Before decl.c 1.18 from 2000-07-05, lint crashed when it parsed
'sizeof(int(double))', since that commit it has been hiding the bugs,
working with wrong type information instead.

Fix the logged type in add_function (had been wrong since today).

Revision 1.260 / (download) - annotate - [select for diffs], Sat Apr 2 14:35:47 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.259: +4 -4 lines
Diff to previous 1.259 (colored) to selected 1.47 (colored)

lint: do not log dinfo_t pointers in debug mode

Before the addition of debug_dinfo from today, this had been the only
way to notice changes to the global 'dcs' variable.  Since the content
of that variable is now logged, the pointer is not needed anymore.

Revision 1.259 / (download) - annotate - [select for diffs], Sat Apr 2 14:28:30 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.258: +31 -31 lines
Diff to previous 1.258 (colored) to selected 1.47 (colored)

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.258 / (download) - annotate - [select for diffs], Sat Apr 2 12:24:54 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.257: +17 -3 lines
Diff to previous 1.257 (colored) to selected 1.47 (colored)

lint: add debug logging for the declaration stack

To track down the wrong edge cases in decl_direct_abstract.c.

Revision 1.257 / (download) - annotate - [select for diffs], Fri Apr 1 22:28:21 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.256: +4 -2 lines
Diff to previous 1.256 (colored) to selected 1.47 (colored)

lint: improve determination of abstract typename

Still not perfect, but at least a step in the right direction.  See
decl_direct_abstract.c for the missing edge cases.

See PR#22119.

Revision 1.256 / (download) - annotate - [select for diffs], Fri Apr 1 22:07:23 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.255: +4 -4 lines
Diff to previous 1.255 (colored) to selected 1.47 (colored)

lint: add details to message about illegal return type

Revision 1.255 / (download) - annotate - [select for diffs], Fri Apr 1 20:38:37 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.254: +17 -5 lines
Diff to previous 1.254 (colored) to selected 1.47 (colored)

lint: add debug logging for type declarators

This will help in fixing the wrong type in msg_347.c, as well as the
assertion failure for 'sizeof(int())'.

Revision 1.254 / (download) - annotate - [select for diffs], Fri Apr 1 20:29:37 2022 UTC (2 years ago) by rillig
Branch: MAIN
Changes since 1.253: +9 -8 lines
Diff to previous 1.253 (colored) to selected 1.47 (colored)

lint: fix indentation and spacing, add a missing 'else' to 'else if'

No functional change.

Revision 1.253 / (download) - annotate - [select for diffs], Sun Mar 13 14:40:36 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.252: +3 -3 lines
Diff to previous 1.252 (colored) to selected 1.47 (colored)

lint: rename function 'cleanup' to be more expressive

No functional change.

Revision 1.252 / (download) - annotate - [select for diffs], Tue Mar 1 00:17:12 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.251: +3 -19 lines
Diff to previous 1.251 (colored) to selected 1.47 (colored)

lint: add debug logging for symbols and the symbol table

This logging is not active by default, the functions debug_sym and
debug_symtab can be called as needed during a debug session.

Revision 1.251 / (download) - annotate - [select for diffs], Sun Feb 27 20:02:43 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.250: +5 -5 lines
Diff to previous 1.250 (colored) to selected 1.47 (colored)

tests/lint: add tests for messages about old-style functions

Revision 1.250 / (download) - annotate - [select for diffs], Sun Feb 27 11:40:29 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.249: +3 -3 lines
Diff to previous 1.249 (colored) to selected 1.47 (colored)

lint: C99 has been released, so refer to it by its proper name

Revision 1.249 / (download) - annotate - [select for diffs], Sun Feb 27 11:14:42 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.248: +9 -9 lines
Diff to previous 1.248 (colored) to selected 1.47 (colored)

lint: unabbreviate two more members of sym_t

No functional change.

Revision 1.248 / (download) - annotate - [select for diffs], Sun Feb 27 10:44:45 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.247: +7 -7 lines
Diff to previous 1.247 (colored) to selected 1.47 (colored)

lint: unabbreviate some fields in sym_t

No functional change.

Revision 1.247 / (download) - annotate - [select for diffs], Sun Feb 27 10:31:58 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.246: +22 -24 lines
Diff to previous 1.246 (colored) to selected 1.47 (colored)

lint: encode lifetime of allocated memory in function names

No functional change.

Revision 1.246 / (download) - annotate - [select for diffs], Sun Feb 27 08:31:26 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.245: +16 -16 lines
Diff to previous 1.245 (colored) to selected 1.47 (colored)

lint: encode lifetime of allocated memory in the function names

No functional change.

Revision 1.245 / (download) - annotate - [select for diffs], Sun Feb 27 01:47:28 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.244: +9 -9 lines
Diff to previous 1.244 (colored) to selected 1.47 (colored)

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.244 / (download) - annotate - [select for diffs], Mon Feb 7 02:44:49 2022 UTC (2 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.243: +3 -3 lines
Diff to previous 1.243 (colored) to selected 1.47 (colored)

lint: reword message about bit-field in a union

There is nothing illegal about a bit-field in a union, it is allowed by
C90, C99 and C11.

Fixes PR toolchain/53219.

Revision 1.243 / (download) - annotate - [select for diffs], Wed Dec 22 14:25:35 2021 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.242: +4 -4 lines
Diff to previous 1.242 (colored) to selected 1.47 (colored)

lint: use C90 instead of C89 when referring to the C standard

Revision 1.242 / (download) - annotate - [select for diffs], Mon Nov 1 19:10:07 2021 UTC (2 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.241: +12 -6 lines
Diff to previous 1.241 (colored) to selected 1.47 (colored)

lint: move all declarations above statements

All code that is used by src/tools is supposed to be compatible with C90.

No functional change.

Revision 1.241 / (download) - annotate - [select for diffs], Fri Sep 17 21:15:19 2021 UTC (2 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.240: +3 -3 lines
Diff to previous 1.240 (colored) to selected 1.47 (colored)

downgrade bitfield in union to a warnings (ldpd uses it).

Revision 1.240 / (download) - annotate - [select for diffs], Mon Sep 13 06:11:51 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.239: +12 -2 lines
Diff to previous 1.239 (colored) to selected 1.47 (colored)

lint: continue analysis of wrong type in abstract declaration

No functional change.

Revision 1.239 / (download) - annotate - [select for diffs], Mon Sep 13 05:25:27 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.238: +5 -4 lines
Diff to previous 1.238 (colored) to selected 1.47 (colored)

lint: replace comment in new_style_function with equivalent code

No functional change.

Revision 1.238 / (download) - annotate - [select for diffs], Mon Sep 13 05:21:30 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.237: +7 -11 lines
Diff to previous 1.237 (colored) to selected 1.47 (colored)

lint: eliminate local variable in new_style_function

No functional change.

Revision 1.237 / (download) - annotate - [select for diffs], Sun Sep 12 17:30:53 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.236: +11 -3 lines
Diff to previous 1.236 (colored) to selected 1.47 (colored)

lint: track down wrong function type in abstract type

Revision 1.236 / (download) - annotate - [select for diffs], Sun Sep 12 16:28:45 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.235: +5 -4 lines
Diff to previous 1.235 (colored) to selected 1.47 (colored)

lint: add more details to error about redeclaration

Message 27 is triggered by several conditions.  The one triggered by
register_vget in sbin/fsck_lfs/vnode.c needs more details than the
others.

Revision 1.235 / (download) - annotate - [select for diffs], Sun Sep 5 16:15:05 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.234: +4 -2 lines
Diff to previous 1.234 (colored) to selected 1.47 (colored)

lint: fix some more lint warnings

The only remaining warnings are in scan.c, which is a generated Flex
scanner.

No functional change.

Revision 1.234 / (download) - annotate - [select for diffs], Sun Sep 5 16:03:55 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.233: +5 -6 lines
Diff to previous 1.233 (colored) to selected 1.47 (colored)

lint: fix lint warnings

Revision 1.233 / (download) - annotate - [select for diffs], Sat Sep 4 13:45:37 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.232: +45 -82 lines
Diff to previous 1.232 (colored) to selected 1.47 (colored)

lint: reduce indentation in tdeferr

No functional change.

Revision 1.232 / (download) - annotate - [select for diffs], Sat Sep 4 13:27:59 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.231: +5 -5 lines
Diff to previous 1.231 (colored) to selected 1.47 (colored)

lint: use unsigned integers for size calculations

No change for type definitions that are smaller than 128 MB.  For larger
types, integer overflow might occur, just like before.

Revision 1.231 / (download) - annotate - [select for diffs], Sat Sep 4 12:37:46 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.230: +4 -10 lines
Diff to previous 1.230 (colored) to selected 1.47 (colored)

lint: remove redundant and duplicate code

Revision 1.230 / (download) - annotate - [select for diffs], Sat Sep 4 12:30:46 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.229: +8 -9 lines
Diff to previous 1.229 (colored) to selected 1.47 (colored)

lint: spell out abbreviations in comments

No functional change.

Revision 1.229 / (download) - annotate - [select for diffs], Sat Sep 4 12:05:54 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.228: +64 -67 lines
Diff to previous 1.228 (colored) to selected 1.47 (colored)

lint: split declare_local into smaller functions

Revision 1.228 / (download) - annotate - [select for diffs], Sun Aug 29 15:49:04 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.227: +3 -3 lines
Diff to previous 1.227 (colored) to selected 1.47 (colored)

lint: add __sync_ and _mm_ as prefixes for builtin functions

These two additions cover all cases that occur in the current NetBSD
build on x86_64.  This allows build_name to use the usual pattern 'if
Sflag then error else if sflag then warning'.  That function currently
issues a warning in C99 as well, even though C99 prohibits implicit
function declarations.

Revision 1.227 / (download) - annotate - [select for diffs], Sat Aug 28 16:36:54 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.226: +3 -3 lines
Diff to previous 1.226 (colored) to selected 1.47 (colored)

lint: do not emit GCC builtin functions

Lint1 no longer emits declarations of GCC builtin functions and calls to
them.

Previously, lint generated 3421 useless warnings in a default NetBSD
build, like this:

	__atomic_load_n, arg 1 used inconsistently
	    acl.c(216)[pointer to unsigned int]
	    rbtdb.c(921)[pointer to unsigned short]

This was because lint just doesn't understand that these functions are
type-generic, which is indeed unusual in C.

These useless warnings made the lint output more frightening than it
should actually be.  Together with the strange formatting of the
diagnostics (space-space-tab after the main message, two spaces and two
colons between the occurrences, symbols are listed in hashcode order),
this creates the impression that lint is not intended to be a
user-friendly tool.

For now, fix the excess warnings, leaving the other items for later.

Revision 1.226 / (download) - annotate - [select for diffs], Sat Aug 28 12:59:25 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.225: +5 -5 lines
Diff to previous 1.225 (colored) to selected 1.47 (colored)

lint: use 'unsigned int' for bit-size of types

Lint does not need to support any types larger than 256 MB since they
don't occur in practice.  Practically, such large types have never been
supported at all since the function type_size_in_bits used int for the
internal calculations, resulting in overflows.

Revision 1.225 / (download) - annotate - [select for diffs], Sat Aug 28 12:41:03 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.224: +10 -8 lines
Diff to previous 1.224 (colored) to selected 1.47 (colored)

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.224 / (download) - annotate - [select for diffs], Sat Aug 28 12:21:53 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.223: +6 -6 lines
Diff to previous 1.223 (colored) to selected 1.47 (colored)

lint: un-abbreviate unsigned integer types

No functional change.

Revision 1.223 / (download) - annotate - [select for diffs], Sat Aug 28 12:06:08 2021 UTC (2 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.222: +3 -6 lines
Diff to previous 1.222 (colored) to selected 1.47 (colored)

lint: clean up alignment_in_bits

The given type can never be NULL, and an array can never have NULL as
subtype.

Revision 1.222 / (download) - annotate - [select for diffs], Mon Aug 16 06:49:56 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.221: +8 -6 lines
Diff to previous 1.221 (colored) to selected 1.47 (colored)

lint: add more details to message about redeclared tag

Revision 1.221 / (download) - annotate - [select for diffs], Tue Aug 10 20:43:12 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.220: +9 -3 lines
Diff to previous 1.220 (colored) to selected 1.47 (colored)

lint: fix 3 of the 4 wrong messages about lvalue in initial assignment

Revision 1.220 / (download) - annotate - [select for diffs], Tue Aug 10 19:52:14 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.219: +3 -3 lines
Diff to previous 1.219 (colored) to selected 1.47 (colored)

lint: remove redundant test for negative bit-field size

A bit-field can never have negative size.  Its type is an unsigned
integer.

Strangely, GCC 10.3.0 only complains about this if the extra struct
level lint1_type.t_b is removed.  Clang 12.0.1 does not complain at all.

Revision 1.219 / (download) - annotate - [select for diffs], Tue Aug 3 21:18:24 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.218: +5 -2 lines
Diff to previous 1.218 (colored) to selected 1.47 (colored)

lint: in strict enum mode, error out on enum type mismatch in union cast

Revision 1.218 / (download) - annotate - [select for diffs], Tue Aug 3 18:38:02 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.217: +3 -3 lines
Diff to previous 1.217 (colored) to selected 1.47 (colored)

lint: casting to a struct is not allowed in C99, only with GCC

Revision 1.217 / (download) - annotate - [select for diffs], Sun Aug 1 18:37:29 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.216: +4 -7 lines
Diff to previous 1.216 (colored) to selected 1.47 (colored)

lint: remove option -d, clean up debug logging

The command line option -d was not used by /usr/bin/lint, and it only
triggered a handful of debug messages.  Move this debug logging over to
the compile-time -DDEBUG setting.

Move display_expression further up to avoid the forward declaration.

Revision 1.216 / (download) - annotate - [select for diffs], Sun Aug 1 06:40:37 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.215: +4 -6 lines
Diff to previous 1.215 (colored) to selected 1.47 (colored)

lint: add debug logging for symbol table, clean up debug logging

When I tried to fix msg_115, I quickly ran into a segmentation fault,
probably related to the symbol table.  To better understand this part,
log insertions and deletions.

The other debug log messages do not need to mention the current file
position anymore, this is what lex_next_line takes care of since scan.l
1.113 from 2021-01-05.

Revision 1.215 / (download) - annotate - [select for diffs], Sat Jul 31 19:52:44 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.214: +4 -4 lines
Diff to previous 1.214 (colored) to selected 1.47 (colored)

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.214 / (download) - annotate - [select for diffs], Sat Jul 31 19:20:59 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.213: +17 -10 lines
Diff to previous 1.213 (colored) to selected 1.47 (colored)

lint: initialize shared types in the same order as in tspec_t

This makes it easier to see whether there are any types missing, such as
__uint128_t.

No functional change.

Revision 1.213 / (download) - annotate - [select for diffs], Sat Jul 31 19:07:52 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.212: +9 -16 lines
Diff to previous 1.212 (colored) to selected 1.47 (colored)

lint: clean up debug logging

The calls to debug_step, unlike printf, don't need a trailing newline.

Remove the debug_step0 macro and its relatives since lint already uses
enough other features from C99 that it essentially requires this
standard, which supports varargs macro arguments.  Among these features
are __func__ and printf("%zu").

In non-debug mode, do not evaluate the arguments of debug_step.
Evaluating the arguments had caused an internal error when running the
test op_shl_lp64.  This is indeed a bug since initdecl should have
initialized the type table for __uint128_t.  This had been forgotten
when support for __uint128_t was added in decl.c 1.69 from 2018-09-07.

No functional change.

Revision 1.212 / (download) - annotate - [select for diffs], Sat Jul 31 17:09:21 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.211: +3 -3 lines
Diff to previous 1.211 (colored) to selected 1.47 (colored)

lint: add debugging output for the grammar tokens

No functional change outside debug mode.

Revision 1.211 / (download) - annotate - [select for diffs], Sat Jul 31 11:03:04 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.210: +23 -2 lines
Diff to previous 1.210 (colored) to selected 1.47 (colored)

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.210 / (download) - annotate - [select for diffs], Sun Jul 25 22:14:36 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.209: +16 -2 lines
Diff to previous 1.209 (colored) to selected 1.47 (colored)

lint: move scl_name from print.c to decl.c

It is only needed there.

Revision 1.209 / (download) - annotate - [select for diffs], Fri Jul 23 16:48:48 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.208: +18 -31 lines
Diff to previous 1.208 (colored) to selected 1.47 (colored)

lint: remove a few unnecessary abbreviations

No functional change.

Revision 1.208 / (download) - annotate - [select for diffs], Fri Jul 23 16:43:11 2021 UTC (2 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.207: +6 -6 lines
Diff to previous 1.207 (colored) to selected 1.47 (colored)

lint: make offset and alignment positive numbers

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

No functional change.

Revision 1.207 / (download) - annotate - [select for diffs], Thu Jul 15 23:54:22 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.206: +11 -15 lines
Diff to previous 1.206 (colored) to selected 1.47 (colored)

lint: reduce verboseness of merge_signedness

No functional change.

Revision 1.206 / (download) - annotate - [select for diffs], Thu Jul 15 23:47:00 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.205: +25 -28 lines
Diff to previous 1.205 (colored) to selected 1.47 (colored)

lint: rename merge_type_specifiers to merge_signedness

No functional change.

Revision 1.205 / (download) - annotate - [select for diffs], Thu Jul 15 23:42:49 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.204: +31 -48 lines
Diff to previous 1.204 (colored) to selected 1.47 (colored)

lint: replace switch statement in dcs_merge_declaration_specifiers

Grouping the rules by their abstract type took a lot of visual space.
Instead, move each of the rules from C11 6.7.2 into its own if
statement, so that the rules almost read like in the standard.

No functional change.

Revision 1.204 / (download) - annotate - [select for diffs], Thu Jul 15 23:07:05 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.203: +71 -66 lines
Diff to previous 1.203 (colored) to selected 1.47 (colored)

lint: extract dcs_merge_declaration_specifiers from end_type

No functional change.

Revision 1.203 / (download) - annotate - [select for diffs], Thu Jul 15 22:47:17 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.202: +10 -9 lines
Diff to previous 1.202 (colored) to selected 1.47 (colored)

lint: clean up mix of 'case' and 'if'

No functional change.

Revision 1.202 / (download) - annotate - [select for diffs], Thu Jul 15 22:42:46 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.201: +2 -5 lines
Diff to previous 1.201 (colored) to selected 1.47 (colored)

lint: remove warning about _Complex long double in traditional C

Complex types have been introduced in C99, so there is no danger of
anyone trying to use them in traditional C.

Revision 1.201 / (download) - annotate - [select for diffs], Thu Jul 15 21:56:51 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.200: +4 -2 lines
Diff to previous 1.200 (colored) to selected 1.47 (colored)

lint: fix internal error for sizeof(typeof)

Revision 1.200 / (download) - annotate - [select for diffs], Thu Jul 15 07:58:05 2021 UTC (2 years, 9 months ago) by rin
Branch: MAIN
Changes since 1.199: +6 -2 lines
Diff to previous 1.199 (colored) to selected 1.47 (colored)

PR port-sh3/56311

As a workaround for GCC bug, compile initdecl() with -O0 for sh3.

Revision 1.199 / (download) - annotate - [select for diffs], Tue Jul 13 22:01:34 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.198: +3 -3 lines
Diff to previous 1.198 (colored) to selected 1.47 (colored)

lint: fix wording of message for incomplete struct (2021-07-04)

A struct member is not an argument.  In err.c 1.124 from 2021-07-04, the
wording had been changed, without noticing that the message was used
twice: once for an argument, once for a struct member.

Revision 1.198 / (download) - annotate - [select for diffs], Sun Jul 11 19:30:56 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.197: +4 -4 lines
Diff to previous 1.197 (colored) to selected 1.47 (colored)

lint: add quotes around placeholders in message 23 and 232

Revision 1.197 / (download) - annotate - [select for diffs], Sat Jul 10 17:35:54 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.196: +14 -14 lines
Diff to previous 1.196 (colored) to selected 1.47 (colored)

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.196 / (download) - annotate - [select for diffs], Sat Jul 10 12:10:39 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.195: +6 -4 lines
Diff to previous 1.195 (colored) to selected 1.47 (colored)

lint: fix assertion failure in declare_argument

Revision 1.195 / (download) - annotate - [select for diffs], Mon Jul 5 19:55:51 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.194: +10 -13 lines
Diff to previous 1.194 (colored) to selected 1.47 (colored)

lint: reduce noise in storage_class_name

No functional change.

Revision 1.194 / (download) - annotate - [select for diffs], Mon Jul 5 19:48:32 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.193: +6 -6 lines
Diff to previous 1.193 (colored) to selected 1.47 (colored)

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.193 / (download) - annotate - [select for diffs], Sun Jul 4 13:31:10 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.192: +4 -4 lines
Diff to previous 1.192 (colored) to selected 1.47 (colored)

lint: improve wording for incomplete struct or union

Revision 1.192 / (download) - annotate - [select for diffs], Mon Jun 28 10:07:43 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.191: +3 -2 lines
Diff to previous 1.191 (colored) to selected 1.47 (colored)

lint: turn null pointer dereference into assertion failure

Originally I only needed a message that would output the type name from
an abstract-declarator (C99 6.7.6), to see whether lint interprets the
types correctly.

Message 155 looked like a good candidate, but it only revealed more
incomplete and untested code in lint.

Revision 1.191 / (download) - annotate - [select for diffs], Mon Jun 28 09:14:42 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.190: +5 -2 lines
Diff to previous 1.190 (colored) to selected 1.47 (colored)

lint: align grammar with C99

C99 uses type-qualifier-list_opt in section 6.7.5.

Revision 1.190 / (download) - annotate - [select for diffs], Mon Jun 28 08:52:55 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.189: +38 -37 lines
Diff to previous 1.189 (colored) to selected 1.47 (colored)

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.189 / (download) - annotate - [select for diffs], Sun Jun 27 08:20:50 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.188: +3 -3 lines
Diff to previous 1.188 (colored) to selected 1.47 (colored)

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.188 / (download) - annotate - [select for diffs], Sun Jun 20 11:24:32 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.187: +5 -2 lines
Diff to previous 1.187 (colored) to selected 1.47 (colored)

lint: fix assertion failure on malformed struct declaration

Found using afl.

Revision 1.187 / (download) - annotate - [select for diffs], Sun Jun 20 11:00:18 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.186: +3 -2 lines
Diff to previous 1.186 (colored) to selected 1.47 (colored)

lint: fix segmentation fault for malformed struct

Code to trigger this bug: struct{char a(_)0}

Found using afl.

Revision 1.186 / (download) - annotate - [select for diffs], Sat Jun 19 15:51:11 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.185: +6 -3 lines
Diff to previous 1.185 (colored) to selected 1.47 (colored)

lint: fix crash in malformed initialization

Revision 1.185 / (download) - annotate - [select for diffs], Sat Jun 19 14:28:04 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.184: +3 -3 lines
Diff to previous 1.184 (colored) to selected 1.47 (colored)

lint: fix assertion failure after syntax error in declaration

The code to trigger this case is:

	(s)(int(int););

This only happens with BSD yacc, but not with Bison since they differ in
error handling.

Revision 1.184 / (download) - annotate - [select for diffs], Sat Jun 19 14:08:45 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.183: +5 -5 lines
Diff to previous 1.183 (colored) to selected 1.47 (colored)

lint: in debug mode, print name of the "storage class"

This helps in tracking down the internal errors related to declarations,
found by running afl.

Revision 1.183 / (download) - annotate - [select for diffs], Sat Jun 19 11:01:23 2021 UTC (2 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.182: +4 -2 lines
Diff to previous 1.182 (colored) to selected 1.47 (colored)

lint: fix internal error for unfinished declaration

A translation unit that contains just 'void x' without the trailing
semicolon had crashed lint1 before:

assertion "dcs->d_ctx == AUTO" failed in declare at decl.c:2049

Found using afl.

Revision 1.180.2.1 / (download) - annotate - [select for diffs], Mon May 31 22:15:26 2021 UTC (2 years, 10 months ago) by cjep
Branch: cjep_staticlib_x
Changes since 1.180: +6 -6 lines
Diff to previous 1.180 (colored) next main 1.181 (colored) to selected 1.47 (colored)

sync with head

Revision 1.182 / (download) - annotate - [select for diffs], Sun May 16 11:11:36 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1
Changes since 1.181: +4 -4 lines
Diff to previous 1.181 (colored) to selected 1.47 (colored)

lint: add more specific warning for bit-field of type plain 'int'

Previously, declaring a bit-field of type plain 'int' resulted in this
warning:

	warning: nonportable bit-field type 'int' [34]

This warning was too unspecific to be actionable, and until yesterday it
didn't even include the type.  In order to allow this warning to be
understood and properly fixed, describe the actual nonportability more
precisely:

	warning: bit-field of type plain 'int' has
	implementation-defined signedness [344]

Revision 1.181 / (download) - annotate - [select for diffs], Sun May 16 10:34:19 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.180: +6 -6 lines
Diff to previous 1.180 (colored) to selected 1.47 (colored)

lint: add type information to unportable bit-field type

Seeing the message "unportable bit-field type 'int'" may sound strange
at first, but that's a strict interpretation of the wording in C99
6.7.2.1p4, which requires that the bit-field type is "'_Bool', 'unsigned
int' or 'signed int', or some other implementation-defined type".

The rationale for C99 6.7.2.1 explicitly lists plain 'int' among the
allowed types for bit-fields, regardless of any additional
implementation-defined types.  This means that lint had interpreted this
paragraph wrong, and it should be fixed to allow plain int as well.

Revision 1.180 / (download) - annotate - [select for diffs], Sun May 2 22:07:49 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
CVS Tags: cjep_staticlib_x-base
Branch point for: cjep_staticlib_x
Changes since 1.179: +3 -3 lines
Diff to previous 1.179 (colored) to selected 1.47 (colored)

lint: allow large integer types for bit-fields in GCC mode

These types are explicitly allowed by GCC.

I'm not sure which of the flags -g and -p should be stronger.  That is,
if both -g and -p are given, should 'unsigned char' be allowed as a
bit-field type since -g would allow it, or should it be warned about
since -p warns about it?  For now, continue to warn about these.

Revision 1.179 / (download) - annotate - [select for diffs], Sun May 2 21:48:53 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.178: +15 -7 lines
Diff to previous 1.178 (colored) to selected 1.47 (colored)

lint: extract check_bit_field_type from declare_bit_field

No functional change.

Revision 1.178 / (download) - annotate - [select for diffs], Sun Apr 18 17:36:18 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.177: +22 -22 lines
Diff to previous 1.177 (colored) to selected 1.47 (colored)

lint: pass pos_t via const pointer

Thanks for the suggestion, christos@.

Revision 1.177 / (download) - annotate - [select for diffs], Sun Apr 18 09:37:18 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.176: +17 -28 lines
Diff to previous 1.176 (colored) to selected 1.47 (colored)

lint: preserve curr_pos when checking whether a symbol is used

At the end of a function definition (funcend), curr_pos was not
restored, probably because the very next action is to read the next
token, which will then set curr_pos.

Again, this may affect the location reported in assertion failures,
everything else is unchanged.

Revision 1.176 / (download) - annotate - [select for diffs], Sun Apr 18 09:20:43 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.175: +8 -16 lines
Diff to previous 1.175 (colored) to selected 1.47 (colored)

lint: do not modify curr_pos in check_global_symbols

No functional change.

Revision 1.175 / (download) - annotate - [select for diffs], Sun Apr 18 09:15:16 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.174: +11 -5 lines
Diff to previous 1.174 (colored) to selected 1.47 (colored)

lint: in check_global_variable_size, restore curr_pos

This affects only calls to lint_assert, all other code stays
functionally the same.

Revision 1.174 / (download) - annotate - [select for diffs], Sun Apr 18 09:07:36 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.173: +5 -6 lines
Diff to previous 1.173 (colored) to selected 1.47 (colored)

lint: migrate check_tag_usage to warning_at

This one is already a little trickier since it does not restore the
original curr_pos.  This function is only called in a few places, and
these either restore curr_pos themselves or only call functions
afterwards that immediately overwrite curr_pos.

Except for lint_assert, which may now report a different location.

The call to check_global_variable that is related to check_tag_usage was
the function that started this whole refactoring since its lint_assert
reported a completely wrong location when using a compound literal in an
initializer expression at block level 0.

Revision 1.173 / (download) - annotate - [select for diffs], Sun Apr 18 08:57:57 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.172: +5 -9 lines
Diff to previous 1.172 (colored) to selected 1.47 (colored)

lint: migrate print_previous_declaration to message_at

Revision 1.172 / (download) - annotate - [select for diffs], Sat Apr 10 18:06:53 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.171: +3 -2 lines
Diff to previous 1.171 (colored) to selected 1.47 (colored)

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.171 / (download) - annotate - [select for diffs], Fri Apr 9 20:12:00 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.170: +6 -6 lines
Diff to previous 1.170 (colored) to selected 1.47 (colored)

lint: quote placeholders in messages for unused variables

Revision 1.170 / (download) - annotate - [select for diffs], Fri Apr 2 12:16:50 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.169: +16 -16 lines
Diff to previous 1.169 (colored) to selected 1.47 (colored)

lint: add parentheses after sizeof, as required by share/misc/style

No functional change.

Revision 1.169 / (download) - annotate - [select for diffs], Fri Apr 2 11:53:25 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.168: +18 -17 lines
Diff to previous 1.168 (colored) to selected 1.47 (colored)

lint: rename functions for duplicating types

No functional change.

Revision 1.168 / (download) - annotate - [select for diffs], Fri Apr 2 10:13:03 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.167: +9 -9 lines
Diff to previous 1.167 (colored) to selected 1.47 (colored)

lint: name memory allocation functions consistently

No functional change.

Revision 1.167 / (download) - annotate - [select for diffs], Tue Mar 30 14:25:28 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.166: +4 -8 lines
Diff to previous 1.166 (colored) to selected 1.47 (colored)

lint: rewrite handling of initializations, fixing several bugs

The previous implementation had a wrong model of how initialization
happens in C99, its assertions failed in all kind of edge cases and it
was not possible to fix the remaining bugs one at a time without running
into even more obscure assertion failures.

The debug logging was detailed but did not help to clarify the
situation.  After about 20 failed attempts at fixing the small details I
decided to start all over and rewrite the initialization code from
scratch.  I left the low-level parts of handling designators, the code
that is independent of brace_level and the high-level parts of how the
parser calls into this module.  Everything else is completely new.

The concept of a brace level stays since that is how C99 describes
initialization.  The previous code could not handle multi-level
designations (see d_init_pop_member.c).  There are no more assertion
failures in the initialization code.

Some TODO comments have been left in the tests to keep the line numbers
the same in this commit.  These will be cleaned up in a follow-up
commit.

The new implementation does not handle initialization with "missing"
braces.  This is an edge case that both GCC and Clang warn about, so it
is not widely used.  If necessary, it may be added later.

The new implementation does not use any global variables in the vast
majority of the functions, to make all dependencies and possible
modifications obvious.

Revision 1.166 / (download) - annotate - [select for diffs], Sat Mar 27 22:13:55 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.165: +20 -25 lines
Diff to previous 1.165 (colored) to selected 1.47 (colored)

lint: move handling of function renaming over to declare_extern

No functional change.

Revision 1.165 / (download) - annotate - [select for diffs], Sat Mar 27 22:04:39 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.164: +43 -43 lines
Diff to previous 1.164 (colored) to selected 1.47 (colored)

lint: rename decl1ext, reduce visibility

No functional change.

Revision 1.164 / (download) - annotate - [select for diffs], Sat Mar 27 12:42:22 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.163: +5 -5 lines
Diff to previous 1.163 (colored) to selected 1.47 (colored)

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.163 / (download) - annotate - [select for diffs], Sat Mar 27 11:08:00 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.162: +3 -3 lines
Diff to previous 1.162 (colored) to selected 1.47 (colored)

lint: remove space between 'sizeof ('

No functional change.

Revision 1.162 / (download) - annotate - [select for diffs], Fri Mar 26 20:51:34 2021 UTC (3 years ago) by christos
Branch: MAIN
Changes since 1.161: +4 -6 lines
Diff to previous 1.161 (colored) to selected 1.47 (colored)

use __func__

Revision 1.161 / (download) - annotate - [select for diffs], Fri Mar 26 20:31:07 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.160: +16 -16 lines
Diff to previous 1.160 (colored) to selected 1.47 (colored)

lint: in malloc calls, use 'sizeof *ptr' instead of 'sizeof(type)'

No functional change.

Revision 1.160 / (download) - annotate - [select for diffs], Fri Mar 26 17:44:52 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.159: +17 -15 lines
Diff to previous 1.159 (colored) to selected 1.47 (colored)

lint: rename pushdecl and popdecl to be more expressive

The previous names were highly ambiguous.  The 'decl' could have meant
'declaration', which would be the usual abbreviation.  It could also be
split into 'dec' and 'l', meaning 'declaration level', which would make
more sense in this particular context.

To avoid having to guess anything about these names, rename the
functions.  Instead of 'push' and 'pop', I renamed them to 'begin' and
'end' since these are the high-level operation that are of interest.
That the hierarchy of declaration levels is implemented as a stack is
nice to know but not as important to understand the whole situation.

No functional change.

Revision 1.159 / (download) - annotate - [select for diffs], Tue Mar 23 18:40:50 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.158: +2 -5 lines
Diff to previous 1.158 (colored) to selected 1.47 (colored)

lint: fix wrong error message about type mismatch in compound literal

Now that the code contains explicit markers for starting and ending an
initialization, and having the guarantee that an assertion fails
whenever some code accesses the state of the "current initialization"
even though there is no ongoing initialization gives me much more
confidence in the correctness of the code.  The calls to
begin_initialization and end_initialization always appear in pairs,
enclosing the minimal amount of code necessary for initialization.

In a nutshell, global modifiable state is error-prone and hard to
understand.

A nice side effect is that the grammar no longer needs a special rule
for the outermost initializer since the functions for the debug logging
are now called explicitly.

The code that misuses the initialization state just because it needs to
temporarily store a sym_t somewhere is now clearly marked as such.  A
GCC statement expression can appear anywhere and is therefore
independent of the initialization.  Most probably the code can simply
refer to the local variable in the grammar rule itself, or this variable
needs to be encoded in the grammar %union.  For sure there is a better
way to handle this.

There is no longer a need that the function 'declare' initializes the
initialization state, it was just the wrong place to do this.

Revision 1.158 / (download) - annotate - [select for diffs], Tue Mar 23 17:36:56 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.157: +8 -8 lines
Diff to previous 1.157 (colored) to selected 1.47 (colored)

lint: add indirection for accessing the current initialization

This indirection will be needed to handle nested initializations, which
are a new feature of C99.  These are currently not handled correctly,
see msg_171.c.

No functional change.

Revision 1.157 / (download) - annotate - [select for diffs], Sun Mar 21 20:18:45 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.156: +3 -3 lines
Diff to previous 1.156 (colored) to selected 1.47 (colored)

lint: adjust type in documentation of add_array

No functional change.

Revision 1.156 / (download) - annotate - [select for diffs], Sun Mar 21 10:30:28 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.155: +11 -11 lines
Diff to previous 1.155 (colored) to selected 1.47 (colored)

lint: rename d_fargs, d_fdpos and d_fpsyms to be less abbreviated

No functional change.

Revision 1.155 / (download) - annotate - [select for diffs], Sun Mar 21 10:25:40 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.154: +11 -11 lines
Diff to previous 1.154 (colored) to selected 1.47 (colored)

lint: rename d_nedecl to d_nonempty_decl

No functional change.

Revision 1.154 / (download) - annotate - [select for diffs], Sun Mar 21 10:21:07 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.153: +30 -27 lines
Diff to previous 1.153 (colored) to selected 1.47 (colored)

lint: rename d_rdcsym to d_redeclared_symbol

No functional change.

Revision 1.153 / (download) - annotate - [select for diffs], Sun Mar 21 10:16:12 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.152: +6 -5 lines
Diff to previous 1.152 (colored) to selected 1.47 (colored)

lint: inline local variable in declarator_1_struct_union

No functional change.

Revision 1.152 / (download) - annotate - [select for diffs], Sat Mar 20 13:25:31 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.151: +4 -4 lines
Diff to previous 1.151 (colored) to selected 1.47 (colored)

lint: update comment on setasm for C99

No functional change.

Revision 1.151 / (download) - annotate - [select for diffs], Sat Mar 20 13:22:06 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.150: +14 -15 lines
Diff to previous 1.150 (colored) to selected 1.47 (colored)

lint: reduce indentation and braces in merge_type_specifiers

No functional change.

Revision 1.150 / (download) - annotate - [select for diffs], Sat Mar 20 13:06:05 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.149: +21 -19 lines
Diff to previous 1.149 (colored) to selected 1.47 (colored)

lint: extract adjusting of the storage class into separate function

No functional change.

Revision 1.149 / (download) - annotate - [select for diffs], Fri Mar 19 08:21:26 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.148: +16 -16 lines
Diff to previous 1.148 (colored) to selected 1.47 (colored)

lint: rename in_bit to in_bits

No functional change.

Revision 1.148 / (download) - annotate - [select for diffs], Fri Mar 19 08:19:24 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.147: +4 -4 lines
Diff to previous 1.147 (colored) to selected 1.47 (colored)

lint: rename tsize to type_size_in_bits

The shorter name size_in_bits was already taken by the function-like
macro with argument type tspec_t.

No functional change.

Revision 1.147 / (download) - annotate - [select for diffs], Wed Mar 17 02:18:03 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.146: +44 -36 lines
Diff to previous 1.146 (colored) to selected 1.47 (colored)

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.146 / (download) - annotate - [select for diffs], Wed Mar 17 01:53:21 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.145: +60 -2 lines
Diff to previous 1.145 (colored) to selected 1.47 (colored)

lint: move to_int_constant from the grammar to decl.c

This way, the code is covered by running 'make lint'.  The code from the
grammar is not covered, therefore it still uses int instead of bool in a
few places.

Inline the comparison functions for uint64_t.  These functions didn't
add any clarity to the code.

No functional change.

Revision 1.145 / (download) - annotate - [select for diffs], Wed Mar 17 01:38:31 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.144: +44 -2 lines
Diff to previous 1.144 (colored) to selected 1.47 (colored)

lint: move main part of idecl over to decl.c and rename it

No functional change.

Revision 1.144 / (download) - annotate - [select for diffs], Wed Mar 17 01:15:31 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.143: +25 -24 lines
Diff to previous 1.143 (colored) to selected 1.47 (colored)

lint: rename 'blklev' to 'block_level'

No functional change.

Revision 1.143 / (download) - annotate - [select for diffs], Sun Feb 28 18:51:51 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.142: +11 -10 lines
Diff to previous 1.142 (colored) to selected 1.47 (colored)

lint: rename members and access macros of the basic types

Having the measurement unit in the variable name prevents accidental
confusion between bits and bytes, especially since usually the word
'size' means the size in bytes, while 'width' means the size in bits, at
least for integer types.

No functional change.

Revision 1.142 / (download) - annotate - [select for diffs], Sun Feb 28 03:14:44 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.141: +14 -7 lines
Diff to previous 1.141 (colored) to selected 1.47 (colored)

lint: document allowed types for bit-fields

No functional change.

Revision 1.141 / (download) - annotate - [select for diffs], Sun Feb 28 03:05:12 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.140: +67 -55 lines
Diff to previous 1.140 (colored) to selected 1.47 (colored)

lint: extract declare_bit_field from declarator_1_struct_union

No functional change.

Revision 1.140 / (download) - annotate - [select for diffs], Sun Feb 28 02:45:37 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.139: +4 -4 lines
Diff to previous 1.139 (colored) to selected 1.47 (colored)

lint: add type information to 'illegal bit-field type'

Revision 1.139 / (download) - annotate - [select for diffs], Sun Feb 28 00:23:55 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.138: +5 -8 lines
Diff to previous 1.138 (colored) to selected 1.47 (colored)

lint: rename getbound to alignment_in_bits

No functional change.

Revision 1.138 / (download) - annotate - [select for diffs], Mon Feb 22 15:09:50 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.137: +3 -3 lines
Diff to previous 1.137 (colored) to selected 1.47 (colored)

lint: change spelling of initialisation to initialization

That's the wording from the ISO C99 standard.

Revision 1.137 / (download) - annotate - [select for diffs], Fri Feb 19 22:35:42 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.136: +17 -17 lines
Diff to previous 1.136 (colored) to selected 1.47 (colored)

lint: rename storage class constants to be more expressive

No functional change.

Revision 1.136 / (download) - annotate - [select for diffs], Fri Feb 19 22:27:49 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.135: +5 -5 lines
Diff to previous 1.135 (colored) to selected 1.47 (colored)

lint: rename t_isenum and t_aincompl to be more expressive

No functional change.

Revision 1.135 / (download) - annotate - [select for diffs], Fri Feb 19 22:20:18 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.134: +8 -8 lines
Diff to previous 1.134 (colored) to selected 1.47 (colored)

lint: rename tenum_t and its members to be more expressive

Revision 1.134 / (download) - annotate - [select for diffs], Fri Feb 19 22:16:12 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.133: +28 -27 lines
Diff to previous 1.133 (colored) to selected 1.47 (colored)

lint: rename str_t and its members to be more expressive

No functional change.

Revision 1.133 / (download) - annotate - [select for diffs], Sun Jan 31 11:23:01 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.132: +3 -3 lines
Diff to previous 1.132 (colored) to selected 1.47 (colored)

lint: add quotes to messages 1 and 19

Revision 1.132 / (download) - annotate - [select for diffs], Sat Jan 30 18:16:45 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.131: +8 -8 lines
Diff to previous 1.131 (colored) to selected 1.47 (colored)

lint: rename incompl to is_incomplete

No functional change.

Revision 1.131 / (download) - annotate - [select for diffs], Sun Jan 24 00:15:20 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.130: +8 -8 lines
Diff to previous 1.130 (colored) to selected 1.47 (colored)

lint: update data types in comments from int to bool

Revision 1.130 / (download) - annotate - [select for diffs], Mon Jan 18 19:24:09 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.129: +9 -9 lines
Diff to previous 1.129 (colored) to selected 1.47 (colored)

lint: clean up member names of control_structure and comments

Revision 1.129 / (download) - annotate - [select for diffs], Mon Jan 18 19:21:52 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.128: +20 -19 lines
Diff to previous 1.128 (colored) to selected 1.47 (colored)

lint: flatten check_global_variable_size

Revision 1.128 / (download) - annotate - [select for diffs], Mon Jan 18 17:43:43 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.127: +6 -6 lines
Diff to previous 1.127 (colored) to selected 1.47 (colored)

lint: fix assertion failure for restrict and _Thread_local

Revision 1.127 / (download) - annotate - [select for diffs], Sun Jan 17 16:25:30 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.126: +4 -4 lines
Diff to previous 1.126 (colored) to selected 1.47 (colored)

lint: extend a few message comments

Revision 1.126 / (download) - annotate - [select for diffs], Sun Jan 17 15:24:03 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.125: +3 -3 lines
Diff to previous 1.125 (colored) to selected 1.47 (colored)

lint: replace integer constants with bool constants

Revision 1.125 / (download) - annotate - [select for diffs], Sun Jan 17 11:28:01 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.124: +3 -3 lines
Diff to previous 1.124 (colored) to selected 1.47 (colored)

lint: fix type mismatch for strict bool mode

No functional change.

Revision 1.124 / (download) - annotate - [select for diffs], Sat Jan 16 16:53:23 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.123: +36 -35 lines
Diff to previous 1.123 (colored) to selected 1.47 (colored)

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.123 / (download) - annotate - [select for diffs], Sat Jan 16 16:03:46 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.122: +7 -7 lines
Diff to previous 1.122 (colored) to selected 1.47 (colored)

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.122 / (download) - annotate - [select for diffs], Sat Jan 16 02:40:02 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.121: +158 -154 lines
Diff to previous 1.121 (colored) to selected 1.47 (colored)

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.121 / (download) - annotate - [select for diffs], Mon Jan 11 19:29:49 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.120: +12 -11 lines
Diff to previous 1.120 (colored) to selected 1.47 (colored)

lint: sprinkle a few const modifiers throughout the code

Revision 1.120 / (download) - annotate - [select for diffs], Sun Jan 10 18:22:52 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.119: +49 -39 lines
Diff to previous 1.119 (colored) to selected 1.47 (colored)

lint: split check_global_variable into several functions

This reduces the indentation and allows the messages in the comments to
contain the complete text instead of only an abbreviated prefix.

No functional change.

Revision 1.119 / (download) - annotate - [select for diffs], Sun Jan 10 18:13:42 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.118: +5 -2 lines
Diff to previous 1.118 (colored) to selected 1.47 (colored)

lint: fix assertion failure for syntax error in enum declaration

Revision 1.118 / (download) - annotate - [select for diffs], Sun Jan 10 14:12:48 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.117: +9 -9 lines
Diff to previous 1.117 (colored) to selected 1.47 (colored)

lint: remove redundant parentheses around return value

Revision 1.117 / (download) - annotate - [select for diffs], Sun Jan 10 14:09:57 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.116: +12 -12 lines
Diff to previous 1.116 (colored) to selected 1.47 (colored)

lint: change return type of eqptrtype to bool

Revision 1.116 / (download) - annotate - [select for diffs], Sun Jan 10 14:07:34 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.115: +14 -13 lines
Diff to previous 1.115 (colored) to selected 1.47 (colored)

lint: rename functions with short names

Revision 1.115 / (download) - annotate - [select for diffs], Sun Jan 10 13:54:13 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.114: +4 -4 lines
Diff to previous 1.114 (colored) to selected 1.47 (colored)

lint: use message 232 for unused label in function

This message had been defined but not used before.

Revision 1.114 / (download) - annotate - [select for diffs], Sun Jan 10 00:05:46 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.113: +3 -3 lines
Diff to previous 1.113 (colored) to selected 1.47 (colored)

lint: rename type classification macros

The previous names tspec_is_int and tspec_is_uint were confusing because
there are actually tspec_t constants called INT and UINT, these
classification macros return true for other integer types as well,
though.

While here, remove the prefix "tspec_" from these macros.  It wasn't as
helpful as intended, in many cases it was obviously redundant, when it
was called as tspec_is_integer(tn->tn_type->t_tspec).

No functional change.

Revision 1.113 / (download) - annotate - [select for diffs], Sat Jan 9 14:10:15 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.112: +9 -9 lines
Diff to previous 1.112 (colored) to selected 1.47 (colored)

lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.

Revision 1.112 / (download) - annotate - [select for diffs], Sat Jan 9 13:12:13 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.111: +3 -3 lines
Diff to previous 1.111 (colored) to selected 1.47 (colored)

lint: rename ename to enumeration_constant

Revision 1.111 / (download) - annotate - [select for diffs], Mon Jan 4 22:26:50 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.110: +7 -7 lines
Diff to previous 1.110 (colored) to selected 1.47 (colored)

lint: fix typos and other minor stylistic issues

Revision 1.110 / (download) - annotate - [select for diffs], Sun Jan 3 20:14:38 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.109: +21 -18 lines
Diff to previous 1.109 (colored) to selected 1.47 (colored)

lint: rename prflstrg to printflike_argnum, likewise for scflstrg

Revision 1.109 / (download) - annotate - [select for diffs], Sun Jan 3 19:15:36 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.108: +6 -6 lines
Diff to previous 1.108 (colored) to selected 1.47 (colored)

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.108 / (download) - annotate - [select for diffs], Sun Jan 3 19:10:47 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.107: +7 -7 lines
Diff to previous 1.107 (colored) to selected 1.47 (colored)

lint: rename type.t_isfield to t_bitfield

Revision 1.107 / (download) - annotate - [select for diffs], Sun Jan 3 18:48:37 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.106: +3 -3 lines
Diff to previous 1.106 (colored) to selected 1.47 (colored)

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.106 / (download) - annotate - [select for diffs], Sun Jan 3 17:42:45 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.105: +7 -6 lines
Diff to previous 1.105 (colored) to selected 1.47 (colored)

lint: let gnuism and c99ism return void instead of int

The return value was only used in a single case.  Duplicating the
condition for printing a message is ok in that case, since it makes all
other places in the code simpler.

The occasional "(void)" or "msg = " before the function call had hidden
the calls from check-msgs.lua, which didn't check the message texts in
such cases.

Revision 1.105 / (download) - annotate - [select for diffs], Sun Jan 3 17:11:19 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.104: +14 -6 lines
Diff to previous 1.104 (colored) to selected 1.47 (colored)

lint: separate error and warning for 27 and 58

Even though this results in more lines of code, the benefit is that the
message text in the comment is verified by check-msgs.lua.  The code is
also easier to read, the parentheses and asterisk were not needed.

Revision 1.104 / (download) - annotate - [select for diffs], Sun Jan 3 16:59:59 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.103: +3 -3 lines
Diff to previous 1.103 (colored) to selected 1.47 (colored)

lint: fix spelling of message 308

All other messages are lowercase as well.

Revision 1.103 / (download) - annotate - [select for diffs], Sat Jan 2 18:44:58 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.102: +6 -6 lines
Diff to previous 1.102 (colored) to selected 1.47 (colored)

lint: convert bitfieldtype_ok from int to bool

No functional change intended, except for the output in debug mode.

Revision 1.102 / (download) - annotate - [select for diffs], Sat Jan 2 18:26:44 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.101: +7 -7 lines
Diff to previous 1.101 (colored) to selected 1.47 (colored)

lint: fix lint warning 161 "constant in conditional context"

Revision 1.101 / (download) - annotate - [select for diffs], Sat Jan 2 18:06:01 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.100: +4 -4 lines
Diff to previous 1.100 (colored) to selected 1.47 (colored)

lint: add a few more tests

No serious bugs found this time.

Revision 1.100 / (download) - annotate - [select for diffs], Sat Jan 2 17:17:00 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.99: +7 -5 lines
Diff to previous 1.99 (colored) to selected 1.47 (colored)

lint: fix message 308 "Invalid type for _Complex"

Previously, lint aborted since it didn't expect tspec_name to be called
with NOTSPEC, which at that point was the only possible value of
dcs->d_cmod.

Revision 1.99 / (download) - annotate - [select for diffs], Sat Jan 2 16:33:39 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.98: +3 -3 lines
Diff to previous 1.98 (colored) to selected 1.47 (colored)

lint: allow _Bool for bit-fields

Revision 1.98 / (download) - annotate - [select for diffs], Sat Jan 2 03:49:25 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.97: +6 -11 lines
Diff to previous 1.97 (colored) to selected 1.47 (colored)

lint: fix buffer truncation for type names

Previously, most type names had been cut off after 63 significant
characters.  In some cases, 127 characters survived, or 255.  And for
the debugging messages, sometimes even 1023.  This inconsistency was
useless.

It was wrong in the first place to make the caller of the function
tyname responsible for handling the buffer.  That's not something a
caller of such a simple function should do.  These callers have better
things to do.

The API of the new function type_name is as simple as possible.

In the implementation, the name of the type is generated anew each time.
I just didn't know whether the type details could change, once the type
is initialized, and I didn't want to find out.  To be on the safe side,
the resulting type name is cached, independently of the type it was
generated for.  Using a trivial, unbalanced binary tree should be good
enough for now.

All this work is necessary to support adding new debug logging, without
being distracted by irrelevant implementation details such as these
buffer sizes.  Adding new debug messages should be fun and easy; up to
now, it was overly bureaucratic.

Revision 1.97 / (download) - annotate - [select for diffs], Fri Jan 1 14:11:20 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.96: +5 -7 lines
Diff to previous 1.96 (colored) to selected 1.47 (colored)

lint: combine duplicate case branches in popdecl

This works around GCC 9, which didn't see that the following statement
cannot terminate normally, even though 0 is obviously a constant expression
and assert_failed is marked as __attribute__((__noreturn__)).

	do {
		if (!(0))
			assert_failed(...);
	} while (0)

Revision 1.96 / (download) - annotate - [select for diffs], Fri Jan 1 13:43:34 2021 UTC (3 years, 3 months ago) by kre
Branch: MAIN
Changes since 1.95: +3 -2 lines
Diff to previous 1.95 (colored) to selected 1.47 (colored)


Build breakage fix (hopefully) - brain dead gcc.   NFCI.

Revision 1.95 / (download) - annotate - [select for diffs], Fri Jan 1 11:51:15 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.94: +2 -5 lines
Diff to previous 1.94 (colored) to selected 1.47 (colored)

lint: remove NTSPEC from enum tspec_t

The number of elements in an enumeration is not a valid enum constant of
that enumeration itself.

Revision 1.94 / (download) - annotate - [select for diffs], Fri Jan 1 11:41:01 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.93: +20 -13 lines
Diff to previous 1.93 (colored) to selected 1.47 (colored)

lint: add missing redundant messages in source code

Revision 1.93 / (download) - annotate - [select for diffs], Fri Jan 1 09:28:22 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.92: +14 -17 lines
Diff to previous 1.92 (colored) to selected 1.47 (colored)

lint: replace simple LERROR with lint_assert

Revision 1.92 / (download) - annotate - [select for diffs], Fri Jan 1 09:11:40 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.91: +39 -51 lines
Diff to previous 1.91 (colored) to selected 1.47 (colored)

lint: replace some more LERROR with lint_assert

Revision 1.91 / (download) - annotate - [select for diffs], Fri Jan 1 01:42:55 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.90: +4 -4 lines
Diff to previous 1.90 (colored) to selected 1.47 (colored)

lint: rename basic_type_name to tspec_name

The term "basic type" is precisely defined in C99 6.2.5p14, and tspec_t
is close to that, but nowhere identical.

Revision 1.90 / (download) - annotate - [select for diffs], Fri Jan 1 01:29:30 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.89: +4 -4 lines
Diff to previous 1.89 (colored) to selected 1.47 (colored)

lint: remove redundant printf arguments

Revision 1.89 / (download) - annotate - [select for diffs], Fri Jan 1 01:26:02 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.88: +4 -4 lines
Diff to previous 1.88 (colored) to selected 1.47 (colored)

lint: align comments with actual message, in the lexer and parser

Revision 1.88 / (download) - annotate - [select for diffs], Fri Jan 1 00:00:24 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.87: +23 -23 lines
Diff to previous 1.87 (colored) to selected 1.47 (colored)

lint: align comments in code with actual messages

Redundancy is bad.  Especially in this case, separating the format
strings from the actual arguments prevents the compiler from
cross-checking them.

Revision 1.87 / (download) - annotate - [select for diffs], Wed Dec 30 13:17:42 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.86: +21 -18 lines
Diff to previous 1.86 (colored) to selected 1.47 (colored)

lint: split cluparg into separate functions

That function did more than its short name could express, and the things
it did were not related in any way.

Revision 1.86 / (download) - annotate - [select for diffs], Wed Dec 30 11:56:10 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.85: +8 -8 lines
Diff to previous 1.85 (colored) to selected 1.47 (colored)

lint: spell check comments

Revision 1.85 / (download) - annotate - [select for diffs], Wed Dec 30 11:39:55 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.84: +27 -27 lines
Diff to previous 1.84 (colored) to selected 1.47 (colored)

lint: inline STRUCT_ASSIGN

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

Revision 1.84 / (download) - annotate - [select for diffs], Wed Dec 30 11:14:03 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.83: +25 -25 lines
Diff to previous 1.83 (colored) to selected 1.47 (colored)

lint: un-abbreviate s_dpos, s_spos and s_upos

Revision 1.83 / (download) - annotate - [select for diffs], Wed Dec 30 11:04:48 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.82: +10 -12 lines
Diff to previous 1.82 (colored) to selected 1.47 (colored)

lint: un-abbreviate s_field, s_keyw and s_xsym

Revision 1.82 / (download) - annotate - [select for diffs], Wed Dec 30 10:49:10 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.81: +30 -30 lines
Diff to previous 1.81 (colored) to selected 1.47 (colored)

lint: rename remaining _nxt members to _next

Revision 1.81 / (download) - annotate - [select for diffs], Wed Dec 30 10:35:38 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.80: +5 -5 lines
Diff to previous 1.80 (colored) to selected 1.47 (colored)

lint: rename symt_t constants

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

Revision 1.80 / (download) - annotate - [select for diffs], Wed Dec 30 10:26:12 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.79: +27 -27 lines
Diff to previous 1.79 (colored) to selected 1.47 (colored)

lint: rename s_nxt to s_next

Revision 1.79 / (download) - annotate - [select for diffs], Tue Dec 29 21:32:46 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.78: +8 -8 lines
Diff to previous 1.78 (colored) to selected 1.47 (colored)

lint: fix typo in comments

Revision 1.78 / (download) - annotate - [select for diffs], Tue Dec 29 17:29:31 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.77: +43 -37 lines
Diff to previous 1.77 (colored) to selected 1.47 (colored)

lint: split complete_tag into separate functions

Revision 1.77 / (download) - annotate - [select for diffs], Tue Dec 29 13:33:03 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.76: +33 -28 lines
Diff to previous 1.76 (colored) to selected 1.47 (colored)

lint: rename functions with very short names

Revision 1.76 / (download) - annotate - [select for diffs], Tue Dec 29 11:35:11 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.75: +55 -55 lines
Diff to previous 1.75 (colored) to selected 1.47 (colored)

lint: remove redundant parentheses around return value

Revision 1.75 / (download) - annotate - [select for diffs], Tue Dec 29 10:24:22 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.74: +117 -117 lines
Diff to previous 1.74 (colored) to selected 1.47 (colored)

lint: rename functions that had very short names

C99 guarantees that the first 31 characters of an identifier with
external linkage are significant.  This removes the need to use
abbreviations for common words.

Revision 1.74 / (download) - annotate - [select for diffs], Mon Dec 28 22:31:31 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.73: +12 -17 lines
Diff to previous 1.73 (colored) to selected 1.47 (colored)

lint: rename confusing function setcompl

The previous function name suggested that it would set the complete flag
of the type, but it was the exact opposite.  To reduce confusion, negate
the meaning of the parameter.

Revision 1.73 / (download) - annotate - [select for diffs], Mon Dec 28 21:24:55 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.72: +49 -55 lines
Diff to previous 1.72 (colored) to selected 1.47 (colored)

lint: spell check

Revision 1.72 / (download) - annotate - [select for diffs], Mon Dec 28 18:49:02 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored) to selected 1.47 (colored)

lint: rename tspec macros

Revision 1.71 / (download) - annotate - [select for diffs], Tue Jun 2 21:10:07 2020 UTC (3 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored) to selected 1.47 (colored)

Fix return of alignof()

Revision 1.68.12.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:10:26 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.68: +8 -2 lines
Diff to previous 1.68 (colored) next main 1.69 (colored) to selected 1.47 (colored)

Sync with HEAD

Revision 1.70 / (download) - annotate - [select for diffs], Mon Mar 4 17:45:16 2019 UTC (5 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, 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
Changes since 1.69: +4 -2 lines
Diff to previous 1.69 (colored) to selected 1.47 (colored)

Add __thread/tls_model attribute

Revision 1.68.10.1 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:59 2018 UTC (5 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.68: +6 -2 lines
Diff to previous 1.68 (colored) next main 1.69 (colored) to selected 1.47 (colored)

Ssync with HEAD

Revision 1.69 / (download) - annotate - [select for diffs], Fri Sep 7 15:16:15 2018 UTC (5 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930
Changes since 1.68: +6 -2 lines
Diff to previous 1.68 (colored) to selected 1.47 (colored)

recognize int128

Revision 1.67.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:16 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.67: +9 -3 lines
Diff to previous 1.67 (colored) next main 1.68 (colored) to selected 1.47 (colored)

Sync with HEAD

Revision 1.61.2.4 / (download) - annotate - [select for diffs], Mon Mar 20 06:58:06 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.61.2.3: +9 -3 lines
Diff to previous 1.61.2.3 (colored) to branchpoint 1.61 (colored) next main 1.62 (colored) to selected 1.47 (colored)

Sync with HEAD

Revision 1.68 / (download) - annotate - [select for diffs], Mon Mar 6 23:04:52 2017 UTC (7 years, 1 month ago) by christos
Branch: 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-compat-base, 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, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, 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
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.67: +9 -3 lines
Diff to previous 1.67 (colored) to selected 1.47 (colored)

Accept PTR for addtype

Revision 1.61.2.3 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:59 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.61.2.2: +9 -2 lines
Diff to previous 1.61.2.2 (colored) to branchpoint 1.61 (colored) to selected 1.47 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.67 / (download) - annotate - [select for diffs], Tue Dec 27 21:52:35 2016 UTC (7 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.66: +9 -2 lines
Diff to previous 1.66 (colored) to selected 1.47 (colored)

teach lint __attribute__((__unused__))

Revision 1.61.2.2 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:26 2016 UTC (7 years, 5 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.61.2.1: +3 -3 lines
Diff to previous 1.61.2.1 (colored) to branchpoint 1.61 (colored) to selected 1.47 (colored)

Sync with HEAD

Revision 1.66 / (download) - annotate - [select for diffs], Thu Nov 3 22:08:30 2016 UTC (7 years, 5 months ago) by kamil
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104
Changes since 1.65: +3 -3 lines
Diff to previous 1.65 (colored) to selected 1.47 (colored)

Prefer modern simple past tense and past participle of catch

The "catched" form is obsolete and nonstandard, prefer "caught".

Revision 1.65 / (download) - annotate - [select for diffs], Tue Aug 23 16:42:55 2016 UTC (7 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: localcount-20160914
Changes since 1.64: +19 -10 lines
Diff to previous 1.64 (colored) to selected 1.47 (colored)

compute anonymous bitfield sizes properly.

Revision 1.64 / (download) - annotate - [select for diffs], Fri Aug 19 11:51:27 2016 UTC (7 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.63: +4 -5 lines
Diff to previous 1.63 (colored) to selected 1.47 (colored)

Don't warn about empty structs twice.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Aug 18 14:43:31 2016 UTC (7 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.62: +20 -16 lines
Diff to previous 1.62 (colored) to selected 1.47 (colored)

- handle sizes of structs/unions with anon members
- handle structs/unions with only anon members

Revision 1.61.2.1 / (download) - annotate - [select for diffs], Sat Aug 6 00:19:12 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.61: +3 -3 lines
Diff to previous 1.61 (colored) to selected 1.47 (colored)

Sync with HEAD

Revision 1.62 / (download) - annotate - [select for diffs], Sun Jul 31 22:36:53 2016 UTC (7 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: pgoyette-localcount-20160806
Changes since 1.61: +3 -3 lines
Diff to previous 1.61 (colored) to selected 1.47 (colored)

typo in comment

Revision 1.61 / (download) - annotate - [select for diffs], Sat Jan 2 17:44:21 2016 UTC (8 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160726
Branch point for: pgoyette-localcount
Changes since 1.60: +3 -3 lines
Diff to previous 1.60 (colored) to selected 1.47 (colored)

print the length on error.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Oct 13 20:25:21 2015 UTC (8 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.59: +5 -2 lines
Diff to previous 1.59 (colored) to selected 1.47 (colored)

handle anonymous struct/union members.

Revision 1.54.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:05:06 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.54.2.2: +3 -2 lines
Diff to previous 1.54.2.2 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored) to selected 1.47 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.58.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:59:20 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.58: +4 -3 lines
Diff to previous 1.58 (colored) next main 1.59 (colored) to selected 1.47 (colored)

Rebase.

Revision 1.53.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:42:52 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.1: +16 -14 lines
Diff to previous 1.53.2.1 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored) to selected 1.47 (colored)

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.59 / (download) - annotate - [select for diffs], Fri Apr 18 00:20:37 2014 UTC (10 years ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, 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
Changes since 1.58: +4 -3 lines
Diff to previous 1.58 (colored) to selected 1.47 (colored)

handle LDOUBLE

Revision 1.58 / (download) - annotate - [select for diffs], Sun Dec 15 03:43:37 2013 UTC (10 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored) to selected 1.47 (colored)

downgrade illegal bitfield from error to warning so we can ignore it.

Revision 1.54.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:29:02 2013 UTC (10 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.54.2.1: +12 -11 lines
Diff to previous 1.54.2.1 (colored) to branchpoint 1.54 (colored) to selected 1.47 (colored)

resync from head

Revision 1.57 / (download) - annotate - [select for diffs], Fri Apr 19 18:51:14 2013 UTC (11 years ago) by christos
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Changes since 1.56: +4 -4 lines
Diff to previous 1.56 (colored) to selected 1.47 (colored)

make NOSTRICT behave the same a LINTED; use the new format.

Revision 1.56 / (download) - annotate - [select for diffs], Fri Apr 19 17:43:05 2013 UTC (11 years ago) by christos
Branch: MAIN
Changes since 1.55: +10 -9 lines
Diff to previous 1.55 (colored) to selected 1.47 (colored)

Allow linted comments to take an argument that defines which error to suppress.

Revision 1.54.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:30:41 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.54: +3 -3 lines
Diff to previous 1.54 (colored) to selected 1.47 (colored)

resync with head

Revision 1.55 / (download) - annotate - [select for diffs], Sun Feb 17 01:26:19 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: agc-symver-base, agc-symver
Changes since 1.54: +3 -3 lines
Diff to previous 1.54 (colored) to selected 1.47 (colored)

rename enum_t to avoid rpc/types.h lossage.

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:09:44 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored) to selected 1.47 (colored)

sync with head

Revision 1.54 / (download) - annotate - [select for diffs], Tue Mar 27 19:24:03 2012 UTC (12 years ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4
Branch point for: tls-maxphys
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored) to selected 1.47 (colored)

more cross lint friendlyness
XXX: needs more constants converted double/float

Revision 1.53 / (download) - annotate - [select for diffs], Fri Jun 24 01:10:31 2011 UTC (12 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: 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
Changes since 1.52: +6 -6 lines
Diff to previous 1.52 (colored) to selected 1.47 (colored)

Always use our own align macro and explain a bit more why this is bogus.

Revision 1.52 / (download) - annotate - [select for diffs], Tue May 24 12:49:11 2011 UTC (12 years, 10 months ago) by joerg
Branch: MAIN
CVS Tags: cherry-xenmp-base, cherry-xenmp
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored) to selected 1.47 (colored)

Fix format string usage

Revision 1.51 / (download) - annotate - [select for diffs], Fri Oct 2 21:49:30 2009 UTC (14 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: matt-premerge-20091211, matt-mips64-premerge-20101231, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.50: +17 -10 lines
Diff to previous 1.50 (colored) to selected 1.47 (colored)

handle bit fields in packed structures.

Revision 1.50 / (download) - annotate - [select for diffs], Fri Oct 2 21:04:03 2009 UTC (14 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.49: +7 -5 lines
Diff to previous 1.49 (colored) to selected 1.47 (colored)

compute sizes by the new tsize() function.

Revision 1.49 / (download) - annotate - [select for diffs], Fri Oct 2 20:45:06 2009 UTC (14 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.48: +9 -6 lines
Diff to previous 1.48 (colored) to selected 1.47 (colored)

fix typedef struct __packed

Revision 1.48 / (download) - annotate - [select for diffs], Fri Oct 2 19:01:13 2009 UTC (14 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.47: +18 -12 lines
Diff to previous 1.47 (colored)

recognize struct __packed x { }; in addition to struct x { } __packed;

Revision 1.47 / (download) - annotate - [selected], Fri Oct 2 15:03:45 2009 UTC (14 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.46: +41 -7 lines
Diff to previous 1.46 (colored)

understand __attribute__((__packed__)) and __packed.

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Wed May 13 19:20:13 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.44: +31 -9 lines
Diff to previous 1.44 (colored) next main 1.45 (colored) to selected 1.47 (colored)

Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html

Revision 1.46 / (download) - annotate - [select for diffs], Wed Apr 15 01:20:57 2009 UTC (15 years ago) by christos
Branch: MAIN
CVS Tags: jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.45: +4 -4 lines
Diff to previous 1.45 (colored) to selected 1.47 (colored)

Lukemify (WARNS=4)

Revision 1.45 / (download) - annotate - [select for diffs], Mon Mar 2 20:53:10 2009 UTC (15 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.44: +29 -7 lines
Diff to previous 1.44 (colored) to selected 1.47 (colored)

Don't produce type mismatch warnings if one side of ?: is "[qual] void *"
and the other side is "[qual] pointer".

Revision 1.44 / (download) - annotate - [select for diffs], Sun Nov 16 07:06:37 2008 UTC (15 years, 5 months ago) by dholland
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.43: +37 -37 lines
Diff to previous 1.43 (colored) to selected 1.47 (colored)

WARNS=4

Revision 1.43 / (download) - annotate - [select for diffs], Sat Sep 27 20:04:24 2008 UTC (15 years, 6 months ago) by dholland
Branch: MAIN
CVS Tags: 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
Changes since 1.42: +5 -4 lines
Diff to previous 1.42 (colored) to selected 1.47 (colored)

Don't accidentally treat "long double" as "long". PR bin/39639.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Sep 26 22:52:24 2008 UTC (15 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.41: +22 -8 lines
Diff to previous 1.41 (colored) to selected 1.47 (colored)

Teach lint about long double _Complex (C99)

Revision 1.38.16.1 / (download) - annotate - [select for diffs], Sun May 18 12:36:11 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.38: +43 -10 lines
Diff to previous 1.38 (colored) next main 1.39 (colored) to selected 1.47 (colored)

sync with head.

Revision 1.41 / (download) - annotate - [select for diffs], Sun Apr 27 00:13:58 2008 UTC (15 years, 11 months ago) by christos
Branch: 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, hpcarm-cleanup-nbase
Changes since 1.40: +3 -3 lines
Diff to previous 1.40 (colored) to selected 1.47 (colored)

reorder a couple of error messages.

Revision 1.40 / (download) - annotate - [select for diffs], Sat Apr 26 16:14:23 2008 UTC (15 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.39: +11 -5 lines
Diff to previous 1.39 (colored) to selected 1.47 (colored)

fix "long double" type recognition which broke with the complex changes.

Revision 1.39 / (download) - annotate - [select for diffs], Fri Apr 25 22:18:34 2008 UTC (15 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.38: +37 -10 lines
Diff to previous 1.38 (colored) to selected 1.47 (colored)

preliminary _Complex support.
NB: Does not really understand type conversions between complex and doubles.

Revision 1.38 / (download) - annotate - [select for diffs], Wed Nov 8 18:31:15 2006 UTC (17 years, 5 months ago) by christos
Branch: 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
Branch point for: yamt-pf42
Changes since 1.37: +9 -3 lines
Diff to previous 1.37 (colored) to selected 1.47 (colored)

- add debugging to track nowarns
- make /*LINTED*/ take effect on unused functions

Revision 1.37 / (download) - annotate - [select for diffs], Mon Oct 23 00:15:58 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.36: +3 -3 lines
Diff to previous 1.36 (colored) to selected 1.47 (colored)

allow 0 sized structs in c9x

Revision 1.36 / (download) - annotate - [select for diffs], Mon Oct 23 00:10:29 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.35: +8 -8 lines
Diff to previous 1.35 (colored) to selected 1.47 (colored)

add zero sized array handling. It is a little too chatty now.

Revision 1.35 / (download) - annotate - [select for diffs], Thu Jul 13 17:49:29 2006 UTC (17 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored) to selected 1.47 (colored)

flex arrays are a c9x feature.

Revision 1.34 / (download) - annotate - [select for diffs], Sun Sep 12 08:58:52 2004 UTC (19 years, 7 months ago) by yamt
Branch: 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, chap-midi-nbase, chap-midi-base, chap-midi
Changes since 1.33: +9 -5 lines
Diff to previous 1.33 (colored) to selected 1.47 (colored)

recognize _Bool.

Revision 1.32.2.1 / (download) - annotate - [select for diffs], Tue Jun 22 07:23:02 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
CVS Tags: 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-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
Changes since 1.32: +6 -2 lines
Diff to previous 1.32 (colored) next main 1.33 (colored) to selected 1.47 (colored)

Pull up revision 1.33 (requested by jmc in ticket #527):
Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')
Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).
Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.
Fixes PR's: PR#17762 PR#25944

Revision 1.33 / (download) - annotate - [select for diffs], Sun Jun 20 22:20:16 2004 UTC (19 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.32: +6 -2 lines
Diff to previous 1.32 (colored) to selected 1.47 (colored)

Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944

Revision 1.32 / (download) - annotate - [select for diffs], Sat Nov 2 20:10:16 2002 UTC (21 years, 5 months ago) by perry
Branch: MAIN
CVS Tags: netbsd-2-0-base, fvdl_fs64_base
Branch point for: netbsd-2-0
Changes since 1.31: +3 -3 lines
Diff to previous 1.31 (colored) to selected 1.47 (colored)

Make long long a c99ism, not a gnuism.

Revision 1.31 / (download) - annotate - [select for diffs], Fri Sep 13 14:59:24 2002 UTC (21 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.30: +37 -35 lines
Diff to previous 1.30 (colored) to selected 1.47 (colored)

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.30 / (download) - annotate - [select for diffs], Thu Jan 31 19:36:53 2002 UTC (22 years, 2 months ago) by tv
Branch: 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
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored) to selected 1.47 (colored)

Protect __RCSID and __COPYRIGHT from being invoked if not defined.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Jan 18 21:01:39 2002 UTC (22 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.28: +4 -86 lines
Diff to previous 1.28 (colored) to selected 1.47 (colored)

Centralize the initialization/declaration of the ttab.

Revision 1.28 / (download) - annotate - [select for diffs], Thu Jan 3 05:37:39 2002 UTC (22 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.27: +5 -2 lines
Diff to previous 1.27 (colored) to selected 1.47 (colored)

Make sure the tspec_t enum starts at 0, and declare NTSPEC in
the enum proper.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Jan 3 05:26:53 2002 UTC (22 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.26: +5 -7 lines
Diff to previous 1.26 (colored) to selected 1.47 (colored)

Simplify test for integer types in the BITFIELDTYPE handling path.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Jan 3 04:25:14 2002 UTC (22 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.25: +48 -27 lines
Diff to previous 1.25 (colored) to selected 1.47 (colored)

* Add header files (ilp32.h and lp64.h) that describe the two
  models of type sizes that we currently support, and include
  the appropriate one in each arch's targparam.h.
* Use the type size constants provided by targparam.h in the
  type table, rather than using "sizeof(type) * CHAR_BIT" (which
  would get the host's type size, not the target's).  XXX Not
  yet done for floating point types.
* Add a new BITFIELDTYPE lint comment that suppresses illegal
  bitfield type errors if the type is an integer type (e.g.
  long, long long), and also suppresses non-portable bitfield
  type warnings.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Nov 21 19:14:25 2001 UTC (22 years, 5 months ago) by wiz
Branch: MAIN
Changes since 1.24: +4 -4 lines
Diff to previous 1.24 (colored) to selected 1.47 (colored)

"than" instead of "then".

Revision 1.24 / (download) - annotate - [select for diffs], Sun Sep 16 16:34:43 2001 UTC (22 years, 7 months ago) by wiz
Branch: MAIN
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored) to selected 1.47 (colored)

Spell 'occurred' with two 'r's.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jul 26 15:05:10 2001 UTC (22 years, 8 months ago) by wiz
Branch: MAIN
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored) to selected 1.47 (colored)

Various typos in comments (neccessary, sceme, choise, ...).

Revision 1.22 / (download) - annotate - [select for diffs], Mon May 28 12:40:37 2001 UTC (22 years, 10 months ago) by lukem
Branch: MAIN
Changes since 1.21: +124 -185 lines
Diff to previous 1.21 (colored) to selected 1.47 (colored)

cleanup (prior to more adding more features):
- convert to ANSI KNF
- remove trailing whitespace
- translate some comments from german into english

code compiles and runs clean, and tested by running "make lint" against
xlint source using previous and this lint produces same results.

Revision 1.21 / (download) - annotate - [select for diffs], Thu May 24 11:56:36 2001 UTC (22 years, 10 months ago) by lukem
Branch: MAIN
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored) to selected 1.47 (colored)

minor whitespace/knf

Revision 1.20 / (download) - annotate - [select for diffs], Sat May 19 17:19:00 2001 UTC (22 years, 11 months ago) by sommerfeld
Branch: MAIN
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored) to selected 1.47 (colored)

Change type of anonymous bitfield pads so that lint -p no longer generates a
portability warning.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Feb 24 00:43:50 2001 UTC (23 years, 1 month ago) by cgd
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) to selected 1.47 (colored)

fix broken NetBSD RCS id tags

Revision 1.18 / (download) - annotate - [select for diffs], Wed Jul 5 22:50:59 2000 UTC (23 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.17: +18 -6 lines
Diff to previous 1.17 (colored) to selected 1.47 (colored)

Prevent lint1 from coredumping on invalid c code such as:

    foo((sockaddr *(void *))0);

This fix is imperfect, because right now we just check the subtype
chains for NULL and we return to the caller when the loop ends, leaving
the upper layers to cope with the syntax error. Ideally we should:

	a.) return an error to the upper layer, or
	b.) not call the type analysis routines in the presence of a syntax
	    error.

That would require a significant re-write which would take much more time
than I have...

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Fri Jun 23 16:40:17 2000 UTC (23 years, 9 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.16: +1 -1 lines
Diff to previous 1.16 (colored) next main 1.17 (colored) to selected 1.47 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Jun 14 06:49:22 2000 UTC (23 years, 10 months ago) by cgd
Branch: 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
Changes since 1.16: +1 -1 lines
Diff to previous 1.16 (colored) to selected 1.47 (colored)

fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well.  No functional changes.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Mar 13 23:22:53 2000 UTC (24 years, 1 month ago) by soren
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored) to selected 1.47 (colored)

Fix doubled 'the's.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Jul 27 13:50:46 1998 UTC (25 years, 8 months ago) by mycroft
Branch: 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, comdex-fall-1999-base, comdex-fall-1999
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored) to selected 1.47 (colored)

Fix a recurring typo: comparision -> comparison.

Revision 1.14 / (download) - annotate - [select for diffs], Mon Jul 27 12:10:22 1998 UTC (25 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored) to selected 1.47 (colored)

Fix uses of uninitialized memory, and incorrect types for initializers.
From ITOH Yasufumi, PR 5861.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Feb 22 15:40:39 1998 UTC (26 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.12: +28 -5 lines
Diff to previous 1.12 (colored) to selected 1.47 (colored)

WARNSify

Revision 1.12 / (download) - annotate - [select for diffs], Sun Dec 22 11:31:05 1996 UTC (27 years, 4 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-3-base, 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, netbsd-1-3
Changes since 1.11: +6 -5 lines
Diff to previous 1.11 (colored) to selected 1.47 (colored)

* 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.11 / (download) - annotate - [select for diffs], Mon Oct 2 17:34:16 1995 UTC (28 years, 6 months ago) by jpo
Branch: 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
Changes since 1.10: +2 -4 lines
Diff to previous 1.10 (colored) to selected 1.47 (colored)

no need to print a warning about inline keywords
"inline" is a valid keyword only with -g, and "__inline" is always
a valid keyword

Revision 1.10 / (download) - annotate - [select for diffs], Mon Oct 2 17:31:37 1995 UTC (28 years, 6 months ago) by jpo
Branch: MAIN
Changes since 1.9: +51 -16 lines
Diff to previous 1.9 (colored) to selected 1.47 (colored)

don't print warnings about unused variables or arguments in compound
statements which contain asm statements.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Oct 2 17:29:48 1995 UTC (28 years, 6 months ago) by jpo
Branch: MAIN
Changes since 1.8: +9 -8 lines
Diff to previous 1.8 (colored) to selected 1.47 (colored)

LINTED and CONSTCOND are now valid up to the next end of a
global or local declaration/definition/statement. Originally they were
valid on the current and next line, which made it hard to suppress
warnings in constructs with more then one line.

LONGLONG can now be used to suppress errors or warnings in the next
declaration, definition or statement.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Oct 2 17:26:54 1995 UTC (28 years, 6 months ago) by jpo
Branch: MAIN
Changes since 1.7: +2 -4 lines
Diff to previous 1.7 (colored) to selected 1.47 (colored)

support asm statements and asm modifiers in declarations

asm statements consist of an asm keyword, an optional qualifier, a
left paren, a list of tokens up to and including the matching right
paren, and a semicolon.

asm modifiers consist of an asm keyword, an left paren, a string and a
right paren.

asm statements and modifiers have no semantic for lint(1), they exist only
to avoid complaints about them.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Oct 2 17:22:46 1995 UTC (28 years, 6 months ago) by jpo
Branch: MAIN
Changes since 1.6: +15 -6 lines
Diff to previous 1.6 (colored) to selected 1.47 (colored)

some minor bug fixes

Revision 1.6 / (download) - annotate - [select for diffs], Mon Oct 2 17:21:24 1995 UTC (28 years, 6 months ago) by jpo
Branch: MAIN
Changes since 1.5: +82 -86 lines
Diff to previous 1.5 (colored) to selected 1.47 (colored)

prototypes override old style function definitions
this is a gnu extension to ansi c

Revision 1.5 / (download) - annotate - [select for diffs], Mon Oct 2 17:18:57 1995 UTC (28 years, 6 months ago) by jpo
Branch: MAIN
Changes since 1.4: +5 -15 lines
Diff to previous 1.4 (colored) to selected 1.47 (colored)

__{const,signed,volatile}{__,} added
const, signed and volatile are disabled with -t

Revision 1.4 / (download) - annotate - [select for diffs], Mon Oct 2 17:14:11 1995 UTC (28 years, 6 months ago) by jpo
Branch: MAIN
Changes since 1.3: +101 -61 lines
Diff to previous 1.3 (colored) to selected 1.47 (colored)

added inline keywords
"inline" is enabled by -g, "__inline" and "__inline__" are always available

Revision 1.3 / (download) - annotate - [select for diffs], Mon Oct 2 17:08:36 1995 UTC (28 years, 6 months ago) by jpo
Branch: MAIN
Changes since 1.2: +180 -178 lines
Diff to previous 1.2 (colored) to selected 1.47 (colored)

prefixed members of dinfo_t with 'd_'

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jul 3 21:23:58 1995 UTC (28 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored) to selected 1.47 (colored)

RCS id cleanup

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Mon Jul 3 20:56:36 1995 UTC (28 years, 9 months ago) by cgd
Branch: Jochen_Pohl
CVS Tags: Jochen_Pohl-950703
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored) to selected 1.47 (colored)

lint(1) implementation, by Jochen Pohl.  named 'xlint' for a similar
reason to why 'install' is named 'xinstall'.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Jul 3 20:56:36 1995 UTC (28 years, 9 months ago) by cgd
Branch: MAIN
Diff to selected 1.47 (colored)

Initial revision

This form allows you to request diff's 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.




CVSweb <webmaster@jp.NetBSD.org>