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 lint: add a few more tests
details: https://anonhg.NetBSD.org/src/rev/19dc1012d63e
branches: trunk
changeset: 950787:19dc1012d63e
user: rillig <rillig%NetBSD.org@localhost>
date: Sun Jan 31 09:21:24 2021 +0000
description:
lint: add a few more tests
diffstat:
tests/usr.bin/xlint/lint1/msg_003.c | 12 +++++++++---
tests/usr.bin/xlint/lint1/msg_003.exp | 4 +++-
tests/usr.bin/xlint/lint1/msg_085.c | 8 +++++---
tests/usr.bin/xlint/lint1/msg_085.exp | 6 ++++--
tests/usr.bin/xlint/lint1/msg_243.c | 24 +++++++++++++++++++++---
tests/usr.bin/xlint/lint1/msg_243.exp | 5 ++++-
6 files changed, 46 insertions(+), 13 deletions(-)
diffs (97 lines):
diff -r 4e3d10826e0f -r 19dc1012d63e tests/usr.bin/xlint/lint1/msg_003.c
--- a/tests/usr.bin/xlint/lint1/msg_003.c Sun Jan 31 08:59:40 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_003.c Sun Jan 31 09:21:24 2021 +0000
@@ -1,7 +1,13 @@
-/* $NetBSD: msg_003.c,v 1.1 2021/01/02 10:22:42 rillig Exp $ */
+/* $NetBSD: msg_003.c,v 1.2 2021/01/31 09:21:24 rillig Exp $ */
# 3 "msg_003.c"
// Test for message: %s declared in argument declaration list [3]
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+/*ARGSUSED*/
+void
+example(declare_struct, declare_union, declare_enum)
+ struct struct_in_argument *declare_struct;
+ union union_in_argument *declare_union;
+ enum enum_in_argument *declare_enum;
+{
+}
diff -r 4e3d10826e0f -r 19dc1012d63e tests/usr.bin/xlint/lint1/msg_003.exp
--- a/tests/usr.bin/xlint/lint1/msg_003.exp Sun Jan 31 08:59:40 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_003.exp Sun Jan 31 09:21:24 2021 +0000
@@ -1,1 +1,3 @@
-msg_003.c(6): syntax error ':' [249]
+msg_003.c(9): warning: struct declared in argument declaration list [3]
+msg_003.c(10): warning: union declared in argument declaration list [3]
+msg_003.c(11): warning: enum declared in argument declaration list [3]
diff -r 4e3d10826e0f -r 19dc1012d63e tests/usr.bin/xlint/lint1/msg_085.c
--- a/tests/usr.bin/xlint/lint1/msg_085.c Sun Jan 31 08:59:40 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_085.c Sun Jan 31 09:21:24 2021 +0000
@@ -1,9 +1,11 @@
-/* $NetBSD: msg_085.c,v 1.2 2021/01/02 18:06:01 rillig Exp $ */
+/* $NetBSD: msg_085.c,v 1.3 2021/01/31 09:21:24 rillig Exp $ */
# 3 "msg_085.c"
// Test for message: dubious tag declaration: %s %s [85]
-extern int stat(struct stat *);
+void declare_struct(struct in_argument *); /* expect: 85 */
+void declare_union(union in_argument *); /* expect: 85 */
+void declare_enum(enum in_argument *); /* expect: 85 */
-struct ok;
+struct ok; /* expect: 233 */
extern int ok(struct ok *);
diff -r 4e3d10826e0f -r 19dc1012d63e tests/usr.bin/xlint/lint1/msg_085.exp
--- a/tests/usr.bin/xlint/lint1/msg_085.exp Sun Jan 31 08:59:40 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_085.exp Sun Jan 31 09:21:24 2021 +0000
@@ -1,2 +1,4 @@
-msg_085.c(6): warning: dubious tag declaration: struct stat [85]
-msg_085.c(8): warning: struct ok never defined [233]
+msg_085.c(6): warning: dubious tag declaration: struct in_argument [85]
+msg_085.c(7): warning: dubious tag declaration: union in_argument [85]
+msg_085.c(8): warning: dubious tag declaration: enum in_argument [85]
+msg_085.c(10): warning: struct ok never defined [233]
diff -r 4e3d10826e0f -r 19dc1012d63e tests/usr.bin/xlint/lint1/msg_243.c
--- a/tests/usr.bin/xlint/lint1/msg_243.c Sun Jan 31 08:59:40 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_243.c Sun Jan 31 09:21:24 2021 +0000
@@ -1,7 +1,25 @@
-/* $NetBSD: msg_243.c,v 1.1 2021/01/02 10:22:44 rillig Exp $ */
+/* $NetBSD: msg_243.c,v 1.2 2021/01/31 09:21:24 rillig Exp $ */
# 3 "msg_243.c"
// Test for message: dubious comparison of enums, op %s [243]
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+/* lint1-extra-flags: -eP */
+
+enum color {
+ RED, GREEN, BLUE
+};
+
+void eval(_Bool);
+
+/* TODO: There should be a way to declare an enum type as "ordered ok". */
+
+void
+example(enum color a, enum color b)
+{
+ eval(a < b); /* expect: 243 */
+ eval(a <= b); /* expect: 243 */
+ eval(a > b); /* expect: 243 */
+ eval(a >= b); /* expect: 243 */
+ eval(a == b);
+ eval(a != b);
+}
diff -r 4e3d10826e0f -r 19dc1012d63e tests/usr.bin/xlint/lint1/msg_243.exp
--- a/tests/usr.bin/xlint/lint1/msg_243.exp Sun Jan 31 08:59:40 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_243.exp Sun Jan 31 09:21:24 2021 +0000
@@ -1,1 +1,4 @@
-msg_243.c(6): syntax error ':' [249]
+msg_243.c(19): warning: dubious comparison of enums, op < [243]
+msg_243.c(20): warning: dubious comparison of enums, op <= [243]
+msg_243.c(21): warning: dubious comparison of enums, op > [243]
+msg_243.c(22): warning: dubious comparison of enums, op >= [243]
Home |
Main Index |
Thread Index |
Old Index