Module Name:    src
Committed By:   rillig
Date:           Sat Jan 30 22:38:54 UTC 2021

Modified Files:
        src/tests/usr.bin/xlint/lint1: msg_129.c msg_129.exp

Log Message:
lint: add test for 129, possibly demonstrating a bug in lint


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/msg_129.c \
    src/tests/usr.bin/xlint/lint1/msg_129.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_129.c
diff -u src/tests/usr.bin/xlint/lint1/msg_129.c:1.1 src/tests/usr.bin/xlint/lint1/msg_129.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_129.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_129.c	Sat Jan 30 22:38:54 2021
@@ -1,7 +1,26 @@
-/*	$NetBSD: msg_129.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_129.c,v 1.2 2021/01/30 22:38:54 rillig Exp $	*/
 # 3 "msg_129.c"
 
 // Test for message: expression has null effect [129]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+/* lint1-extra-flags: -h */
+
+typedef unsigned char uint8_t;
+typedef unsigned int uint32_t;
+
+/*
+ * XXX: The message 129 looks wrong in this case.  There are several comma
+ * operators, each of them has an assignment as operand, and an assignment
+ * has side effects.
+ *
+ * Nevertheless, when stepping through check_null_effect, the operator ','
+ * in line 17 says it has no side effect, which is strange.
+ */
+void
+uint8_buffer_write_uint32(uint8_t *c, uint32_t l)
+{
+	(*(c++) = (uint8_t)(l & 0xff),
+	    *(c++) = (uint8_t)((l >> 8L) & 0xff),
+	    *(c++) = (uint8_t)((l >> 16L) & 0xff),
+	    *(c++) = (uint8_t)((l >> 24L) & 0xff));	/* expect: 129 */
+}
Index: src/tests/usr.bin/xlint/lint1/msg_129.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_129.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_129.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_129.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_129.exp	Sat Jan 30 22:38:54 2021
@@ -1 +1 @@
-msg_129.c(6): syntax error ':' [249]
+msg_129.c(25): warning: expression has null effect [129]

Reply via email to