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]

Reply via email to