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]