<feed xmlns='http://www.w3.org/2005/Atom'>
<title>netbsd/tests/usr.bin/xlint/lint1/d_gcc_compound_statements2.c, branch trunk</title>
<subtitle>NetBSD fork for lockdoc analysis</subtitle>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/'/>
<entry>
<title>lint: warn about function definitions without header declaration</title>
<updated>2023-07-07T19:45:22+00:00</updated>
<author>
<name>rillig</name>
<email>rillig@NetBSD.org</email>
</author>
<published>2023-07-07T19:45:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=4175df945b048e5aeed932baf36d22ba89310121'/>
<id>4175df945b048e5aeed932baf36d22ba89310121</id>
<content type='text'>
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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.</pre>
</div>
</content>
</entry>
<entry>
<title>lint: fix memory corruption in statement expressions (since 2021-12-17)</title>
<updated>2022-02-26T20:36:11+00:00</updated>
<author>
<name>rillig</name>
<email>rillig@NetBSD.org</email>
</author>
<published>2022-02-26T20:36:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=9e9d83c78b4f9218be92c6f326c78821e46cc50f'/>
<id>9e9d83c78b4f9218be92c6f326c78821e46cc50f</id>
<content type='text'>
The commit that introduced the assertion failure looks innocent, it only
adds a few predefined functions for GCC mode.  Nevertheless, before that
commit, lint consistently complained about 'error: void type illegal in
expression [109]', which doesn't make sense either.

This fix also removes the creative use of the initialization stack to
store the type of the statement expression.  Having a separate stack for
these statement expressions makes the code easier to understand.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The commit that introduced the assertion failure looks innocent, it only
adds a few predefined functions for GCC mode.  Nevertheless, before that
commit, lint consistently complained about 'error: void type illegal in
expression [109]', which doesn't make sense either.

This fix also removes the creative use of the initialization stack to
store the type of the statement expression.  Having a separate stack for
these statement expressions makes the code easier to understand.</pre>
</div>
</content>
</entry>
<entry>
<title>lint: replace space followed by tab with simply tab</title>
<updated>2021-09-10T20:02:50+00:00</updated>
<author>
<name>rillig</name>
<email>rillig@NetBSD.org</email>
</author>
<published>2021-09-10T20:02:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=4ed562be3bd94ba6638e732781190045698ac8e7'/>
<id>4ed562be3bd94ba6638e732781190045698ac8e7</id>
<content type='text'>
No functional change.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No functional change.</pre>
</div>
</content>
</entry>
<entry>
<title>tests/lint: test GCC compound expression without declaration</title>
<updated>2021-04-23T20:13:29+00:00</updated>
<author>
<name>rillig</name>
<email>rillig@NetBSD.org</email>
</author>
<published>2021-04-23T20:13:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=5eb78aa36cb0b3f432f9091acdbfc20145dbdac3'/>
<id>5eb78aa36cb0b3f432f9091acdbfc20145dbdac3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>lint: add common header for all tests</title>
<updated>2021-01-31T14:39:31+00:00</updated>
<author>
<name>rillig</name>
<email>rillig@NetBSD.org</email>
</author>
<published>2021-01-31T14:39:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=dfb613a29df3e6c8e5b2b1dafb2c995d5c48d62c'/>
<id>dfb613a29df3e6c8e5b2b1dafb2c995d5c48d62c</id>
<content type='text'>
For those tests that didn't use GCC-style line markers such as "# 2",
the line numbers of the diagnostics stay the same.  This is purely
conincidental.  Before, the 3 lines came from lint's built-in
definitions (see 'builtins' in main1.c), and line number counting
continued as if nothing had happened, making the first line of the
actual file line 4.  These 3 built-in lines are now replaced with 3
lines of file header.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For those tests that didn't use GCC-style line markers such as "# 2",
the line numbers of the diagnostics stay the same.  This is purely
conincidental.  Before, the 3 lines came from lint's built-in
definitions (see 'builtins' in main1.c), and line number counting
continued as if nothing had happened, making the first line of the
actual file line 4.  These 3 built-in lines are now replaced with 3
lines of file header.</pre>
</div>
</content>
</entry>
<entry>
<title>Deprecate tests/util.</title>
<updated>2012-03-17T16:33:10+00:00</updated>
<author>
<name>jruoho</name>
<email>jruoho@NetBSD.org</email>
</author>
<published>2012-03-17T16:33:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=e592667b95b63d6acc5c8661e5741dad44e1f333'/>
<id>e592667b95b63d6acc5c8661e5741dad44e1f333</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
