Module Name: src Committed By: rillig Date: Sun Aug 15 21:21:14 UTC 2021
Modified Files: src/tests/usr.bin/xlint/lint1: msg_193.c msg_193.exp Log Message: tests/lint: test how NOTREACHED affects the unreachable warning Inspired by lib/libedit/readline.c 1.159 from 2021-08-15. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/tests/usr.bin/xlint/lint1/msg_193.c \ src/tests/usr.bin/xlint/lint1/msg_193.exp 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_193.c diff -u src/tests/usr.bin/xlint/lint1/msg_193.c:1.12 src/tests/usr.bin/xlint/lint1/msg_193.c:1.13 --- src/tests/usr.bin/xlint/lint1/msg_193.c:1.12 Sun Jul 11 19:30:56 2021 +++ src/tests/usr.bin/xlint/lint1/msg_193.c Sun Aug 15 21:21:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: msg_193.c,v 1.12 2021/07/11 19:30:56 rillig Exp $ */ +/* $NetBSD: msg_193.c,v 1.13 2021/08/15 21:21:13 rillig Exp $ */ # 3 "msg_193.c" // Test for message: statement not reached [193] @@ -616,3 +616,38 @@ reachable: /* TODO: switch */ /* TODO: system-dependent constant expression (see tn_system_dependent) */ + +void suppressed(void); + +void +lint_annotation_NOTREACHED(void) +{ + if (0) { + /* expect+1: warning: statement not reached [193] */ + unreachable(); + } + + if (0) { + /* NOTREACHED */ + suppressed(); + } + + if (0) + /* NOTREACHED */ + suppressed(); + + if (1) { + reachable(); + } + + if (1) { + /* NOTREACHED */ + suppressed(); + } + + /* FIXME: The 'if' statement _is_ reached. */ + /* expect+1: warning: statement not reached [193] */ + if (1) + /* NOTREACHED */ + suppressed(); +} Index: src/tests/usr.bin/xlint/lint1/msg_193.exp diff -u src/tests/usr.bin/xlint/lint1/msg_193.exp:1.12 src/tests/usr.bin/xlint/lint1/msg_193.exp:1.13 --- src/tests/usr.bin/xlint/lint1/msg_193.exp:1.12 Sun Jul 11 19:30:56 2021 +++ src/tests/usr.bin/xlint/lint1/msg_193.exp Sun Aug 15 21:21:13 2021 @@ -85,3 +85,5 @@ msg_193.c(540): warning: statement not r msg_193.c(580): warning: label 'six' unused in function 'test_goto_numbers_alphabetically' [232] msg_193.c(597): warning: statement not reached [193] msg_193.c(606): warning: statement not reached [193] +msg_193.c(627): warning: statement not reached [193] +msg_193.c(650): warning: statement not reached [193]