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]