From 585cb1d499e980dc7e572a32d79757c61cf26b92 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Sun, 27 May 2018 15:22:57 +0100 Subject: [PATCH] Fix two warnings about implicit fallthrough. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In the first case: pio.c: In function ‘main’: pio.c:355:4: warning: this statement may fall through [-Wimplicit-fallthrough=] usage(0); ^~~~~~~~ pio.c:356:3: note: here case 'm': ^~~~ The fallthrough is not intended because `usage()` never returns (it calls `exit` unconditionally). Annotate as `noreturn` so the compiler realises this. In the second case: fexc.c: In function ‘main’: fexc.c:312:15: warning: this statement may fall through [-Wimplicit-fallthrough=] filename[1] = argv[optind+1]; /* out */ ~~~~~~~~~~~~^~~~~~~~~~~~~~~~ fexc.c:313:2: note: here case 1: ^~~~ The fallthrough appears to be intended (the two argument case is a superset of the one argument case). Annotate with a comment which tells the compiler this is intended. Signed-off-by: Ian Campbell --- fexc.c | 1 + pio.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/fexc.c b/fexc.c index 15aba3d..5e715d7 100644 --- a/fexc.c +++ b/fexc.c @@ -310,6 +310,7 @@ show_usage: switch (argc - optind) { case 2: filename[1] = argv[optind+1]; /* out */ + /* fall-through */ case 1: if (strcmp(argv[optind], "-") != 0) filename[0] = argv[optind]; /* in */ diff --git a/pio.c b/pio.c index 0e6afd0..09cfaf8 100644 --- a/pio.c +++ b/pio.c @@ -165,7 +165,7 @@ static void print(const char *buf) static const char *argv0; -static void usage(int rc ) +static __attribute__((noreturn)) void usage(int rc ) { fputs("sunxi-pio " VERSION "\n\n", stderr); fprintf(stderr, "usage: %s -m|-i input [-o output] pin..\n", argv0);