Module Name: src Committed By: rillig Date: Sat Oct 9 21:25:39 UTC 2021
Modified Files: src/tests/usr.bin/xlint/lint1: msg_160.c msg_160.exp msg_323.c msg_323.exp Log Message: tests/lint: add examples for bogus warning 160 and for error 323 To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/tests/usr.bin/xlint/lint1/msg_160.c cvs rdiff -u -r1.4 -r1.5 src/tests/usr.bin/xlint/lint1/msg_160.exp cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/msg_323.c \ src/tests/usr.bin/xlint/lint1/msg_323.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_160.c diff -u src/tests/usr.bin/xlint/lint1/msg_160.c:1.5 src/tests/usr.bin/xlint/lint1/msg_160.c:1.6 --- src/tests/usr.bin/xlint/lint1/msg_160.c:1.5 Sun Jan 31 12:20:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_160.c Sat Oct 9 21:25:39 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: msg_160.c,v 1.5 2021/01/31 12:20:00 rillig Exp $ */ +/* $NetBSD: msg_160.c,v 1.6 2021/10/09 21:25:39 rillig Exp $ */ # 3 "msg_160.c" // Test for message: operator '==' found where '=' was expected [160] @@ -56,3 +56,15 @@ unparenthesized(int a, int b, int c, _Bo */ eval(a == (b == c)); } + +/* Seen in bin/csh/dir.c 1.35 from 2020-08-09, line 223. */ +void +assignment_in_comma_expression(void) +{ + int len; + + /* FIXME: The following code is totally fine. */ + /* expect+1: warning: operator '==' found where '=' was expected [160] */ + if ((len = 3, len == 0)) + return; +} Index: src/tests/usr.bin/xlint/lint1/msg_160.exp diff -u src/tests/usr.bin/xlint/lint1/msg_160.exp:1.4 src/tests/usr.bin/xlint/lint1/msg_160.exp:1.5 --- src/tests/usr.bin/xlint/lint1/msg_160.exp:1.4 Sun Jan 31 12:20:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_160.exp Sat Oct 9 21:25:39 2021 @@ -1,2 +1,3 @@ msg_160.c(30): warning: operator '==' found where '=' was expected [160] msg_160.c(43): warning: operator '==' found where '=' was expected [160] +msg_160.c(68): warning: operator '==' found where '=' was expected [160] Index: src/tests/usr.bin/xlint/lint1/msg_323.c diff -u src/tests/usr.bin/xlint/lint1/msg_323.c:1.2 src/tests/usr.bin/xlint/lint1/msg_323.c:1.3 --- src/tests/usr.bin/xlint/lint1/msg_323.c:1.2 Sun Feb 21 09:07:58 2021 +++ src/tests/usr.bin/xlint/lint1/msg_323.c Sat Oct 9 21:25:39 2021 @@ -1,7 +1,21 @@ -/* $NetBSD: msg_323.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ +/* $NetBSD: msg_323.c,v 1.3 2021/10/09 21:25:39 rillig Exp $ */ # 3 "msg_323.c" // Test for message: continue in 'do ... while (0)' loop [323] +void println(const char *); -TODO: "Add example code that triggers the above message." /* expect: 249 */ -TODO: "Add example code that almost triggers the above message." +void +example(const char *p) +{ + do { + switch (*p) { + case 'a': + continue; /* leaves the 'do while 0' */ + case 'b': + break; /* leaves the 'switch' */ + } + println("b"); + /* XXX: Is that really worth an error? */ + /* expect+1: error: continue in 'do ... while (0)' loop [323] */ + } while (0); +} Index: src/tests/usr.bin/xlint/lint1/msg_323.exp diff -u src/tests/usr.bin/xlint/lint1/msg_323.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_323.exp:1.3 --- src/tests/usr.bin/xlint/lint1/msg_323.exp:1.2 Sun Mar 21 20:45:00 2021 +++ src/tests/usr.bin/xlint/lint1/msg_323.exp Sat Oct 9 21:25:39 2021 @@ -1 +1 @@ -msg_323.c(6): error: syntax error ':' [249] +msg_323.c(20): error: continue in 'do ... while (0)' loop [323]