summaryrefslogtreecommitdiff
path: root/usr.bin/xlint/lint1/tree.c
diff options
context:
space:
mode:
authorrillig <rillig@NetBSD.org>2023-07-07 06:03:31 +0000
committerrillig <rillig@NetBSD.org>2023-07-07 06:03:31 +0000
commitf260bdb92f361d3b4e3ab9d23e5f0eb4faafd698 (patch)
treeab7115a0d2c19d8f3c540e8afc852a7403b759f7 /usr.bin/xlint/lint1/tree.c
parenteed2e1f5f354b83b1e2723c0412ffdf22f00d4e8 (diff)
lint: only skip 'unused' warnings after errors, not other warnings
Previously, in -w mode, any warning suppressed further 'unused' warnings, even though there was no need to do that. This can be seen in the test gcc_attribute_var.c, where only the last unused variable from a function was marked as unused, the others slipped through. Fixed by counting the errors and the warnings separately and only combining them if actually desired.
Diffstat (limited to 'usr.bin/xlint/lint1/tree.c')
-rw-r--r--usr.bin/xlint/lint1/tree.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.bin/xlint/lint1/tree.c b/usr.bin/xlint/lint1/tree.c
index c86812ec726..5eaefd5f87e 100644
--- a/usr.bin/xlint/lint1/tree.c
+++ b/usr.bin/xlint/lint1/tree.c
@@ -1,4 +1,4 @@
-/* $NetBSD: tree.c,v 1.547 2023/07/03 21:36:16 rillig Exp $ */
+/* $NetBSD: tree.c,v 1.548 2023/07/07 06:03:31 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: tree.c,v 1.547 2023/07/03 21:36:16 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.548 2023/07/07 06:03:31 rillig Exp $");
#endif
#include <float.h>
@@ -4336,7 +4336,7 @@ integer_constant(tnode_t *tn, bool required)
val_t *v = xcalloc(1, sizeof(*v));
if (tn == NULL) {
- lint_assert(nerr != 0);
+ lint_assert(seen_error);
debug_step("constant node is null; returning 1 instead");
v->v_tspec = INT;
v->u.integer = 1;