From 5f7b1164c56f36d70813c87e46c540e1e4aa03fc Mon Sep 17 00:00:00 2001 From: Jacob Garber Date: Fri, 19 Jul 2019 17:35:28 -0600 Subject: libpayload: Enable -Wimplicit-fallthrough Add comments to intentional fall throughs and enable the warning. Change-Id: I93e071c4fb139fa6e9cd8a1bfb5800f5f4eac50b Signed-off-by: Jacob Garber Reviewed-on: https://review.coreboot.org/c/coreboot/+/34457 Tested-by: build bot (Jenkins) Reviewed-by: HAOUAS Elyes --- payloads/libpayload/Makefile.inc | 2 +- payloads/libpayload/curses/PDCurses/pdcurses/scanw.c | 2 +- payloads/libpayload/libc/printf.c | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/payloads/libpayload/Makefile.inc b/payloads/libpayload/Makefile.inc index 1fa07f9a7a..f0aaa2727f 100644 --- a/payloads/libpayload/Makefile.inc +++ b/payloads/libpayload/Makefile.inc @@ -63,7 +63,7 @@ CFLAGS += $(EXTRA_CFLAGS) $(INCLUDES) -Os -pipe -nostdinc -ggdb3 CFLAGS += -nostdlib -fno-builtin -ffreestanding -fomit-frame-pointer CFLAGS += -ffunction-sections -fdata-sections CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -CFLAGS += -Wwrite-strings -Wredundant-decls -Wno-trigraphs +CFLAGS += -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough CFLAGS += -Wstrict-aliasing -Wshadow -Werror $(obj)/libpayload-config.h: $(KCONFIG_AUTOHEADER) diff --git a/payloads/libpayload/curses/PDCurses/pdcurses/scanw.c b/payloads/libpayload/curses/PDCurses/pdcurses/scanw.c index 47f205052b..d1fd908dab 100644 --- a/payloads/libpayload/curses/PDCurses/pdcurses/scanw.c +++ b/payloads/libpayload/curses/PDCurses/pdcurses/scanw.c @@ -274,7 +274,7 @@ static int _pdc_vsscanf(const char *buf, const char *fmt, va_list arg_ptr) NEXT(c); goto string; } - /* no break */ + /* fall through */ default: if (fmt[1] == '-' && fmt[2] && f < (unsigned char)fmt[2]) diff --git a/payloads/libpayload/libc/printf.c b/payloads/libpayload/libc/printf.c index cb623aa51a..3896f01b86 100644 --- a/payloads/libpayload/libc/printf.c +++ b/payloads/libpayload/libc/printf.c @@ -585,6 +585,7 @@ static int printf_core(const char *fmt, struct printf_spec *ps, va_list ap) /* Integer values */ case 'P': /* pointer */ flags |= __PRINTF_FLAG_BIGCHARS; + /* fall through */ case 'p': flags |= __PRINTF_FLAG_PREFIX; base = 16; @@ -599,10 +600,12 @@ static int printf_core(const char *fmt, struct printf_spec *ps, va_list ap) case 'd': case 'i': flags |= __PRINTF_FLAG_SIGNED; + break; case 'u': break; case 'X': flags |= __PRINTF_FLAG_BIGCHARS; + /* fall through */ case 'x': base = 16; break; -- cgit v1.2.3