Module Name: src
Committed By: rillig
Date: Sat Jan 2 18:06:01 UTC 2021
Modified Files:
src/tests/usr.bin/xlint/lint1: msg_000.c msg_000.exp msg_001.c
msg_001.exp msg_002.c msg_002.exp msg_004.c msg_004.exp msg_005.c
msg_005.exp msg_085.c msg_085.exp
src/usr.bin/xlint/lint1: decl.c
Log Message:
lint: add a few more tests
No serious bugs found this time.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/msg_000.c \
src/tests/usr.bin/xlint/lint1/msg_000.exp \
src/tests/usr.bin/xlint/lint1/msg_001.c \
src/tests/usr.bin/xlint/lint1/msg_001.exp \
src/tests/usr.bin/xlint/lint1/msg_002.c \
src/tests/usr.bin/xlint/lint1/msg_002.exp \
src/tests/usr.bin/xlint/lint1/msg_004.c \
src/tests/usr.bin/xlint/lint1/msg_004.exp \
src/tests/usr.bin/xlint/lint1/msg_005.c \
src/tests/usr.bin/xlint/lint1/msg_005.exp \
src/tests/usr.bin/xlint/lint1/msg_085.c \
src/tests/usr.bin/xlint/lint1/msg_085.exp
cvs rdiff -u -r1.100 -r1.101 src/usr.bin/xlint/lint1/decl.c
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_000.c
diff -u src/tests/usr.bin/xlint/lint1/msg_000.c:1.1 src/tests/usr.bin/xlint/lint1/msg_000.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_000.c:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_000.c Sat Jan 2 18:06:01 2021
@@ -1,7 +1,10 @@
-/* $NetBSD: msg_000.c,v 1.1 2021/01/02 10:22:42 rillig Exp $ */
+/* $NetBSD: msg_000.c,v 1.2 2021/01/02 18:06:01 rillig Exp $ */
# 3 "msg_000.c"
// Test for message: empty declaration [0]
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+extern int extern_declared;
+
+;
+
+static int local_defined;
Index: src/tests/usr.bin/xlint/lint1/msg_000.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_000.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_000.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_000.exp:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_000.exp Sat Jan 2 18:06:01 2021
@@ -1 +1,2 @@
-msg_000.c(6): syntax error ':' [249]
+msg_000.c(8): warning: empty declaration [0]
+msg_000.c(10): warning: static variable local_defined unused [226]
Index: src/tests/usr.bin/xlint/lint1/msg_001.c
diff -u src/tests/usr.bin/xlint/lint1/msg_001.c:1.1 src/tests/usr.bin/xlint/lint1/msg_001.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_001.c:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_001.c Sat Jan 2 18:06:01 2021
@@ -1,7 +1,8 @@
-/* $NetBSD: msg_001.c,v 1.1 2021/01/02 10:22:42 rillig Exp $ */
+/* $NetBSD: msg_001.c,v 1.2 2021/01/02 18:06:01 rillig Exp $ */
# 3 "msg_001.c"
// Test for message: old style declaration; add int [1]
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+old_style = 1;
+
+int new_style = 1;
Index: src/tests/usr.bin/xlint/lint1/msg_001.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_001.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_001.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_001.exp:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_001.exp Sat Jan 2 18:06:01 2021
@@ -1 +1 @@
-msg_001.c(6): syntax error ':' [249]
+msg_001.c(6): warning: old style declaration; add int [1]
Index: src/tests/usr.bin/xlint/lint1/msg_002.c
diff -u src/tests/usr.bin/xlint/lint1/msg_002.c:1.1 src/tests/usr.bin/xlint/lint1/msg_002.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_002.c:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_002.c Sat Jan 2 18:06:01 2021
@@ -1,7 +1,8 @@
-/* $NetBSD: msg_002.c,v 1.1 2021/01/02 10:22:42 rillig Exp $ */
+/* $NetBSD: msg_002.c,v 1.2 2021/01/02 18:06:01 rillig Exp $ */
# 3 "msg_002.c"
// Test for message: empty declaration [2]
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+int;
+
+int local_variable;
Index: src/tests/usr.bin/xlint/lint1/msg_002.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_002.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_002.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_002.exp:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_002.exp Sat Jan 2 18:06:01 2021
@@ -1 +1 @@
-msg_002.c(6): syntax error ':' [249]
+msg_002.c(6): warning: empty declaration [2]
Index: src/tests/usr.bin/xlint/lint1/msg_004.c
diff -u src/tests/usr.bin/xlint/lint1/msg_004.c:1.1 src/tests/usr.bin/xlint/lint1/msg_004.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_004.c:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_004.c Sat Jan 2 18:06:01 2021
@@ -1,7 +1,21 @@
-/* $NetBSD: msg_004.c,v 1.1 2021/01/02 10:22:42 rillig Exp $ */
+/* $NetBSD: msg_004.c,v 1.2 2021/01/02 18:06:01 rillig Exp $ */
# 3 "msg_004.c"
// Test for message: illegal type combination [4]
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+// XXX: this goes undetected
+signed double signed_double;
+
+int ok_int;
+double ok_double;
+float _Complex ok_float_complex;
+
+int _Complex illegal_int_complex;
+
+char enum {
+ CHAR
+};
+
+long struct {
+ int member;
+};
Index: src/tests/usr.bin/xlint/lint1/msg_004.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_004.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_004.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_004.exp:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_004.exp Sat Jan 2 18:06:01 2021
@@ -1 +1,4 @@
-msg_004.c(6): syntax error ':' [249]
+msg_004.c(13): Invalid type for _Complex [308]
+msg_004.c(13): illegal type combination [4]
+msg_004.c(17): illegal type combination [4]
+msg_004.c(21): illegal type combination [4]
Index: src/tests/usr.bin/xlint/lint1/msg_005.c
diff -u src/tests/usr.bin/xlint/lint1/msg_005.c:1.1 src/tests/usr.bin/xlint/lint1/msg_005.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_005.c:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_005.c Sat Jan 2 18:06:01 2021
@@ -1,7 +1,8 @@
-/* $NetBSD: msg_005.c,v 1.1 2021/01/02 10:22:42 rillig Exp $ */
+/* $NetBSD: msg_005.c,v 1.2 2021/01/02 18:06:01 rillig Exp $ */
# 3 "msg_005.c"
// Test for message: modifying typedef with '%s'; only qualifiers allowed [5]
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+typedef int number;
+number long long_variable;
+number const const_variable;
Index: src/tests/usr.bin/xlint/lint1/msg_005.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_005.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_005.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_005.exp:1.1 Sat Jan 2 10:22:42 2021
+++ src/tests/usr.bin/xlint/lint1/msg_005.exp Sat Jan 2 18:06:01 2021
@@ -1 +1 @@
-msg_005.c(6): syntax error ':' [249]
+msg_005.c(7): warning: modifying typedef with 'long'; only qualifiers allowed [5]
Index: src/tests/usr.bin/xlint/lint1/msg_085.c
diff -u src/tests/usr.bin/xlint/lint1/msg_085.c:1.1 src/tests/usr.bin/xlint/lint1/msg_085.c:1.2
--- src/tests/usr.bin/xlint/lint1/msg_085.c:1.1 Sat Jan 2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_085.c Sat Jan 2 18:06:01 2021
@@ -1,7 +1,9 @@
-/* $NetBSD: msg_085.c,v 1.1 2021/01/02 10:22:43 rillig Exp $ */
+/* $NetBSD: msg_085.c,v 1.2 2021/01/02 18:06:01 rillig Exp $ */
# 3 "msg_085.c"
// Test for message: dubious tag declaration: %s %s [85]
-TODO: "Add example code that triggers the above message."
-TODO: "Add example code that almost triggers the above message."
+extern int stat(struct stat *);
+
+struct ok;
+extern int ok(struct ok *);
Index: src/tests/usr.bin/xlint/lint1/msg_085.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_085.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_085.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_085.exp:1.1 Sat Jan 2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_085.exp Sat Jan 2 18:06:01 2021
@@ -1 +1,2 @@
-msg_085.c(6): syntax error ':' [249]
+msg_085.c(6): warning: dubious tag declaration: struct stat [85]
+msg_085.c(8): warning: struct ok never defined [233]
Index: src/usr.bin/xlint/lint1/decl.c
diff -u src/usr.bin/xlint/lint1/decl.c:1.100 src/usr.bin/xlint/lint1/decl.c:1.101
--- src/usr.bin/xlint/lint1/decl.c:1.100 Sat Jan 2 17:17:00 2021
+++ src/usr.bin/xlint/lint1/decl.c Sat Jan 2 18:06:01 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.100 2021/01/02 17:17:00 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.101 2021/01/02 18:06:01 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -38,7 +38,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: decl.c,v 1.100 2021/01/02 17:17:00 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.101 2021/01/02 18:06:01 rillig Exp $");
#endif
#include <sys/param.h>
@@ -387,7 +387,7 @@ tdeferr(type_t *td, tspec_t t)
if (t2 == CHAR || t2 == SHORT || t2 == INT || t2 == LONG ||
t2 == QUAD) {
if (!tflag)
- /* modifying typedef with ... */
+ /* modifying typedef with '%s'; only ... */
warning(5, ttab[t].tt_name);
td = duptyp(gettyp(merge_type_specifiers(t2, t)));
td->t_typedef = 1;
@@ -396,7 +396,7 @@ tdeferr(type_t *td, tspec_t t)
break;
case SHORT:
if (t2 == INT || t2 == UINT) {
- /* modifying typedef with ... */
+ /* modifying typedef with '%s'; only qualifiers ... */
warning(5, "short");
td = duptyp(gettyp(t2 == INT ? SHORT : USHORT));
td->t_typedef = 1;