Module Name: src Committed By: rillig Date: Sun Aug 22 13:45:56 UTC 2021
Modified Files: src/tests/usr.bin/xlint/lint1: msg_268.c msg_268.exp msg_269.c msg_269.exp msg_270.c msg_270.exp msg_271.c msg_271.exp msg_272.c msg_272.exp msg_273.c msg_273.exp msg_274.c msg_274.exp Log Message: tests/lint: test messages 268 to 274 To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/msg_268.c \ src/tests/usr.bin/xlint/lint1/msg_268.exp \ src/tests/usr.bin/xlint/lint1/msg_269.c \ src/tests/usr.bin/xlint/lint1/msg_269.exp \ src/tests/usr.bin/xlint/lint1/msg_270.c \ src/tests/usr.bin/xlint/lint1/msg_270.exp \ src/tests/usr.bin/xlint/lint1/msg_271.c \ src/tests/usr.bin/xlint/lint1/msg_271.exp \ src/tests/usr.bin/xlint/lint1/msg_272.c \ src/tests/usr.bin/xlint/lint1/msg_272.exp \ src/tests/usr.bin/xlint/lint1/msg_273.c \ src/tests/usr.bin/xlint/lint1/msg_273.exp \ src/tests/usr.bin/xlint/lint1/msg_274.c \ src/tests/usr.bin/xlint/lint1/msg_274.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/usr.bin/xlint/lint1/msg_268.c diff -u src/tests/usr.bin/xlint/lint1/msg_268.c:1.2 src/tests/usr.bin/xlint/lint1/msg_268.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_268.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_268.c Sun Aug 22 13:45:56 2021 @@ -1,7 +1,13 @@ -/* $NetBSD: msg_268.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_268.c,v 1.3 2021/08/22 13:45:56 rillig Exp $ */ # 3 "msg_268.c" // Test for message: variable declared inline: %s [268] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +int +example(int arg) +{ + /* expect+1: warning: variable declared inline: local [268] */ + inline int local = arg; + + return local; +} Index: src/tests/usr.bin/xlint/lint1/msg_268.exp diff -u src/tests/usr.bin/xlint/lint1/msg_268.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_268.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_268.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_268.exp Sun Aug 22 13:45:56 2021 @@ -1 +1 @@ -msg_268.c(6): error: syntax error ':' [249] +msg_268.c(10): warning: variable declared inline: local [268] Index: src/tests/usr.bin/xlint/lint1/msg_269.c diff -u src/tests/usr.bin/xlint/lint1/msg_269.c:1.2 src/tests/usr.bin/xlint/lint1/msg_269.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_269.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_269.c Sun Aug 22 13:45:56 2021 @@ -1,7 +1,7 @@ -/* $NetBSD: msg_269.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_269.c,v 1.3 2021/08/22 13:45:56 rillig Exp $ */ # 3 "msg_269.c" // Test for message: argument declared inline: %s [269] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* expect+1: warning: argument declared inline: x [269] */ +void example(inline int x); Index: src/tests/usr.bin/xlint/lint1/msg_269.exp diff -u src/tests/usr.bin/xlint/lint1/msg_269.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_269.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_269.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_269.exp Sun Aug 22 13:45:56 2021 @@ -1 +1 @@ -msg_269.c(6): error: syntax error ':' [249] +msg_269.c(7): warning: argument declared inline: x [269] Index: src/tests/usr.bin/xlint/lint1/msg_270.c diff -u src/tests/usr.bin/xlint/lint1/msg_270.c:1.2 src/tests/usr.bin/xlint/lint1/msg_270.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_270.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_270.c Sun Aug 22 13:45:56 2021 @@ -1,7 +1,13 @@ -/* $NetBSD: msg_270.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_270.c,v 1.3 2021/08/22 13:45:56 rillig Exp $ */ # 3 "msg_270.c" -// Test for message: function prototypes are illegal in traditional C [270] +/* Test for message: function prototypes are illegal in traditional C [270] */ -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* lint1-flags: -tw */ + +/* expect+1: warning: function prototypes are illegal in traditional C [270] */ +void prototype(void); + +char *traditional(); + +traditional_implicit_int(); Index: src/tests/usr.bin/xlint/lint1/msg_270.exp diff -u src/tests/usr.bin/xlint/lint1/msg_270.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_270.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_270.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_270.exp Sun Aug 22 13:45:56 2021 @@ -1 +1 @@ -msg_270.c(6): error: syntax error ':' [249] +msg_270.c(9): warning: function prototypes are illegal in traditional C [270] Index: src/tests/usr.bin/xlint/lint1/msg_271.c diff -u src/tests/usr.bin/xlint/lint1/msg_271.c:1.2 src/tests/usr.bin/xlint/lint1/msg_271.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_271.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_271.c Sun Aug 22 13:45:56 2021 @@ -1,7 +1,27 @@ -/* $NetBSD: msg_271.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_271.c,v 1.3 2021/08/22 13:45:56 rillig Exp $ */ # 3 "msg_271.c" -// Test for message: switch expression must be of type `int' in traditional C [271] +/* Test for message: switch expression must be of type `int' in traditional C [271] */ -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* lint1-flags: -tw */ + +example(long_int, unsigned_int) + long long_int; + unsigned unsigned_int; +{ + /* expect+1: warning: switch expression must be of type `int' in traditional C [271] */ + switch (long_int) { + case 3: + return 1; + } + + /* + * XXX: K&R clearly says "the result must be 'int'", but lint also + * allows unsigned int. + */ + switch (unsigned_int) { + case 3: + return 1; + } + return 2; +} Index: src/tests/usr.bin/xlint/lint1/msg_271.exp diff -u src/tests/usr.bin/xlint/lint1/msg_271.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_271.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_271.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_271.exp Sun Aug 22 13:45:56 2021 @@ -1 +1 @@ -msg_271.c(6): error: syntax error ':' [249] +msg_271.c(13): warning: switch expression must be of type `int' in traditional C [271] Index: src/tests/usr.bin/xlint/lint1/msg_272.c diff -u src/tests/usr.bin/xlint/lint1/msg_272.c:1.2 src/tests/usr.bin/xlint/lint1/msg_272.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_272.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_272.c Sun Aug 22 13:45:56 2021 @@ -1,7 +1,6 @@ -/* $NetBSD: msg_272.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_272.c,v 1.3 2021/08/22 13:45:56 rillig Exp $ */ # 3 "msg_272.c" // Test for message: empty translation unit [272] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* expect+1: warning: empty translation unit [272] */ Index: src/tests/usr.bin/xlint/lint1/msg_272.exp diff -u src/tests/usr.bin/xlint/lint1/msg_272.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_272.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_272.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_272.exp Sun Aug 22 13:45:56 2021 @@ -1 +1 @@ -msg_272.c(6): error: syntax error ':' [249] +msg_272.c(7): warning: empty translation unit [272] Index: src/tests/usr.bin/xlint/lint1/msg_273.c diff -u src/tests/usr.bin/xlint/lint1/msg_273.c:1.2 src/tests/usr.bin/xlint/lint1/msg_273.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_273.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_273.c Sun Aug 22 13:45:56 2021 @@ -1,7 +1,14 @@ -/* $NetBSD: msg_273.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_273.c,v 1.3 2021/08/22 13:45:56 rillig Exp $ */ # 3 "msg_273.c" -// Test for message: bit-field type '%s' invalid in ANSI C [273] +/* Test for message: bit-field type '%s' invalid in ANSI C [273] */ -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* lint1-flags: -sw */ + +struct bit_fields { + int plain_int: 3; + unsigned int unsigned_int: 3; + signed int signed_int: 3; + /* expect+1: warning: bit-field type 'unsigned char' invalid in ANSI C [273] */ + unsigned char unsigned_char: 3; +}; Index: src/tests/usr.bin/xlint/lint1/msg_273.exp diff -u src/tests/usr.bin/xlint/lint1/msg_273.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_273.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_273.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_273.exp Sun Aug 22 13:45:56 2021 @@ -1 +1 @@ -msg_273.c(6): error: syntax error ':' [249] +msg_273.c(13): warning: bit-field type 'unsigned char' invalid in ANSI C [273] Index: src/tests/usr.bin/xlint/lint1/msg_274.c diff -u src/tests/usr.bin/xlint/lint1/msg_274.c:1.2 src/tests/usr.bin/xlint/lint1/msg_274.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_274.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_274.c Sun Aug 22 13:45:56 2021 @@ -1,7 +1,23 @@ -/* $NetBSD: msg_274.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_274.c,v 1.3 2021/08/22 13:45:56 rillig Exp $ */ # 3 "msg_274.c" -// Test for message: ANSI C forbids comparison of %s with %s [274] +/* Test for message: ANSI C forbids comparison of %s with %s [274] */ -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* lint1-flags: -sw */ + +void +example(void (*function_pointer)(void), void *void_pointer) +{ + + /* Comparing a function pointer with a null pointer is OK. */ + if (function_pointer == (void *)0) + return; + + /* Comparing a function pointer with a null pointer is OK. */ + if (function_pointer == (const void *)0) + return; + + /* expect+1: warning: ANSI C forbids comparison of function pointer with 'void *' [274] */ + if (function_pointer == void_pointer) + return; +} Index: src/tests/usr.bin/xlint/lint1/msg_274.exp diff -u src/tests/usr.bin/xlint/lint1/msg_274.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_274.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_274.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_274.exp Sun Aug 22 13:45:56 2021 @@ -1 +1 @@ -msg_274.c(6): error: syntax error ':' [249] +msg_274.c(21): warning: ANSI C forbids comparison of function pointer with 'void *' [274]