Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/xlint/lint1 lint: combine duplicate case branches in...
details: https://anonhg.NetBSD.org/src/rev/19d74b07972a
branches: trunk
changeset: 1017602:19d74b07972a
user: rillig <rillig%NetBSD.org@localhost>
date: Fri Jan 01 14:11:20 2021 +0000
description:
lint: combine duplicate case branches in popdecl
This works around GCC 9, which didn't see that the following statement
cannot terminate normally, even though 0 is obviously a constant expression
and assert_failed is marked as __attribute__((__noreturn__)).
do {
if (!(0))
assert_failed(...);
} while (0)
diffstat:
usr.bin/xlint/lint1/decl.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diffs (40 lines):
diff -r 283327ddce9f -r 19d74b07972a usr.bin/xlint/lint1/decl.c
--- a/usr.bin/xlint/lint1/decl.c Fri Jan 01 14:08:33 2021 +0000
+++ b/usr.bin/xlint/lint1/decl.c Fri Jan 01 14:11:20 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.96 2021/01/01 13:43:34 kre Exp $ */
+/* $NetBSD: decl.c,v 1.97 2021/01/01 14:11:20 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.96 2021/01/01 13:43:34 kre Exp $");
+__RCSID("$NetBSD: decl.c,v 1.97 2021/01/01 14:11:20 rillig Exp $");
#endif
#include <sys/param.h>
@@ -612,11 +612,6 @@
di = dcs;
dcs = di->d_next;
switch (di->d_ctx) {
- case EXTERN:
- /* there is nothing after external declarations */
- lint_assert(0);
- /* NOTREACHED */
- /* XXX gcc is stupid enough not to know that, hence: */ break;
case MOS:
case MOU:
case ENUMCON:
@@ -662,6 +657,9 @@
/* usage of arguments will be checked by funcend() */
rmsyms(di->d_dlsyms);
break;
+ case EXTERN:
+ /* there is nothing after external declarations */
+ /* FALLTHROUGH */
default:
lint_assert(0);
}
Home |
Main Index |
Thread Index |
Old Index