Module Name: src Committed By: rillig Date: Fri Aug 27 20:16:50 UTC 2021
Modified Files: src/tests/usr.bin/xlint/lint1: msg_020.c msg_020.exp msg_024.c msg_024.exp msg_025.c msg_025.exp msg_033.c msg_033.exp msg_038.c msg_038.exp msg_049.c msg_049.exp msg_052.c msg_052.exp msg_053.c msg_053.exp msg_078.c msg_078.exp msg_079.c msg_079.exp msg_200.c msg_200.exp Log Message: tests/lint: add tests for a few more messages To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/msg_020.c \ src/tests/usr.bin/xlint/lint1/msg_020.exp \ src/tests/usr.bin/xlint/lint1/msg_024.c \ src/tests/usr.bin/xlint/lint1/msg_024.exp \ src/tests/usr.bin/xlint/lint1/msg_025.c \ src/tests/usr.bin/xlint/lint1/msg_025.exp \ src/tests/usr.bin/xlint/lint1/msg_033.c \ src/tests/usr.bin/xlint/lint1/msg_033.exp \ src/tests/usr.bin/xlint/lint1/msg_038.c \ src/tests/usr.bin/xlint/lint1/msg_038.exp \ src/tests/usr.bin/xlint/lint1/msg_049.c \ src/tests/usr.bin/xlint/lint1/msg_049.exp \ src/tests/usr.bin/xlint/lint1/msg_052.c \ src/tests/usr.bin/xlint/lint1/msg_052.exp \ src/tests/usr.bin/xlint/lint1/msg_053.c \ src/tests/usr.bin/xlint/lint1/msg_053.exp \ src/tests/usr.bin/xlint/lint1/msg_078.c \ src/tests/usr.bin/xlint/lint1/msg_078.exp \ src/tests/usr.bin/xlint/lint1/msg_079.c \ src/tests/usr.bin/xlint/lint1/msg_079.exp \ src/tests/usr.bin/xlint/lint1/msg_200.c \ src/tests/usr.bin/xlint/lint1/msg_200.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_020.c diff -u src/tests/usr.bin/xlint/lint1/msg_020.c:1.2 src/tests/usr.bin/xlint/lint1/msg_020.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_020.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_020.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,7 @@ -/* $NetBSD: msg_020.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_020.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_020.c" // Test for message: negative array dimension (%d) [20] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* expect+1: error: negative array dimension (-3) [20] */ +int array[-3]; Index: src/tests/usr.bin/xlint/lint1/msg_020.exp diff -u src/tests/usr.bin/xlint/lint1/msg_020.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_020.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_020.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_020.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_020.c(6): error: syntax error ':' [249] +msg_020.c(7): error: negative array dimension (-3) [20] Index: src/tests/usr.bin/xlint/lint1/msg_024.c diff -u src/tests/usr.bin/xlint/lint1/msg_024.c:1.2 src/tests/usr.bin/xlint/lint1/msg_024.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_024.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_024.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,16 @@ -/* $NetBSD: msg_024.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_024.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_024.c" // Test for message: cannot initialize function: %s [24] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +typedef void (function)(void); + +void +definition(void) +{ +} + +/* expect+3: error: cannot initialize function: fn [24] */ +/* The following message is strange but does not occur in practice. */ +/* expect+1: error: {}-enclosed initializer required [181] */ +function fn = definition; Index: src/tests/usr.bin/xlint/lint1/msg_024.exp diff -u src/tests/usr.bin/xlint/lint1/msg_024.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_024.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_024.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_024.exp Fri Aug 27 20:16:50 2021 @@ -1 +1,2 @@ -msg_024.c(6): error: syntax error ':' [249] +msg_024.c(16): error: cannot initialize function: fn [24] +msg_024.c(16): error: {}-enclosed initializer required [181] Index: src/tests/usr.bin/xlint/lint1/msg_025.c diff -u src/tests/usr.bin/xlint/lint1/msg_025.c:1.2 src/tests/usr.bin/xlint/lint1/msg_025.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_025.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_025.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,7 @@ -/* $NetBSD: msg_025.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_025.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_025.c" // Test for message: cannot initialize typedef: %s [25] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* expect+1: error: cannot initialize typedef: number [25] */ +typedef int number = 3; Index: src/tests/usr.bin/xlint/lint1/msg_025.exp diff -u src/tests/usr.bin/xlint/lint1/msg_025.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_025.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_025.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_025.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_025.c(6): error: syntax error ':' [249] +msg_025.c(7): error: cannot initialize typedef: number [25] Index: src/tests/usr.bin/xlint/lint1/msg_033.c diff -u src/tests/usr.bin/xlint/lint1/msg_033.c:1.2 src/tests/usr.bin/xlint/lint1/msg_033.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_033.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_033.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,13 @@ -/* $NetBSD: msg_033.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_033.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_033.c" // Test for message: duplicate member name: %s [33] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* lint1-extra-flags: -r */ + +struct { + /* Despite the option '-r', this location is not mentioned. */ + int member; + /* expect+1: error: duplicate member name: member [33] */ + double member; +}; Index: src/tests/usr.bin/xlint/lint1/msg_033.exp diff -u src/tests/usr.bin/xlint/lint1/msg_033.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_033.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_033.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_033.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_033.c(6): error: syntax error ':' [249] +msg_033.c(12): error: duplicate member name: member [33] Index: src/tests/usr.bin/xlint/lint1/msg_038.c diff -u src/tests/usr.bin/xlint/lint1/msg_038.c:1.2 src/tests/usr.bin/xlint/lint1/msg_038.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_038.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_038.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,11 @@ -/* $NetBSD: msg_038.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_038.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_038.c" // Test for message: function illegal in structure or union [38] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +typedef void (function)(void); + +struct { + /* expect+1: error: function illegal in structure or union [38] */ + function fn; +} s; Index: src/tests/usr.bin/xlint/lint1/msg_038.exp diff -u src/tests/usr.bin/xlint/lint1/msg_038.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_038.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_038.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_038.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_038.c(6): error: syntax error ':' [249] +msg_038.c(10): error: function illegal in structure or union [38] Index: src/tests/usr.bin/xlint/lint1/msg_049.c diff -u src/tests/usr.bin/xlint/lint1/msg_049.c:1.2 src/tests/usr.bin/xlint/lint1/msg_049.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_049.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_049.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,27 @@ -/* $NetBSD: msg_049.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_049.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_049.c" -// Test for message: anonymous struct/union members is a C9X feature [49] +/* Test for message: anonymous struct/union members is a C9X feature [49] */ -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +/* lint1-flags: -sw */ + +/* + * FIXME: C99 does not allow anonymous struct/union members, that's a GCC + * extension that got incorporated into C11. + */ + +struct { + unsigned int flag: 1; + + /* + * This is an anonymous struct/union member, but that's not what + * message 49 is about. + */ + unsigned int :0; + + union { + int int_value; + void *pointer_value; + }; + /* expect-1: warning: anonymous struct/union members is a C9X feature [49] */ +} s; Index: src/tests/usr.bin/xlint/lint1/msg_049.exp diff -u src/tests/usr.bin/xlint/lint1/msg_049.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_049.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_049.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_049.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_049.c(6): error: syntax error ':' [249] +msg_049.c(25): warning: anonymous struct/union members is a C9X feature [49] Index: src/tests/usr.bin/xlint/lint1/msg_052.c diff -u src/tests/usr.bin/xlint/lint1/msg_052.c:1.2 src/tests/usr.bin/xlint/lint1/msg_052.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_052.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_052.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,12 @@ -/* $NetBSD: msg_052.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_052.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_052.c" // Test for message: cannot initialize parameter: %s [52] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +int +definition(i) + /* expect+1: error: cannot initialize parameter: i [52] */ + int i = 3; +{ + return i; +} Index: src/tests/usr.bin/xlint/lint1/msg_052.exp diff -u src/tests/usr.bin/xlint/lint1/msg_052.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_052.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_052.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_052.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_052.c(6): error: syntax error ':' [249] +msg_052.c(9): error: cannot initialize parameter: i [52] Index: src/tests/usr.bin/xlint/lint1/msg_053.c diff -u src/tests/usr.bin/xlint/lint1/msg_053.c:1.2 src/tests/usr.bin/xlint/lint1/msg_053.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_053.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_053.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,12 @@ -/* $NetBSD: msg_053.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_053.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_053.c" // Test for message: declared argument %s is missing [53] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +oldstyle(argument) + int argument; + /* expect+1: error: declared argument extra_argument is missing [53] */ + int extra_argument; +{ + return argument; +} Index: src/tests/usr.bin/xlint/lint1/msg_053.exp diff -u src/tests/usr.bin/xlint/lint1/msg_053.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_053.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_053.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_053.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_053.c(6): error: syntax error ':' [249] +msg_053.c(9): error: declared argument extra_argument is missing [53] Index: src/tests/usr.bin/xlint/lint1/msg_078.c diff -u src/tests/usr.bin/xlint/lint1/msg_078.c:1.2 src/tests/usr.bin/xlint/lint1/msg_078.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_078.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_078.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,8 @@ -/* $NetBSD: msg_078.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_078.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_078.c" // Test for message: nonportable character escape [78] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +char either_255_or_minus_1 = '\377'; +/* expect+1: warning: dubious escape \y [79] */ +char dubious_escape = '\y'; Index: src/tests/usr.bin/xlint/lint1/msg_078.exp diff -u src/tests/usr.bin/xlint/lint1/msg_078.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_078.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_078.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_078.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_078.c(6): error: syntax error ':' [249] +msg_078.c(8): warning: dubious escape \y [79] Index: src/tests/usr.bin/xlint/lint1/msg_079.c diff -u src/tests/usr.bin/xlint/lint1/msg_079.c:1.2 src/tests/usr.bin/xlint/lint1/msg_079.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_079.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_079.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,14 @@ -/* $NetBSD: msg_079.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_079.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_079.c" // Test for message: dubious escape \%c [79] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +int my_printf(const char *, ...); + +void +print_color(_Bool red, _Bool green, _Bool blue) +{ + /* expect+1: warning: dubious escape \e [79] */ + my_printf("\e[%dm", + 30 + (red ? 1 : 0) + (green ? 2 : 0) + (blue ? 4 : 0)); +} Index: src/tests/usr.bin/xlint/lint1/msg_079.exp diff -u src/tests/usr.bin/xlint/lint1/msg_079.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_079.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_079.exp:1.2 Sun Mar 21 20:44:59 2021 +++ src/tests/usr.bin/xlint/lint1/msg_079.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_079.c(6): error: syntax error ':' [249] +msg_079.c(12): warning: dubious escape \e [79] Index: src/tests/usr.bin/xlint/lint1/msg_200.c diff -u src/tests/usr.bin/xlint/lint1/msg_200.c:1.2 src/tests/usr.bin/xlint/lint1/msg_200.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_200.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_200.c Fri Aug 27 20:16:50 2021 @@ -1,7 +1,15 @@ -/* $NetBSD: msg_200.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_200.c,v 1.3 2021/08/27 20:16:50 rillig Exp $ */ # 3 "msg_200.c" // Test for message: duplicate case in switch: %lu [200] -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +void +example(unsigned x) +{ + switch (x) { + case 3: + /* expect+1: error: duplicate case in switch: 3 [200] */ + case 3: + break; + } +} Index: src/tests/usr.bin/xlint/lint1/msg_200.exp diff -u src/tests/usr.bin/xlint/lint1/msg_200.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_200.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_200.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_200.exp Fri Aug 27 20:16:50 2021 @@ -1 +1 @@ -msg_200.c(6): error: syntax error ':' [249] +msg_200.c(12): error: duplicate case in switch: 3 [200]