Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/xlint/common lint: for structs and unions, include i...



details:   https://anonhg.NetBSD.org/src/rev/3fbd8be5426a
branches:  trunk
changeset: 1020347:3fbd8be5426a
user:      rillig <rillig%NetBSD.org@localhost>
date:      Fri Apr 09 19:37:39 2021 +0000

description:
lint: for structs and unions, include incompleteness in the type name

This mainly helps to assess the situation where lint warns that a
pointer cast "may be troublesome", see msg_247.exp.

diffstat:

 tests/usr.bin/xlint/lint1/msg_003.exp |  4 ++--
 tests/usr.bin/xlint/lint1/msg_175.exp |  2 +-
 tests/usr.bin/xlint/lint1/msg_247.exp |  2 +-
 usr.bin/xlint/common/tyname.c         |  8 ++++++--
 4 files changed, 10 insertions(+), 6 deletions(-)

diffs (56 lines):

diff -r 2ec5d5ca9a9c -r 3fbd8be5426a tests/usr.bin/xlint/lint1/msg_003.exp
--- a/tests/usr.bin/xlint/lint1/msg_003.exp     Fri Apr 09 19:32:12 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_003.exp     Fri Apr 09 19:37:39 2021 +0000
@@ -1,3 +1,3 @@
-msg_003.c(9): warning: 'struct struct_in_argument' declared in argument declaration list [3]
-msg_003.c(10): warning: 'union union_in_argument' declared in argument declaration list [3]
+msg_003.c(9): warning: 'incomplete struct struct_in_argument' declared in argument declaration list [3]
+msg_003.c(10): warning: 'incomplete union union_in_argument' declared in argument declaration list [3]
 msg_003.c(11): warning: 'enum enum_in_argument' declared in argument declaration list [3]
diff -r 2ec5d5ca9a9c -r 3fbd8be5426a tests/usr.bin/xlint/lint1/msg_175.exp
--- a/tests/usr.bin/xlint/lint1/msg_175.exp     Fri Apr 09 19:32:12 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_175.exp     Fri Apr 09 19:37:39 2021 +0000
@@ -1,3 +1,3 @@
-msg_175.c(8): error: initialization of incomplete type 'struct incomplete' [175]
+msg_175.c(8): error: initialization of incomplete type 'incomplete struct incomplete' [175]
 msg_175.c(10): error: incomplete structure or union incomplete: incomplete [31]
 msg_175.c(6): warning: struct incomplete never defined [233]
diff -r 2ec5d5ca9a9c -r 3fbd8be5426a tests/usr.bin/xlint/lint1/msg_247.exp
--- a/tests/usr.bin/xlint/lint1/msg_247.exp     Fri Apr 09 19:32:12 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_247.exp     Fri Apr 09 19:37:39 2021 +0000
@@ -1,5 +1,5 @@
 msg_247.c(31): warning: pointer cast from 'pointer to struct Other' to 'pointer to struct <unnamed>' may be troublesome [247]
 msg_247.c(70): warning: pointer cast from 'pointer to struct Other' to 'pointer to signed char' may be troublesome [247]
-lhash.h(200): warning: pointer cast from 'pointer to struct lhash_st' to 'pointer to struct lhash_st_OPENSSL_STRING' may be troublesome [247]
+lhash.h(200): warning: pointer cast from 'pointer to incomplete struct lhash_st' to 'pointer to struct lhash_st_OPENSSL_STRING' may be troublesome [247]
        included from msg_247.c(146)
 msg_247.c(134): warning: struct lhash_st never defined [233]
diff -r 2ec5d5ca9a9c -r 3fbd8be5426a usr.bin/xlint/common/tyname.c
--- a/usr.bin/xlint/common/tyname.c     Fri Apr 09 19:32:12 2021 +0000
+++ b/usr.bin/xlint/common/tyname.c     Fri Apr 09 19:37:39 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: tyname.c,v 1.37 2021/04/02 12:16:50 rillig Exp $       */
+/*     $NetBSD: tyname.c,v 1.38 2021/04/09 19:37:39 rillig Exp $       */
 
 /*-
  * Copyright (c) 2005 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: tyname.c,v 1.37 2021/04/02 12:16:50 rillig Exp $");
+__RCSID("$NetBSD: tyname.c,v 1.38 2021/04/09 19:37:39 rillig Exp $");
 #endif
 
 #include <limits.h>
@@ -354,6 +354,10 @@
        if (tp->t_volatile)
                buf_add(&buf, "volatile ");
 
+#ifdef t_str
+       if ((t == STRUCT || t == UNION) && tp->t_str->sou_incomplete)
+               buf_add(&buf, "incomplete ");
+#endif
        buf_add(&buf, tspec_name(t));
 
        switch (t) {



Home | Main Index | Thread Index | Old Index