Module Name:    src
Committed By:   rillig
Date:           Sun Aug 22 13:45:56 UTC 2021

Modified Files:
        src/tests/usr.bin/xlint/lint1: msg_268.c msg_268.exp msg_269.c
            msg_269.exp msg_270.c msg_270.exp msg_271.c msg_271.exp msg_272.c
            msg_272.exp msg_273.c msg_273.exp msg_274.c msg_274.exp

Log Message:
tests/lint: test messages 268 to 274


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/msg_268.c \
    src/tests/usr.bin/xlint/lint1/msg_268.exp \
    src/tests/usr.bin/xlint/lint1/msg_269.c \
    src/tests/usr.bin/xlint/lint1/msg_269.exp \
    src/tests/usr.bin/xlint/lint1/msg_270.c \
    src/tests/usr.bin/xlint/lint1/msg_270.exp \
    src/tests/usr.bin/xlint/lint1/msg_271.c \
    src/tests/usr.bin/xlint/lint1/msg_271.exp \
    src/tests/usr.bin/xlint/lint1/msg_272.c \
    src/tests/usr.bin/xlint/lint1/msg_272.exp \
    src/tests/usr.bin/xlint/lint1/msg_273.c \
    src/tests/usr.bin/xlint/lint1/msg_273.exp \
    src/tests/usr.bin/xlint/lint1/msg_274.c \
    src/tests/usr.bin/xlint/lint1/msg_274.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_268.c
diff -u src/tests/usr.bin/xlint/lint1/msg_268.c:1.2 src/tests/usr.bin/xlint/lint1/msg_268.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_268.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_268.c	Sun Aug 22 13:45:56 2021
@@ -1,7 +1,13 @@
-/*	$NetBSD: msg_268.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_268.c,v 1.3 2021/08/22 13:45:56 rillig Exp $	*/
 # 3 "msg_268.c"
 
 // Test for message: variable declared inline: %s [268]
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+int
+example(int arg)
+{
+	/* expect+1: warning: variable declared inline: local [268] */
+	inline int local = arg;
+
+	return local;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_268.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_268.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_268.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_268.exp:1.2	Sun Mar 21 20:45:00 2021
+++ src/tests/usr.bin/xlint/lint1/msg_268.exp	Sun Aug 22 13:45:56 2021
@@ -1 +1 @@
-msg_268.c(6): error: syntax error ':' [249]
+msg_268.c(10): warning: variable declared inline: local [268]
Index: src/tests/usr.bin/xlint/lint1/msg_269.c
diff -u src/tests/usr.bin/xlint/lint1/msg_269.c:1.2 src/tests/usr.bin/xlint/lint1/msg_269.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_269.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_269.c	Sun Aug 22 13:45:56 2021
@@ -1,7 +1,7 @@
-/*	$NetBSD: msg_269.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_269.c,v 1.3 2021/08/22 13:45:56 rillig Exp $	*/
 # 3 "msg_269.c"
 
 // Test for message: argument declared inline: %s [269]
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+/* expect+1: warning: argument declared inline: x [269] */
+void example(inline int x);
Index: src/tests/usr.bin/xlint/lint1/msg_269.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_269.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_269.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_269.exp:1.2	Sun Mar 21 20:45:00 2021
+++ src/tests/usr.bin/xlint/lint1/msg_269.exp	Sun Aug 22 13:45:56 2021
@@ -1 +1 @@
-msg_269.c(6): error: syntax error ':' [249]
+msg_269.c(7): warning: argument declared inline: x [269]
Index: src/tests/usr.bin/xlint/lint1/msg_270.c
diff -u src/tests/usr.bin/xlint/lint1/msg_270.c:1.2 src/tests/usr.bin/xlint/lint1/msg_270.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_270.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_270.c	Sun Aug 22 13:45:56 2021
@@ -1,7 +1,13 @@
-/*	$NetBSD: msg_270.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_270.c,v 1.3 2021/08/22 13:45:56 rillig Exp $	*/
 # 3 "msg_270.c"
 
-// Test for message: function prototypes are illegal in traditional C [270]
+/* Test for message: function prototypes are illegal in traditional C [270] */
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -tw */
+
+/* expect+1: warning: function prototypes are illegal in traditional C [270] */
+void prototype(void);
+
+char *traditional();
+
+traditional_implicit_int();
Index: src/tests/usr.bin/xlint/lint1/msg_270.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_270.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_270.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_270.exp:1.2	Sun Mar 21 20:45:00 2021
+++ src/tests/usr.bin/xlint/lint1/msg_270.exp	Sun Aug 22 13:45:56 2021
@@ -1 +1 @@
-msg_270.c(6): error: syntax error ':' [249]
+msg_270.c(9): warning: function prototypes are illegal in traditional C [270]
Index: src/tests/usr.bin/xlint/lint1/msg_271.c
diff -u src/tests/usr.bin/xlint/lint1/msg_271.c:1.2 src/tests/usr.bin/xlint/lint1/msg_271.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_271.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_271.c	Sun Aug 22 13:45:56 2021
@@ -1,7 +1,27 @@
-/*	$NetBSD: msg_271.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_271.c,v 1.3 2021/08/22 13:45:56 rillig Exp $	*/
 # 3 "msg_271.c"
 
-// Test for message: switch expression must be of type `int' in traditional C [271]
+/* Test for message: switch expression must be of type `int' in traditional C [271] */
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -tw */
+
+example(long_int, unsigned_int)
+	long long_int;
+	unsigned unsigned_int;
+{
+	/* expect+1: warning: switch expression must be of type `int' in traditional C [271] */
+	switch (long_int) {
+	case 3:
+		return 1;
+	}
+
+	/*
+	 * XXX: K&R clearly says "the result must be 'int'", but lint also
+	 * allows unsigned int.
+	 */
+	switch (unsigned_int) {
+	case 3:
+		return 1;
+	}
+	return 2;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_271.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_271.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_271.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_271.exp:1.2	Sun Mar 21 20:45:00 2021
+++ src/tests/usr.bin/xlint/lint1/msg_271.exp	Sun Aug 22 13:45:56 2021
@@ -1 +1 @@
-msg_271.c(6): error: syntax error ':' [249]
+msg_271.c(13): warning: switch expression must be of type `int' in traditional C [271]
Index: src/tests/usr.bin/xlint/lint1/msg_272.c
diff -u src/tests/usr.bin/xlint/lint1/msg_272.c:1.2 src/tests/usr.bin/xlint/lint1/msg_272.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_272.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_272.c	Sun Aug 22 13:45:56 2021
@@ -1,7 +1,6 @@
-/*	$NetBSD: msg_272.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_272.c,v 1.3 2021/08/22 13:45:56 rillig Exp $	*/
 # 3 "msg_272.c"
 
 // Test for message: empty translation unit [272]
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+/* expect+1: warning: empty translation unit [272] */
Index: src/tests/usr.bin/xlint/lint1/msg_272.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_272.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_272.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_272.exp:1.2	Sun Mar 21 20:45:00 2021
+++ src/tests/usr.bin/xlint/lint1/msg_272.exp	Sun Aug 22 13:45:56 2021
@@ -1 +1 @@
-msg_272.c(6): error: syntax error ':' [249]
+msg_272.c(7): warning: empty translation unit [272]
Index: src/tests/usr.bin/xlint/lint1/msg_273.c
diff -u src/tests/usr.bin/xlint/lint1/msg_273.c:1.2 src/tests/usr.bin/xlint/lint1/msg_273.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_273.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_273.c	Sun Aug 22 13:45:56 2021
@@ -1,7 +1,14 @@
-/*	$NetBSD: msg_273.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_273.c,v 1.3 2021/08/22 13:45:56 rillig Exp $	*/
 # 3 "msg_273.c"
 
-// Test for message: bit-field type '%s' invalid in ANSI C [273]
+/* Test for message: bit-field type '%s' invalid in ANSI C [273] */
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -sw */
+
+struct bit_fields {
+	int plain_int: 3;
+	unsigned int unsigned_int: 3;
+	signed int signed_int: 3;
+	/* expect+1: warning: bit-field type 'unsigned char' invalid in ANSI C [273] */
+	unsigned char unsigned_char: 3;
+};
Index: src/tests/usr.bin/xlint/lint1/msg_273.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_273.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_273.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_273.exp:1.2	Sun Mar 21 20:45:00 2021
+++ src/tests/usr.bin/xlint/lint1/msg_273.exp	Sun Aug 22 13:45:56 2021
@@ -1 +1 @@
-msg_273.c(6): error: syntax error ':' [249]
+msg_273.c(13): warning: bit-field type 'unsigned char' invalid in ANSI C [273]
Index: src/tests/usr.bin/xlint/lint1/msg_274.c
diff -u src/tests/usr.bin/xlint/lint1/msg_274.c:1.2 src/tests/usr.bin/xlint/lint1/msg_274.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_274.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_274.c	Sun Aug 22 13:45:56 2021
@@ -1,7 +1,23 @@
-/*	$NetBSD: msg_274.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_274.c,v 1.3 2021/08/22 13:45:56 rillig Exp $	*/
 # 3 "msg_274.c"
 
-// Test for message: ANSI C forbids comparison of %s with %s [274]
+/* Test for message: ANSI C forbids comparison of %s with %s [274] */
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -sw */
+
+void
+example(void (*function_pointer)(void), void *void_pointer)
+{
+
+	/* Comparing a function pointer with a null pointer is OK. */
+	if (function_pointer == (void *)0)
+		return;
+
+	/* Comparing a function pointer with a null pointer is OK. */
+	if (function_pointer == (const void *)0)
+		return;
+
+	/* expect+1: warning: ANSI C forbids comparison of function pointer with 'void *' [274] */
+	if (function_pointer == void_pointer)
+		return;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_274.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_274.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_274.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_274.exp:1.2	Sun Mar 21 20:45:00 2021
+++ src/tests/usr.bin/xlint/lint1/msg_274.exp	Sun Aug 22 13:45:56 2021
@@ -1 +1 @@
-msg_274.c(6): error: syntax error ':' [249]
+msg_274.c(21): warning: ANSI C forbids comparison of function pointer with 'void *' [274]

Reply via email to