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]