diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-05-05 17:55:41 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-05-21 17:27:46 +0200 |
commit | b307a6b54da61e462c726619dc45b2f19e850c6d (patch) | |
tree | 133bb31d6a137560e36217d6c20ddd6a5787790f | |
parent | f3ec4bb41cddaeb154f0b8a7ffbc1d7d64691263 (diff) | |
download | sparse-b307a6b54da61e462c726619dc45b2f19e850c6d.tar.gz |
bad-label: check for unused labels
Issue a warning if a label is defined but not used.
Note: this should take in account the attribute 'unused'.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | scope.c | 8 | ||||
-rw-r--r-- | validation/label-unused.c | 1 |
2 files changed, 8 insertions, 1 deletions
@@ -150,6 +150,14 @@ void start_label_scope(void) void end_label_scope(void) { + struct symbol *sym; + + FOR_EACH_PTR(label_scope->symbols, sym) { + if (!sym->stmt || sym->used) + continue; + warning(sym->pos, "unused label '%s'", show_ident(sym->ident)); + } END_FOR_EACH_PTR(sym); + end_scope(&label_scope); } diff --git a/validation/label-unused.c b/validation/label-unused.c index c136c7a8..a654ef77 100644 --- a/validation/label-unused.c +++ b/validation/label-unused.c @@ -15,7 +15,6 @@ l: /* * check-name: label-unused - * check-known-to-fail * * check-error-start label-unused.c:3:1: warning: unused label 'l' |