Module Name:    src
Committed By:   rillig
Date:           Fri Jan  8 21:25:03 UTC 2021

Modified Files:
        src/tests/usr.bin/xlint/lint1: msg_050.c msg_050.exp msg_051.c
            msg_051.exp msg_054.c msg_054.exp msg_055.c msg_055.exp msg_056.c
            msg_056.exp msg_057.c msg_057.exp msg_060.c msg_060.exp msg_061.c
            msg_061.exp msg_066.c msg_066.exp msg_068.c msg_068.exp msg_075.c
            msg_075.exp msg_081.c msg_081.exp msg_082.c msg_082.exp msg_083.c
            msg_083.exp msg_084.c msg_084.exp msg_089.c msg_089.exp msg_100.c
            msg_100.exp msg_101.c msg_101.exp msg_109.c msg_109.exp msg_114.c
            msg_114.exp msg_115.c msg_115.exp msg_116.c msg_116.exp msg_121.c
            msg_121.exp msg_122.c msg_122.exp msg_126.c msg_126.exp msg_130.c
            msg_130.exp msg_133.c msg_133.exp msg_136.c msg_136.exp msg_142.c
            msg_142.exp msg_143.c msg_143.exp msg_144.c msg_144.exp msg_145.c
            msg_145.exp msg_146.c msg_146.exp msg_150.c msg_150.exp msg_156.c
            msg_156.exp msg_164.c msg_164.exp msg_165.c msg_165.exp msg_167.c
            msg_167.exp msg_170.c msg_170.exp msg_172.c msg_172.exp msg_173.c
            msg_173.exp msg_174.c msg_174.exp

Log Message:
lint: add tests for several messages


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/msg_050.c \
    src/tests/usr.bin/xlint/lint1/msg_050.exp \
    src/tests/usr.bin/xlint/lint1/msg_051.c \
    src/tests/usr.bin/xlint/lint1/msg_051.exp \
    src/tests/usr.bin/xlint/lint1/msg_054.c \
    src/tests/usr.bin/xlint/lint1/msg_054.exp \
    src/tests/usr.bin/xlint/lint1/msg_055.c \
    src/tests/usr.bin/xlint/lint1/msg_055.exp \
    src/tests/usr.bin/xlint/lint1/msg_056.c \
    src/tests/usr.bin/xlint/lint1/msg_056.exp \
    src/tests/usr.bin/xlint/lint1/msg_057.c \
    src/tests/usr.bin/xlint/lint1/msg_057.exp \
    src/tests/usr.bin/xlint/lint1/msg_060.c \
    src/tests/usr.bin/xlint/lint1/msg_060.exp \
    src/tests/usr.bin/xlint/lint1/msg_061.c \
    src/tests/usr.bin/xlint/lint1/msg_061.exp \
    src/tests/usr.bin/xlint/lint1/msg_066.c \
    src/tests/usr.bin/xlint/lint1/msg_066.exp \
    src/tests/usr.bin/xlint/lint1/msg_068.c \
    src/tests/usr.bin/xlint/lint1/msg_068.exp \
    src/tests/usr.bin/xlint/lint1/msg_075.c \
    src/tests/usr.bin/xlint/lint1/msg_075.exp \
    src/tests/usr.bin/xlint/lint1/msg_081.c \
    src/tests/usr.bin/xlint/lint1/msg_081.exp \
    src/tests/usr.bin/xlint/lint1/msg_082.c \
    src/tests/usr.bin/xlint/lint1/msg_082.exp \
    src/tests/usr.bin/xlint/lint1/msg_083.c \
    src/tests/usr.bin/xlint/lint1/msg_083.exp \
    src/tests/usr.bin/xlint/lint1/msg_084.c \
    src/tests/usr.bin/xlint/lint1/msg_084.exp \
    src/tests/usr.bin/xlint/lint1/msg_089.c \
    src/tests/usr.bin/xlint/lint1/msg_089.exp \
    src/tests/usr.bin/xlint/lint1/msg_100.c \
    src/tests/usr.bin/xlint/lint1/msg_100.exp \
    src/tests/usr.bin/xlint/lint1/msg_101.c \
    src/tests/usr.bin/xlint/lint1/msg_101.exp \
    src/tests/usr.bin/xlint/lint1/msg_109.c \
    src/tests/usr.bin/xlint/lint1/msg_109.exp \
    src/tests/usr.bin/xlint/lint1/msg_114.c \
    src/tests/usr.bin/xlint/lint1/msg_114.exp \
    src/tests/usr.bin/xlint/lint1/msg_115.c \
    src/tests/usr.bin/xlint/lint1/msg_115.exp \
    src/tests/usr.bin/xlint/lint1/msg_116.c \
    src/tests/usr.bin/xlint/lint1/msg_116.exp \
    src/tests/usr.bin/xlint/lint1/msg_121.c \
    src/tests/usr.bin/xlint/lint1/msg_121.exp \
    src/tests/usr.bin/xlint/lint1/msg_122.c \
    src/tests/usr.bin/xlint/lint1/msg_122.exp \
    src/tests/usr.bin/xlint/lint1/msg_126.c \
    src/tests/usr.bin/xlint/lint1/msg_126.exp \
    src/tests/usr.bin/xlint/lint1/msg_130.c \
    src/tests/usr.bin/xlint/lint1/msg_130.exp \
    src/tests/usr.bin/xlint/lint1/msg_133.c \
    src/tests/usr.bin/xlint/lint1/msg_133.exp \
    src/tests/usr.bin/xlint/lint1/msg_136.c \
    src/tests/usr.bin/xlint/lint1/msg_136.exp \
    src/tests/usr.bin/xlint/lint1/msg_142.c \
    src/tests/usr.bin/xlint/lint1/msg_142.exp \
    src/tests/usr.bin/xlint/lint1/msg_143.c \
    src/tests/usr.bin/xlint/lint1/msg_143.exp \
    src/tests/usr.bin/xlint/lint1/msg_144.c \
    src/tests/usr.bin/xlint/lint1/msg_144.exp \
    src/tests/usr.bin/xlint/lint1/msg_145.c \
    src/tests/usr.bin/xlint/lint1/msg_145.exp \
    src/tests/usr.bin/xlint/lint1/msg_146.c \
    src/tests/usr.bin/xlint/lint1/msg_146.exp \
    src/tests/usr.bin/xlint/lint1/msg_150.c \
    src/tests/usr.bin/xlint/lint1/msg_150.exp \
    src/tests/usr.bin/xlint/lint1/msg_156.c \
    src/tests/usr.bin/xlint/lint1/msg_156.exp \
    src/tests/usr.bin/xlint/lint1/msg_164.c \
    src/tests/usr.bin/xlint/lint1/msg_164.exp \
    src/tests/usr.bin/xlint/lint1/msg_165.c \
    src/tests/usr.bin/xlint/lint1/msg_165.exp \
    src/tests/usr.bin/xlint/lint1/msg_167.c \
    src/tests/usr.bin/xlint/lint1/msg_167.exp \
    src/tests/usr.bin/xlint/lint1/msg_170.c \
    src/tests/usr.bin/xlint/lint1/msg_170.exp \
    src/tests/usr.bin/xlint/lint1/msg_172.c \
    src/tests/usr.bin/xlint/lint1/msg_172.exp \
    src/tests/usr.bin/xlint/lint1/msg_173.c \
    src/tests/usr.bin/xlint/lint1/msg_173.exp \
    src/tests/usr.bin/xlint/lint1/msg_174.c \
    src/tests/usr.bin/xlint/lint1/msg_174.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_050.c
diff -u src/tests/usr.bin/xlint/lint1/msg_050.c:1.1 src/tests/usr.bin/xlint/lint1/msg_050.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_050.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_050.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,13 @@
-/*	$NetBSD: msg_050.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_050.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_050.c"
 
-// Test for message: a function is declared as an argument: %s [50]
+/* Test for message: a function is declared as an argument: %s [50] */
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -Stw */
+
+typedef void (function)();
+
+void example(f)
+    function f;
+{
+}
Index: src/tests/usr.bin/xlint/lint1/msg_050.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_050.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_050.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_050.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_050.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,9 @@
-msg_050.c(6): syntax error ':' [249]
+(1): warning: 'long double' is illegal in traditional C [266]
+(1): warning: function prototypes are illegal in traditional C [270]
+(2): warning: 'long double' is illegal in traditional C [266]
+(2): warning: function prototypes are illegal in traditional C [270]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: function prototypes are illegal in traditional C [270]
+msg_050.c(11): warning: a function is declared as an argument: f [50]
+msg_050.c(10): warning: argument f unused in function example [231]
Index: src/tests/usr.bin/xlint/lint1/msg_051.c
diff -u src/tests/usr.bin/xlint/lint1/msg_051.c:1.1 src/tests/usr.bin/xlint/lint1/msg_051.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_051.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_051.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,13 @@
-/*	$NetBSD: msg_051.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_051.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_051.c"
 
 // Test for message: parameter mismatch: %d declared, %d defined [51]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(int, int);
+
+void
+example(a, b, c)
+    int a, b, c;
+{
+}
Index: src/tests/usr.bin/xlint/lint1/msg_051.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_051.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_051.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_051.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_051.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,4 @@
-msg_051.c(6): syntax error ':' [249]
+msg_051.c(12): parameter mismatch: 2 declared, 3 defined [51]
+msg_051.c(10): warning: argument a unused in function example [231]
+msg_051.c(10): warning: argument b unused in function example [231]
+msg_051.c(10): warning: argument c unused in function example [231]
Index: src/tests/usr.bin/xlint/lint1/msg_054.c
diff -u src/tests/usr.bin/xlint/lint1/msg_054.c:1.1 src/tests/usr.bin/xlint/lint1/msg_054.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_054.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_054.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,12 @@
-/*	$NetBSD: msg_054.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_054.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_054.c"
 
-// Test for message: trailing ',' prohibited in enum declaration [54]
+/* Test for message: trailing ',' prohibited in enum declaration [54] */
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -tw */
+
+enum color {
+	RED,
+	GREEN,
+	BLUE,
+};
Index: src/tests/usr.bin/xlint/lint1/msg_054.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_054.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_054.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_054.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_054.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,8 @@
-msg_054.c(6): syntax error ':' [249]
+(1): warning: 'long double' is illegal in traditional C [266]
+(1): warning: function prototypes are illegal in traditional C [270]
+(2): warning: 'long double' is illegal in traditional C [266]
+(2): warning: function prototypes are illegal in traditional C [270]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: function prototypes are illegal in traditional C [270]
+msg_054.c(12): warning: trailing ',' prohibited in enum declaration [54]
Index: src/tests/usr.bin/xlint/lint1/msg_055.c
diff -u src/tests/usr.bin/xlint/lint1/msg_055.c:1.1 src/tests/usr.bin/xlint/lint1/msg_055.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_055.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_055.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_055.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_055.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_055.c"
 
 // Test for message: integral constant expression expected [55]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+enum color {
+	WHITE = 1.0
+};
Index: src/tests/usr.bin/xlint/lint1/msg_055.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_055.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_055.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_055.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_055.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_055.c(6): syntax error ':' [249]
+msg_055.c(8): integral constant expression expected [55]
Index: src/tests/usr.bin/xlint/lint1/msg_056.c
diff -u src/tests/usr.bin/xlint/lint1/msg_056.c:1.1 src/tests/usr.bin/xlint/lint1/msg_056.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_056.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_056.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_056.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_056.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_056.c"
 
 // Test for message: integral constant too large [56]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+enum color {
+	WHITE = 0xFFFFFFFFFFFFFFFFFFFF
+};
Index: src/tests/usr.bin/xlint/lint1/msg_056.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_056.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_056.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_056.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_056.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,2 @@
-msg_056.c(6): syntax error ':' [249]
+msg_056.c(7): warning: integer constant out of range [252]
+msg_056.c(8): warning: integral constant too large [56]
Index: src/tests/usr.bin/xlint/lint1/msg_057.c
diff -u src/tests/usr.bin/xlint/lint1/msg_057.c:1.1 src/tests/usr.bin/xlint/lint1/msg_057.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_057.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_057.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,14 @@
-/*	$NetBSD: msg_057.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_057.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_057.c"
 
 // Test for message: enumeration constant hides parameter: %s [57]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+long
+rgb(int red, int green, int blue)
+{
+	enum color {
+		red, green, blue
+	};
+
+	return red + green + blue;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_057.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_057.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_057.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_057.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_057.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,6 @@
-msg_057.c(6): syntax error ':' [249]
+msg_057.c(10): warning: enumeration constant hides parameter: red [57]
+msg_057.c(10): warning: enumeration constant hides parameter: green [57]
+msg_057.c(11): warning: enumeration constant hides parameter: blue [57]
+msg_057.c(7): warning: argument red unused in function rgb [231]
+msg_057.c(7): warning: argument green unused in function rgb [231]
+msg_057.c(7): warning: argument blue unused in function rgb [231]
Index: src/tests/usr.bin/xlint/lint1/msg_060.c
diff -u src/tests/usr.bin/xlint/lint1/msg_060.c:1.1 src/tests/usr.bin/xlint/lint1/msg_060.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_060.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_060.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_060.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_060.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_060.c"
 
 // Test for message: void must be sole parameter [60]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void example_1(void);
+void example_2(int, void);
+void example_3(void, void, void);
Index: src/tests/usr.bin/xlint/lint1/msg_060.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_060.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_060.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_060.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_060.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,4 @@
-msg_060.c(6): syntax error ':' [249]
+msg_060.c(7): void must be sole parameter [60]
+msg_060.c(8): void must be sole parameter [60]
+msg_060.c(8): void must be sole parameter [60]
+msg_060.c(8): void must be sole parameter [60]
Index: src/tests/usr.bin/xlint/lint1/msg_061.c
diff -u src/tests/usr.bin/xlint/lint1/msg_061.c:1.1 src/tests/usr.bin/xlint/lint1/msg_061.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_061.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_061.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,6 @@
-/*	$NetBSD: msg_061.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_061.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_061.c"
 
 // Test for message: void parameter cannot have name: %s [61]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void example(void arg);
Index: src/tests/usr.bin/xlint/lint1/msg_061.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_061.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_061.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_061.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_061.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_061.c(6): syntax error ':' [249]
+msg_061.c(6): void parameter cannot have name: arg [61]
Index: src/tests/usr.bin/xlint/lint1/msg_066.c
diff -u src/tests/usr.bin/xlint/lint1/msg_066.c:1.1 src/tests/usr.bin/xlint/lint1/msg_066.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_066.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_066.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_066.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_066.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_066.c"
 
 // Test for message: syntax requires ';' after last struct/union member [66]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+struct number {
+	int value
+};
Index: src/tests/usr.bin/xlint/lint1/msg_066.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_066.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_066.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_066.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_066.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_066.c(6): syntax error ':' [249]
+msg_066.c(8): warning: syntax requires ';' after last struct/union member [66]
Index: src/tests/usr.bin/xlint/lint1/msg_068.c
diff -u src/tests/usr.bin/xlint/lint1/msg_068.c:1.1 src/tests/usr.bin/xlint/lint1/msg_068.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_068.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_068.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_068.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_068.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_068.c"
 
 // Test for message: typedef already qualified with '%s' [68]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+typedef const char const_char;
+
+const const_char twice_const;
Index: src/tests/usr.bin/xlint/lint1/msg_068.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_068.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_068.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_068.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_068.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_068.c(6): syntax error ':' [249]
+msg_068.c(8): warning: typedef already qualified with 'const' [68]
Index: src/tests/usr.bin/xlint/lint1/msg_075.c
diff -u src/tests/usr.bin/xlint/lint1/msg_075.c:1.1 src/tests/usr.bin/xlint/lint1/msg_075.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_075.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_075.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,6 @@
-/*	$NetBSD: msg_075.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_075.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_075.c"
 
 // Test for message: overflow in hex escape [75]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+char str[] = "\x12345678123456781234567812345678";
Index: src/tests/usr.bin/xlint/lint1/msg_075.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_075.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_075.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_075.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_075.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_075.c(6): syntax error ':' [249]
+msg_075.c(6): warning: overflow in hex escape [75]
Index: src/tests/usr.bin/xlint/lint1/msg_081.c
diff -u src/tests/usr.bin/xlint/lint1/msg_081.c:1.1 src/tests/usr.bin/xlint/lint1/msg_081.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_081.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_081.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_081.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_081.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_081.c"
 
 // Test for message: \a undefined in traditional C [81]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -Stw */
+
+char str[] = "The bell\a rings";
Index: src/tests/usr.bin/xlint/lint1/msg_081.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_081.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_081.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_081.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_081.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,8 @@
-msg_081.c(6): syntax error ':' [249]
+(1): warning: 'long double' is illegal in traditional C [266]
+(1): warning: function prototypes are illegal in traditional C [270]
+(2): warning: 'long double' is illegal in traditional C [266]
+(2): warning: function prototypes are illegal in traditional C [270]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: function prototypes are illegal in traditional C [270]
+msg_081.c(8): warning: \a undefined in traditional C [81]
Index: src/tests/usr.bin/xlint/lint1/msg_082.c
diff -u src/tests/usr.bin/xlint/lint1/msg_082.c:1.1 src/tests/usr.bin/xlint/lint1/msg_082.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_082.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_082.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_082.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_082.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_082.c"
 
-// Test for message: \x undefined in traditional C [82]
+/* Test for message: \x undefined in traditional C [82] */
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -Stw */
+
+char str[] = "A he\x78 escape";
Index: src/tests/usr.bin/xlint/lint1/msg_082.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_082.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_082.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_082.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_082.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,8 @@
-msg_082.c(6): syntax error ':' [249]
+(1): warning: 'long double' is illegal in traditional C [266]
+(1): warning: function prototypes are illegal in traditional C [270]
+(2): warning: 'long double' is illegal in traditional C [266]
+(2): warning: function prototypes are illegal in traditional C [270]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: function prototypes are illegal in traditional C [270]
+msg_082.c(8): warning: \x undefined in traditional C [82]
Index: src/tests/usr.bin/xlint/lint1/msg_083.c
diff -u src/tests/usr.bin/xlint/lint1/msg_083.c:1.1 src/tests/usr.bin/xlint/lint1/msg_083.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_083.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_083.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_083.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_083.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_083.c"
 
 // Test for message: storage class after type is obsolescent [83]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(void)
+{
+	int register x;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_083.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_083.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_083.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_083.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_083.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_083.c(6): syntax error ':' [249]
+msg_083.c(9): warning: storage class after type is obsolescent [83]
Index: src/tests/usr.bin/xlint/lint1/msg_084.c
diff -u src/tests/usr.bin/xlint/lint1/msg_084.c:1.1 src/tests/usr.bin/xlint/lint1/msg_084.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_084.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_084.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,12 @@
-/*	$NetBSD: msg_084.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_084.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_084.c"
 
 // Test for message: ANSI C requires formal parameter before '...' [84]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void only_ellipsis(...)
+{
+}
+
+void ok_ellipsis(const char *fmt, ...)
+{
+}
Index: src/tests/usr.bin/xlint/lint1/msg_084.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_084.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_084.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_084.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_084.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,2 @@
-msg_084.c(6): syntax error ':' [249]
+msg_084.c(6): warning: ANSI C requires formal parameter before '...' [84]
+msg_084.c(10): warning: argument fmt unused in function ok_ellipsis [231]
Index: src/tests/usr.bin/xlint/lint1/msg_089.c
diff -u src/tests/usr.bin/xlint/lint1/msg_089.c:1.1 src/tests/usr.bin/xlint/lint1/msg_089.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_089.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_089.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_089.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_089.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_089.c"
 
 // Test for message: typedef redeclared: %s [89]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+typedef int number;
+typedef int number;
+typedef double number;
Index: src/tests/usr.bin/xlint/lint1/msg_089.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_089.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_089.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_089.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_089.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,2 @@
-msg_089.c(6): syntax error ':' [249]
+msg_089.c(7): typedef redeclared: number [89]
+msg_089.c(8): typedef redeclared: number [89]
Index: src/tests/usr.bin/xlint/lint1/msg_100.c
diff -u src/tests/usr.bin/xlint/lint1/msg_100.c:1.1 src/tests/usr.bin/xlint/lint1/msg_100.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_100.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_100.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,12 @@
-/*	$NetBSD: msg_100.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_100.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_100.c"
 
 // Test for message: unary + is illegal in traditional C [100]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+/* lint1-flags: -Stw */
+
+int
+unary_plus(int x)
+{
+	return +x;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_100.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_100.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_100.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_100.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_100.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,9 @@
-msg_100.c(6): syntax error ':' [249]
+(1): warning: 'long double' is illegal in traditional C [266]
+(1): warning: function prototypes are illegal in traditional C [270]
+(2): warning: 'long double' is illegal in traditional C [266]
+(2): warning: function prototypes are illegal in traditional C [270]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: 'long double' is illegal in traditional C [266]
+(3): warning: function prototypes are illegal in traditional C [270]
+msg_100.c(10): warning: function prototypes are illegal in traditional C [270]
+msg_100.c(11): warning: unary + is illegal in traditional C [100]
Index: src/tests/usr.bin/xlint/lint1/msg_101.c
diff -u src/tests/usr.bin/xlint/lint1/msg_101.c:1.1 src/tests/usr.bin/xlint/lint1/msg_101.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_101.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_101.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,14 @@
-/*	$NetBSD: msg_101.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_101.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_101.c"
 
 // Test for message: undefined struct/union member: %s [101]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+struct point {
+	int x, y;
+};
+
+int
+get_z(const struct point *p)
+{
+	return p.z;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_101.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_101.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_101.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_101.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_101.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_101.c(6): syntax error ':' [249]
+msg_101.c(13): undefined struct/union member: z [101]
Index: src/tests/usr.bin/xlint/lint1/msg_109.c
diff -u src/tests/usr.bin/xlint/lint1/msg_109.c:1.1 src/tests/usr.bin/xlint/lint1/msg_109.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_109.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_109.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_109.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_109.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_109.c"
 
 // Test for message: void type illegal in expression [109]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+int
+example(int arg)
+{
+	return arg + (void)4;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_109.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_109.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_109.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_109.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_109.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,3 @@
-msg_109.c(6): syntax error ':' [249]
+msg_109.c(9): void type illegal in expression [109]
+msg_109.c(9): warning: function example expects to return value [214]
+msg_109.c(7): warning: argument arg unused in function example [231]
Index: src/tests/usr.bin/xlint/lint1/msg_114.c
diff -u src/tests/usr.bin/xlint/lint1/msg_114.c:1.1 src/tests/usr.bin/xlint/lint1/msg_114.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_114.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_114.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,13 @@
-/*	$NetBSD: msg_114.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_114.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_114.c"
 
 // Test for message: %soperand of '%s' must be lvalue [114]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(int a)
+{
+	3++;
+	// FIXME: lint error: ../common/tyname.c, 190: tspec_name(0)
+	// "string"++;
+	(a + a)++;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_114.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_114.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_114.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_114.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_114.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,3 @@
-msg_114.c(6): syntax error ':' [249]
+msg_114.c(9): operand of 'x++' must be lvalue [114]
+msg_114.c(12): operand of 'x++' must be lvalue [114]
+msg_114.c(7): warning: argument a unused in function example [231]
Index: src/tests/usr.bin/xlint/lint1/msg_115.c
diff -u src/tests/usr.bin/xlint/lint1/msg_115.c:1.1 src/tests/usr.bin/xlint/lint1/msg_115.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_115.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_115.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,16 @@
-/*	$NetBSD: msg_115.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_115.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_115.c"
 
 // Test for message: %soperand of '%s' must be modifiable lvalue [115]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(const int *const_ptr)
+{
+
+	*const_ptr = 3;
+	*const_ptr += 1;
+	*const_ptr -= 4;
+	*const_ptr *= 1;
+	*const_ptr /= 5;
+	*const_ptr %= 9;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_115.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_115.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_115.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_115.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_115.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,6 @@
-msg_115.c(6): syntax error ':' [249]
+msg_115.c(10): warning: left operand of '=' must be modifiable lvalue [115]
+msg_115.c(11): warning: left operand of '+=' must be modifiable lvalue [115]
+msg_115.c(12): warning: left operand of '-=' must be modifiable lvalue [115]
+msg_115.c(13): warning: left operand of '*=' must be modifiable lvalue [115]
+msg_115.c(14): warning: left operand of '/=' must be modifiable lvalue [115]
+msg_115.c(15): warning: left operand of '%=' must be modifiable lvalue [115]
Index: src/tests/usr.bin/xlint/lint1/msg_116.c
diff -u src/tests/usr.bin/xlint/lint1/msg_116.c:1.1 src/tests/usr.bin/xlint/lint1/msg_116.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_116.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_116.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_116.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_116.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_116.c"
 
 // Test for message: illegal pointer subtraction [116]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+unsigned long
+example(int *a, double *b)
+{
+	return a - b;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_116.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_116.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_116.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_116.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_116.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_116.c(6): syntax error ':' [249]
+msg_116.c(9): illegal pointer subtraction [116]
Index: src/tests/usr.bin/xlint/lint1/msg_121.c
diff -u src/tests/usr.bin/xlint/lint1/msg_121.c:1.1 src/tests/usr.bin/xlint/lint1/msg_121.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_121.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_121.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_121.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_121.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_121.c"
 
 // Test for message: negative shift [121]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+int
+example(int x)
+{
+	return x << (3 - 5);
+}
Index: src/tests/usr.bin/xlint/lint1/msg_121.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_121.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_121.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_121.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_121.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_121.c(6): syntax error ':' [249]
+msg_121.c(9): warning: negative shift [121]
Index: src/tests/usr.bin/xlint/lint1/msg_122.c
diff -u src/tests/usr.bin/xlint/lint1/msg_122.c:1.1 src/tests/usr.bin/xlint/lint1/msg_122.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_122.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_122.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_122.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_122.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_122.c"
 
 // Test for message: shift greater than size of object [122]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+int
+example(int x)
+{
+	return x << 129;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_122.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_122.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_122.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_122.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_122.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_122.c(6): syntax error ':' [249]
+msg_122.c(9): warning: shift greater than size of object [122]
Index: src/tests/usr.bin/xlint/lint1/msg_126.c
diff -u src/tests/usr.bin/xlint/lint1/msg_126.c:1.1 src/tests/usr.bin/xlint/lint1/msg_126.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_126.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_126.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_126.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_126.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_126.c"
 
 // Test for message: incompatible types in conditional [126]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+int
+max(int cond, void *ptr, double dbl)
+{
+	return cond ? ptr : dbl;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_126.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_126.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_126.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_126.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_126.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,5 @@
-msg_126.c(6): syntax error ':' [249]
+msg_126.c(9): incompatible types in conditional [126]
+msg_126.c(9): warning: function max expects to return value [214]
+msg_126.c(7): warning: argument cond unused in function max [231]
+msg_126.c(7): warning: argument ptr unused in function max [231]
+msg_126.c(7): warning: argument dbl unused in function max [231]
Index: src/tests/usr.bin/xlint/lint1/msg_130.c
diff -u src/tests/usr.bin/xlint/lint1/msg_130.c:1.1 src/tests/usr.bin/xlint/lint1/msg_130.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_130.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_130.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,18 @@
-/*	$NetBSD: msg_130.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_130.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_130.c"
 
 // Test for message: enum type mismatch, op %s [130]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+enum color {
+	RED, GREEN, BLUE
+};
+
+enum daytime {
+	NIGHT, MORNING, NOON, EVENING
+};
+
+int
+example(_Bool cond)
+{
+	return cond ? GREEN : MORNING;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_130.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_130.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_130.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_130.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_130.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_130.c(6): syntax error ':' [249]
+msg_130.c(17): warning: enum type mismatch, op : [130]
Index: src/tests/usr.bin/xlint/lint1/msg_133.c
diff -u src/tests/usr.bin/xlint/lint1/msg_133.c:1.1 src/tests/usr.bin/xlint/lint1/msg_133.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_133.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_133.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_133.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_133.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_133.c"
 
 // Test for message: conversion of pointer to '%s' loses bits [133]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+char
+to_char(void *ptr)
+{
+	return (char)ptr;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_133.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_133.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_133.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_133.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_133.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_133.c(6): syntax error ':' [249]
+msg_133.c(9): warning: conversion of pointer to 'char' loses bits [133]
Index: src/tests/usr.bin/xlint/lint1/msg_136.c
diff -u src/tests/usr.bin/xlint/lint1/msg_136.c:1.1 src/tests/usr.bin/xlint/lint1/msg_136.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_136.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_136.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,12 @@
-/*	$NetBSD: msg_136.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_136.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_136.c"
 
 // Test for message: cannot do pointer arithmetic on operand of unknown size [136]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+struct incomplete;
+
+const struct incomplete *
+example(const struct incomplete *ptr)
+{
+	return ptr + 5;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_136.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_136.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_136.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_136.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_136.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,2 @@
-msg_136.c(6): syntax error ':' [249]
+msg_136.c(11): cannot do pointer arithmetic on operand of unknown size [136]
+msg_136.c(6): warning: struct incomplete never defined [233]
Index: src/tests/usr.bin/xlint/lint1/msg_142.c
diff -u src/tests/usr.bin/xlint/lint1/msg_142.c:1.1 src/tests/usr.bin/xlint/lint1/msg_142.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_142.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_142.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,6 @@
-/*	$NetBSD: msg_142.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_142.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_142.c"
 
 // Test for message: floating point overflow detected, op %s [142]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+double dbl = 1e100 * 1e100 * 1e100 * 1e100 * 1e100;
Index: src/tests/usr.bin/xlint/lint1/msg_142.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_142.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_142.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_142.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_142.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,2 @@
-msg_142.c(6): syntax error ':' [249]
+msg_142.c(6): warning: floating point overflow detected, op * [142]
+msg_142.c(6): warning: floating point overflow detected, op * [142]
Index: src/tests/usr.bin/xlint/lint1/msg_143.c
diff -u src/tests/usr.bin/xlint/lint1/msg_143.c:1.1 src/tests/usr.bin/xlint/lint1/msg_143.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_143.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_143.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,12 @@
-/*	$NetBSD: msg_143.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_143.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_143.c"
 
 // Test for message: cannot take size/alignment of incomplete type [143]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+struct incomplete;
+
+unsigned long
+sizeof_incomplete(void)
+{
+	return sizeof(struct incomplete);
+}
Index: src/tests/usr.bin/xlint/lint1/msg_143.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_143.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_143.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_143.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_143.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,2 @@
-msg_143.c(6): syntax error ':' [249]
+msg_143.c(11): cannot take size/alignment of incomplete type [143]
+msg_143.c(6): warning: struct incomplete never defined [233]
Index: src/tests/usr.bin/xlint/lint1/msg_144.c
diff -u src/tests/usr.bin/xlint/lint1/msg_144.c:1.1 src/tests/usr.bin/xlint/lint1/msg_144.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_144.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_144.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_144.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_144.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_144.c"
 
 // Test for message: cannot take size/alignment of function [144]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+unsigned long
+example(void)
+{
+	return sizeof example;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_144.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_144.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_144.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_144.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_144.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_144.c(6): syntax error ':' [249]
+msg_144.c(9): cannot take size/alignment of function [144]
Index: src/tests/usr.bin/xlint/lint1/msg_145.c
diff -u src/tests/usr.bin/xlint/lint1/msg_145.c:1.1 src/tests/usr.bin/xlint/lint1/msg_145.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_145.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_145.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,25 @@
-/*	$NetBSD: msg_145.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_145.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_145.c"
 
 // Test for message: cannot take size/alignment of bit-field [145]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+struct bits {
+	unsigned one: 1;
+	unsigned eight: 8;
+};
+
+unsigned long
+sizeof_one(void)
+{
+	struct bits local_bits;
+
+	return sizeof(local_bits.one);
+}
+
+unsigned long
+sizeof_eight(void)
+{
+	struct bits local_bits;
+
+	return sizeof(local_bits.eight);
+}
Index: src/tests/usr.bin/xlint/lint1/msg_145.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_145.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_145.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_145.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_145.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,2 @@
-msg_145.c(6): syntax error ':' [249]
+msg_145.c(16): cannot take size/alignment of bit-field [145]
+msg_145.c(24): cannot take size/alignment of bit-field [145]
Index: src/tests/usr.bin/xlint/lint1/msg_146.c
diff -u src/tests/usr.bin/xlint/lint1/msg_146.c:1.1 src/tests/usr.bin/xlint/lint1/msg_146.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_146.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_146.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,10 @@
-/*	$NetBSD: msg_146.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_146.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_146.c"
 
 // Test for message: cannot take size/alignment of void [146]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(void *ptr)
+{
+	return sizeof(*ptr);
+}
Index: src/tests/usr.bin/xlint/lint1/msg_146.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_146.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_146.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_146.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_146.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,2 @@
-msg_146.c(6): syntax error ':' [249]
+msg_146.c(9): cannot take size/alignment of void [146]
+msg_146.c(9): void function example cannot return value [213]
Index: src/tests/usr.bin/xlint/lint1/msg_150.c
diff -u src/tests/usr.bin/xlint/lint1/msg_150.c:1.1 src/tests/usr.bin/xlint/lint1/msg_150.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_150.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_150.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,13 @@
-/*	$NetBSD: msg_150.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_150.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_150.c"
 
 // Test for message: argument mismatch: %d arg%s passed, %d expected [150]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+int
+add2(int, int);
+
+int
+example(void)
+{
+	return add2(2, 3, 5, 7);
+}
Index: src/tests/usr.bin/xlint/lint1/msg_150.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_150.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_150.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_150.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_150.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_150.c(6): syntax error ':' [249]
+msg_150.c(12): argument mismatch: 4 args passed, 2 expected [150]
Index: src/tests/usr.bin/xlint/lint1/msg_156.c
diff -u src/tests/usr.bin/xlint/lint1/msg_156.c:1.1 src/tests/usr.bin/xlint/lint1/msg_156.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_156.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_156.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,25 @@
-/*	$NetBSD: msg_156.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_156.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_156.c"
 
 // Test for message: enum type mismatch, arg #%d [156]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+enum color {
+	RED,
+	GREEN,
+	BLUE
+};
+
+enum size {
+	SMALL,
+	MEDIUM,
+	LARGE
+};
+
+void
+print_color(enum color);
+
+void
+example(void)
+{
+	print_color(MEDIUM);
+}
Index: src/tests/usr.bin/xlint/lint1/msg_156.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_156.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_156.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_156.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_156.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_156.c(6): syntax error ':' [249]
+msg_156.c(24): warning: enum type mismatch, arg #1 [156]
Index: src/tests/usr.bin/xlint/lint1/msg_164.c
diff -u src/tests/usr.bin/xlint/lint1/msg_164.c:1.1 src/tests/usr.bin/xlint/lint1/msg_164.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_164.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_164.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,14 @@
-/*	$NetBSD: msg_164.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_164.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_164.c"
 
 // Test for message: assignment of negative constant to unsigned type [164]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(void)
+{
+	unsigned char uch = -3;
+
+	uch = -5;
+	uch += -7;
+	uch *= -1;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_164.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_164.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_164.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_164.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_164.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,4 @@
-msg_164.c(6): syntax error ':' [249]
+msg_164.c(9): warning: assignment of negative constant to unsigned type [164]
+msg_164.c(11): warning: assignment of negative constant to unsigned type [164]
+msg_164.c(12): warning: conversion of negative constant to unsigned type [222]
+msg_164.c(13): warning: conversion of negative constant to unsigned type [222]
Index: src/tests/usr.bin/xlint/lint1/msg_165.c
diff -u src/tests/usr.bin/xlint/lint1/msg_165.c:1.1 src/tests/usr.bin/xlint/lint1/msg_165.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_165.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_165.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,12 @@
-/*	$NetBSD: msg_165.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_165.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_165.c"
 
 // Test for message: constant truncated by assignment [165]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(void)
+{
+	unsigned char ch;
+
+	ch = 0x1234;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_165.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_165.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_165.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_165.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_165.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_165.c(6): syntax error ':' [249]
+msg_165.c(11): warning: constant truncated by assignment [165]
Index: src/tests/usr.bin/xlint/lint1/msg_167.c
diff -u src/tests/usr.bin/xlint/lint1/msg_167.c:1.1 src/tests/usr.bin/xlint/lint1/msg_167.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_167.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_167.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,18 @@
-/*	$NetBSD: msg_167.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_167.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_167.c"
 
 // Test for message: array subscript cannot be negative: %ld [167]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(int *ptr)
+{
+	int arr[6];
+
+	arr[-3] = 13;
+
+	/*
+	 * Since the pointer may have been initialized with "arr + 3",
+	 * subtracting from its address is allowed.
+	 */
+	ptr[-3] = 13;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_167.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_167.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_167.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_167.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_167.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_167.c(6): syntax error ':' [249]
+msg_167.c(11): warning: array subscript cannot be negative: -3 [167]
Index: src/tests/usr.bin/xlint/lint1/msg_170.c
diff -u src/tests/usr.bin/xlint/lint1/msg_170.c:1.1 src/tests/usr.bin/xlint/lint1/msg_170.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_170.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_170.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,14 @@
-/*	$NetBSD: msg_170.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_170.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_170.c"
 
 // Test for message: first operand must have scalar type, op ? : [170]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+struct number {
+	int value;
+};
+
+_Bool
+example(const struct number *num)
+{
+	return *num ? 1 : 0;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_170.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_170.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_170.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_170.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_170.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1,3 @@
-msg_170.c(6): syntax error ':' [249]
+msg_170.c(13): first operand must have scalar type, op ? : [170]
+msg_170.c(13): warning: function example expects to return value [214]
+msg_170.c(11): warning: argument num unused in function example [231]
Index: src/tests/usr.bin/xlint/lint1/msg_172.c
diff -u src/tests/usr.bin/xlint/lint1/msg_172.c:1.1 src/tests/usr.bin/xlint/lint1/msg_172.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_172.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_172.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,12 @@
-/*	$NetBSD: msg_172.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_172.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_172.c"
 
 // Test for message: too many struct/union initializers [172]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+struct color {
+	unsigned int red: 8;
+	unsigned int green: 8;
+	unsigned int blue: 8;
+};
+
+struct color white = { 255, 255, 255, 255 };
Index: src/tests/usr.bin/xlint/lint1/msg_172.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_172.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_172.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_172.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_172.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_172.c(6): syntax error ':' [249]
+msg_172.c(12): too many struct/union initializers [172]
Index: src/tests/usr.bin/xlint/lint1/msg_173.c
diff -u src/tests/usr.bin/xlint/lint1/msg_173.c:1.1 src/tests/usr.bin/xlint/lint1/msg_173.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_173.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_173.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,8 @@
-/*	$NetBSD: msg_173.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_173.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_173.c"
 
 // Test for message: too many array initializers, expected %d [173]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+int arr_limited[3] = { 1, 2, 3, 4 };
+int arr_unlimited[] = { 1, 2, 3, 4 };
+int arr_too_few[] = { 1, 2 };
Index: src/tests/usr.bin/xlint/lint1/msg_173.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_173.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_173.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_173.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_173.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_173.c(6): syntax error ':' [249]
+msg_173.c(6): too many array initializers, expected 3 [173]
Index: src/tests/usr.bin/xlint/lint1/msg_174.c
diff -u src/tests/usr.bin/xlint/lint1/msg_174.c:1.1 src/tests/usr.bin/xlint/lint1/msg_174.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_174.c:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_174.c	Fri Jan  8 21:25:03 2021
@@ -1,7 +1,16 @@
-/*	$NetBSD: msg_174.c,v 1.1 2021/01/02 10:22:43 rillig Exp $	*/
+/*	$NetBSD: msg_174.c,v 1.2 2021/01/08 21:25:03 rillig Exp $	*/
 # 3 "msg_174.c"
 
 // Test for message: too many initializers [174]
 
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+void
+example(void)
+{
+	/* A single pair of braces is always allowed. */
+	int n = { 13 };
+
+	int too_many = { 17, 19 };
+
+	/* XXX: Double-check with C99, this might be allowed. */
+	int too_few = {};
+}
Index: src/tests/usr.bin/xlint/lint1/msg_174.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_174.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_174.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_174.exp:1.1	Sat Jan  2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_174.exp	Fri Jan  8 21:25:03 2021
@@ -1 +1 @@
-msg_174.c(6): syntax error ':' [249]
+msg_174.c(12): too many initializers [174]

Reply via email to