Module Name:    src
Committed By:   rillig
Date:           Sun Feb 28 01:53:50 UTC 2021

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

Log Message:
tests/lint: add test for 'illegal structure pointer combination'


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/msg_245.c
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/msg_245.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_245.c
diff -u src/tests/usr.bin/xlint/lint1/msg_245.c:1.2 src/tests/usr.bin/xlint/lint1/msg_245.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_245.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_245.c	Sun Feb 28 01:53:49 2021
@@ -1,7 +1,32 @@
-/*	$NetBSD: msg_245.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_245.c,v 1.3 2021/02/28 01:53:49 rillig Exp $	*/
 # 3 "msg_245.c"
 
 // Test for message: illegal structure pointer combination, op %s [245]
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+typedef struct tag_and_typedef_tag {
+	int member;
+} tag_and_typedef_typedef;
+
+struct only_tag {
+	int member;
+};
+
+typedef struct {
+	int member;
+} only_typedef;
+
+struct {
+	int member;
+} unnamed;
+
+void sink_bool(_Bool);
+
+void
+example(tag_and_typedef_typedef both,
+	only_typedef only_typedef,
+	struct only_tag only_tag)
+{
+	sink_bool(&both == &only_tag);		/* expect: 245 */
+	sink_bool(&both == &only_typedef);	/* expect: 245 */
+	sink_bool(&both == &unnamed);		/* expect: 245 */
+}

Index: src/tests/usr.bin/xlint/lint1/msg_245.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_245.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_245.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_245.exp:1.1	Sat Jan  2 10:22:44 2021
+++ src/tests/usr.bin/xlint/lint1/msg_245.exp	Sun Feb 28 01:53:49 2021
@@ -1 +1,3 @@
-msg_245.c(6): syntax error ':' [249]
+msg_245.c(29): warning: illegal structure pointer combination, op == [245]
+msg_245.c(30): warning: illegal structure pointer combination, op == [245]
+msg_245.c(31): warning: illegal structure pointer combination, op == [245]

Reply via email to