Module Name:    src
Committed By:   rillig
Date:           Sun Mar 14 22:24:24 UTC 2021

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

Log Message:
tests/lint: document how lint discards the typedef name in 247


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/tests/usr.bin/xlint/lint1/msg_247.c
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/msg_247.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_247.c
diff -u src/tests/usr.bin/xlint/lint1/msg_247.c:1.4 src/tests/usr.bin/xlint/lint1/msg_247.c:1.5
--- src/tests/usr.bin/xlint/lint1/msg_247.c:1.4	Sun Mar 14 21:44:35 2021
+++ src/tests/usr.bin/xlint/lint1/msg_247.c	Sun Mar 14 22:24:24 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg_247.c,v 1.4 2021/03/14 21:44:35 rillig Exp $	*/
+/*	$NetBSD: msg_247.c,v 1.5 2021/03/14 22:24:24 rillig Exp $	*/
 # 3 "msg_247.c"
 
 // Test for message: pointer cast from '%s' to '%s' may be troublesome [247]
@@ -17,5 +17,16 @@ struct Other {
 void
 example(struct Other *arg)
 {
-	PDisplay display = (PDisplay)arg;	/* expect: 247 */
+	PDisplay display;
+
+	/*
+	 * XXX: The target type is reported as 'struct <unnamed>'.  In cases
+	 *  like these, it would be helpful to print at least the type name
+	 *  of the pointer.  This type name though is discarded immediately
+	 *  when the parser reduces 'T_TYPENAME clrtyp' to 'clrtyp_typespec'.
+	 *  After that, the target type of the cast is just an unnamed struct,
+	 *  with no hint at all that there is a typedef for a pointer to the
+	 *  struct.
+	 */
+	display = (PDisplay)arg;	/* expect: 247 */
 }

Index: src/tests/usr.bin/xlint/lint1/msg_247.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_247.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_247.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_247.exp:1.2	Sun Mar 14 21:44:35 2021
+++ src/tests/usr.bin/xlint/lint1/msg_247.exp	Sun Mar 14 22:24:24 2021
@@ -1 +1 @@
-msg_247.c(20): warning: pointer cast from 'pointer to struct Other' to 'pointer to struct <unnamed>' may be troublesome [247]
+msg_247.c(31): warning: pointer cast from 'pointer to struct Other' to 'pointer to struct <unnamed>' may be troublesome [247]

Reply via email to