The NetBSD Project

CVS log for src/tests/usr.bin/xlint/lint1/msg_168.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.13 / (download) - annotate - [select for diffs], Sat Mar 30 17:12:26 2024 UTC (13 days, 20 hours ago) by rillig
Branch: MAIN
CVS Tags: HEAD
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

lint: do not convert array subscripts from size_t to ptrdiff_t

The C standards do not specify a fixed type for an array subscript, it
just has to be an integer type.  Previously, query 4 fired for the
ubiquitous expression 'ptr[sz]' when sz had type 'size_t'.

The test platform_ilp32_long is unaffected by this change, as the
integer constant 0x80000000 has type 'unsigned int', while size_t is
'unsigned long' on those platforms, and even though the types 'unsigned
int' and 'unsigned long' have the same value space, there's still a
conversion, at least for now.

Revision 1.12 / (download) - annotate - [select for diffs], Sat Mar 30 16:47:45 2024 UTC (13 days, 20 hours ago) by rillig
Branch: MAIN
Changes since 1.11: +4 -4 lines
Diff to previous 1.11 (colored)

lint: reword messages about array subscripts to sound more natural

Revision 1.11 / (download) - annotate - [select for diffs], Wed Mar 27 19:28:20 2024 UTC (2 weeks, 2 days ago) by rillig
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

lint: don't use 'long' in diagnostics

The size of 'long' differs between 64-bit and 32-bit platforms.
Eliminate this possible platform-dependency.

Revision 1.10 / (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.9: +3 -1 lines
Diff to previous 1.9 (colored)

lint: warn about extern declarations outside headers

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

Revision 1.9 / (download) - annotate - [select for diffs], Thu Jun 16 16:58:36 2022 UTC (21 months, 4 weeks ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10
Changes since 1.8: +5 -3 lines
Diff to previous 1.8 (colored)

tests/lint: make expectation lines in the tests more detailed

This commit migrates msg_100 until msg_199.

Revision 1.8 / (download) - annotate - [select for diffs], Mon May 30 08:51:08 2022 UTC (22 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.7: +24 -1 lines
Diff to previous 1.7 (colored)

tests/lint: explain how lint represents pointer addition

Revision 1.7 / (download) - annotate - [select for diffs], Mon May 30 08:14:53 2022 UTC (22 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.6: +1 -5 lines
Diff to previous 1.6 (colored)

lint: revert 'do not pre-multiply pointer expressions' from 2022-05-26

In tree.c 1.448, removing the pre-multiplication generated wrong
warnings about out-of-bounds array access.

Revision 1.6 / (download) - annotate - [select for diffs], Mon May 30 08:04:00 2022 UTC (22 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.5: +26 -1 lines
Diff to previous 1.5 (colored)

tests/lint: demonstrate wrong warning 'array subscript cannot be'

Since tree.c 1.448 from 2022-05-26.

Revision 1.5 / (download) - annotate - [select for diffs], Thu Mar 25 22:53:05 2021 UTC (3 years ago) by rillig
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

lint: fix initialization for arrays with designators

From the previous commit, there was an off-by-one error left, which was
due to the interaction between designation_add_subscript and
extend_if_array_of_unknown_size.

The other crucial point was to call initstack_pop_nobrace before
accessing the "current initialization stack element".  Without this
call, in msg_168.c the "current element" would point to the initializer
level for 'const char *' instead of the one for 'array of const char *'.

One more step towards supporting C99.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Mar 25 22:15:38 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

lint: improve initialization of arrays with designators

Initialization is still buggy but better than before.  The remaining bug
is that only the first designator determines the array size, and after
that, the array is no longer considered of unknown size.  This
contradicts C99.  More improvements to come.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Mar 7 16:40:20 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.2: +14 -1 lines
Diff to previous 1.2 (colored)

tests/lint: demonstrate wrong warning for array subscript

Seen in usr.bin/indent/lexi.c.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Jan 24 16:12:45 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.1: +25 -3 lines
Diff to previous 1.1 (colored)

lint: add tests for a few messages

Revision 1.1 / (download) - annotate - [select for diffs], Sat Jan 2 10:22:43 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN

lint: add a test for each message produced by lint1

Having a test for each message ensures that upcoming refactorings don't
break the basic functionality.  Adding the tests will also discover
previously unknown bugs in lint.

The tests ensure that every lint message can actually be triggered, and
they demonstrate how to do so.  Having a separate file for each test
leaves enough space for documenting historical anecdotes, rationale or
edge cases, keeping them away from the source code.

The interesting details of this commit are in Makefile and
t_integration.sh.  All other files are just auto-generated.

When running the tests as part of ATF, they are packed together as a
single test case.  Conceptually, it would have been better to have each
test as a separate test case, but ATF quickly becomes very slow as soon
as a test program defines too many test cases, and 50 is already too
many.  The time complexity is O(n^2), not O(n) as one would expect.
It's the same problem as in tests/usr.bin/make, which has over 300 test
cases as well.

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>