diff options
| author | rillig <rillig@NetBSD.org> | 2023-07-07 06:03:31 +0000 |
|---|---|---|
| committer | rillig <rillig@NetBSD.org> | 2023-07-07 06:03:31 +0000 |
| commit | f260bdb92f361d3b4e3ab9d23e5f0eb4faafd698 (patch) | |
| tree | ab7115a0d2c19d8f3c540e8afc852a7403b759f7 /usr.bin/xlint/lint1/tree.c | |
| parent | eed2e1f5f354b83b1e2723c0412ffdf22f00d4e8 (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.c | 6 |
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; |
