#
1.8 |
|
01-May-2024 |
rillig |
lint: fix size of struct with large alignment
Lint now successfully passes all compile-time assertions in the amd64 kernel that deal with struct sizes.
|
#
1.7 |
|
01-May-2024 |
rillig |
lint: support _Alignas and __attribute__((__aligned(4)))
|
#
1.6 |
|
07-Jul-2023 |
rillig |
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 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 netbsd-10-base
|
#
1.5 |
|
27-Aug-2022 |
rillig |
tests/lint: add more information to test for __attribute__((aligned))
Declaring an array type having a negative dimension is the simplest way to embed an integer into a lint diagnostic, thereby revealing what size and alignment lint has calculated for a struct.
While here, move these "compile-time assertions" closer to their corresponding struct, to make reading easier.
|
#
1.4 |
|
27-Aug-2022 |
rillig |
tests/lint: add another test for aligned struct member
In the kernel, several structs have this attribute, and running lint on them runs into a compile-time assertion. Typical error messages are:
* error: illegal bit-field size: 255 [36] * error: integral constant expression expected [55]
|
#
1.3 |
|
17-Jun-2022 |
rillig |
tests/lint: make 'expect+-' comments stricter
Previously, the expectations from these comments were already satisfied if the expectation occurred somewhere in the actual message from lint. This meant that the prefix 'error:' or 'warning:' could be omitted from the 'expect' comment. These omissions were hard to see in a manual review. Now any omissions must be visually marked with '...'.
The test msg_342 now reports its messages properly as being in the file msg_342.c, rather than msg_341.c. This had been a copy-and-paste mistake.
|
#
1.2 |
|
15-Jan-2022 |
rillig |
tests/lint: expect complete messages in feature tests
Previously, the tests contained many comments like /* expect: 123 */, which were useless to a casual reader since nobody is expected to learn lint's message IDs by heart. Replace these with the complete diagnostics, to show what lint is complaining about.
The tests named msg_*.c have been left unmodified since they mention the full message text in their header comment.
No functional change.
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
#
1.1 |
|
02-May-2021 |
rillig |
tests/lint: demonstrate missing support for __packed __aligned
|
#
1.6 |
|
07-Jul-2023 |
rillig |
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 tags: netbsd-10-base
|
#
1.5 |
|
27-Aug-2022 |
rillig |
tests/lint: add more information to test for __attribute__((aligned))
Declaring an array type having a negative dimension is the simplest way to embed an integer into a lint diagnostic, thereby revealing what size and alignment lint has calculated for a struct.
While here, move these "compile-time assertions" closer to their corresponding struct, to make reading easier.
|
#
1.4 |
|
27-Aug-2022 |
rillig |
tests/lint: add another test for aligned struct member
In the kernel, several structs have this attribute, and running lint on them runs into a compile-time assertion. Typical error messages are:
* error: illegal bit-field size: 255 [36] * error: integral constant expression expected [55]
|
#
1.3 |
|
17-Jun-2022 |
rillig |
tests/lint: make 'expect+-' comments stricter
Previously, the expectations from these comments were already satisfied if the expectation occurred somewhere in the actual message from lint. This meant that the prefix 'error:' or 'warning:' could be omitted from the 'expect' comment. These omissions were hard to see in a manual review. Now any omissions must be visually marked with '...'.
The test msg_342 now reports its messages properly as being in the file msg_342.c, rather than msg_341.c. This had been a copy-and-paste mistake.
|
#
1.2 |
|
15-Jan-2022 |
rillig |
tests/lint: expect complete messages in feature tests
Previously, the tests contained many comments like /* expect: 123 */, which were useless to a casual reader since nobody is expected to learn lint's message IDs by heart. Replace these with the complete diagnostics, to show what lint is complaining about.
The tests named msg_*.c have been left unmodified since they mention the full message text in their header comment.
No functional change.
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
#
1.1 |
|
02-May-2021 |
rillig |
tests/lint: demonstrate missing support for __packed __aligned
|
#
1.5 |
|
27-Aug-2022 |
rillig |
tests/lint: add more information to test for __attribute__((aligned))
Declaring an array type having a negative dimension is the simplest way to embed an integer into a lint diagnostic, thereby revealing what size and alignment lint has calculated for a struct.
While here, move these "compile-time assertions" closer to their corresponding struct, to make reading easier.
|
#
1.4 |
|
27-Aug-2022 |
rillig |
tests/lint: add another test for aligned struct member
In the kernel, several structs have this attribute, and running lint on them runs into a compile-time assertion. Typical error messages are:
* error: illegal bit-field size: 255 [36] * error: integral constant expression expected [55]
|
#
1.3 |
|
17-Jun-2022 |
rillig |
tests/lint: make 'expect+-' comments stricter
Previously, the expectations from these comments were already satisfied if the expectation occurred somewhere in the actual message from lint. This meant that the prefix 'error:' or 'warning:' could be omitted from the 'expect' comment. These omissions were hard to see in a manual review. Now any omissions must be visually marked with '...'.
The test msg_342 now reports its messages properly as being in the file msg_342.c, rather than msg_341.c. This had been a copy-and-paste mistake.
|
#
1.2 |
|
15-Jan-2022 |
rillig |
tests/lint: expect complete messages in feature tests
Previously, the tests contained many comments like /* expect: 123 */, which were useless to a casual reader since nobody is expected to learn lint's message IDs by heart. Replace these with the complete diagnostics, to show what lint is complaining about.
The tests named msg_*.c have been left unmodified since they mention the full message text in their header comment.
No functional change.
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
#
1.1 |
|
02-May-2021 |
rillig |
tests/lint: demonstrate missing support for __packed __aligned
|
#
1.3 |
|
17-Jun-2022 |
rillig |
tests/lint: make 'expect+-' comments stricter
Previously, the expectations from these comments were already satisfied if the expectation occurred somewhere in the actual message from lint. This meant that the prefix 'error:' or 'warning:' could be omitted from the 'expect' comment. These omissions were hard to see in a manual review. Now any omissions must be visually marked with '...'.
The test msg_342 now reports its messages properly as being in the file msg_342.c, rather than msg_341.c. This had been a copy-and-paste mistake.
|
#
1.2 |
|
15-Jan-2022 |
rillig |
tests/lint: expect complete messages in feature tests
Previously, the tests contained many comments like /* expect: 123 */, which were useless to a casual reader since nobody is expected to learn lint's message IDs by heart. Replace these with the complete diagnostics, to show what lint is complaining about.
The tests named msg_*.c have been left unmodified since they mention the full message text in their header comment.
No functional change.
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
#
1.1 |
|
02-May-2021 |
rillig |
tests/lint: demonstrate missing support for __packed __aligned
|
#
1.2 |
|
15-Jan-2022 |
rillig |
tests/lint: expect complete messages in feature tests
Previously, the tests contained many comments like /* expect: 123 */, which were useless to a casual reader since nobody is expected to learn lint's message IDs by heart. Replace these with the complete diagnostics, to show what lint is complaining about.
The tests named msg_*.c have been left unmodified since they mention the full message text in their header comment.
No functional change.
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
#
1.1 |
|
02-May-2021 |
rillig |
tests/lint: demonstrate missing support for __packed __aligned
|