Source-Changes-HG archive

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

[src/trunk]: src/tests/usr.bin/xlint/lint1 tests/lint: prepare non-GCC test f...



details:   https://anonhg.NetBSD.org/src/rev/3c6eb8e48331
branches:  trunk
changeset: 985004:3c6eb8e48331
user:      rillig <rillig%NetBSD.org@localhost>
date:      Tue Aug 03 20:46:10 2021 +0000

description:
tests/lint: prepare non-GCC test for union casts

diffstat:

 tests/usr.bin/xlint/lint1/d_c99_union_cast.c   |  14 +++++++++-----
 tests/usr.bin/xlint/lint1/d_c99_union_cast.exp |   2 +-
 2 files changed, 10 insertions(+), 6 deletions(-)

diffs (37 lines):

diff -r 934e17480e4d -r 3c6eb8e48331 tests/usr.bin/xlint/lint1/d_c99_union_cast.c
--- a/tests/usr.bin/xlint/lint1/d_c99_union_cast.c      Tue Aug 03 20:34:23 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/d_c99_union_cast.c      Tue Aug 03 20:46:10 2021 +0000
@@ -1,8 +1,10 @@
-/*     $NetBSD: d_c99_union_cast.c,v 1.5 2021/08/03 20:34:23 rillig Exp $      */
+/*     $NetBSD: d_c99_union_cast.c,v 1.6 2021/08/03 20:46:10 rillig Exp $      */
 # 3 "d_c99_union_cast.c"
 
 /* C99 does not define union cast, it is a GCC extension. */
 
+/* lint1-flags: -Sw */
+
 struct bar {
        int a;
        int b;
@@ -14,9 +16,11 @@
 };
 
 void
-foo(void)
+foo(struct bar *a)
 {
-       struct bar *a;          /* expect: 192 */
-
-       ((union foo)a).a;
+       /* TODO: warn about union casts in general */
+       a = ((union foo)a).a;
+       /* expect+1: error: type 'pointer to char' is not a member of 'union foo' [329] */
+       a = ((union foo)"string");
+       a->a++;
 }
diff -r 934e17480e4d -r 3c6eb8e48331 tests/usr.bin/xlint/lint1/d_c99_union_cast.exp
--- a/tests/usr.bin/xlint/lint1/d_c99_union_cast.exp    Tue Aug 03 20:34:23 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/d_c99_union_cast.exp    Tue Aug 03 20:46:10 2021 +0000
@@ -1,1 +1,1 @@
-d_c99_union_cast.c(19): warning: 'a' unused in function 'foo' [192]
+d_c99_union_cast.c(24): error: type 'pointer to char' is not a member of 'union foo' [329]



Home | Main Index | Thread Index | Old Index