From 6a703f5b0edfdbf2eee72d59499f73585262a46f Mon Sep 17 00:00:00 2001 From: Manoj Gupta Date: Mon, 4 Nov 2019 17:17:39 -0800 Subject: Clean up implicit fall through. Directly use the __attribute__ ((fallthrough)) instead of a macro. This was suggested in CL:1772474. BUG=chromium:997709 TEST=CQ BRANCH=None Change-Id: Ic6cd417d7c735395a4b136dbb0879a6f1716da98 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1897360 Tested-by: Manoj Gupta Reviewed-by: Julius Werner Commit-Queue: Manoj Gupta --- firmware/2lib/include/2common.h | 21 --------------------- firmware/lib/cgptlib/cgptlib.c | 2 +- firmware/lib/vboot_ui.c | 4 ++-- futility/cmd_dump_fmap.c | 4 ++-- futility/cmd_sign.c | 2 +- host/lib/crossystem.c | 2 +- 6 files changed, 7 insertions(+), 28 deletions(-) diff --git a/firmware/2lib/include/2common.h b/firmware/2lib/include/2common.h index 6c5563a6..b4e941c5 100644 --- a/firmware/2lib/include/2common.h +++ b/firmware/2lib/include/2common.h @@ -71,27 +71,6 @@ struct vb2_public_key; #endif #endif -// Have a generic fall-through for different versions of C/C++. -// Taken from boringssl. -#if defined(__cplusplus) && __cplusplus >= 201703L -#define VBOOT_FALLTHROUGH [[fallthrough]] -#elif defined(__cplusplus) && __cplusplus >= 201103L && defined(__clang__) -#define VBOOT_FALLTHROUGH [[clang::fallthrough]] -#elif defined(__cplusplus) && __cplusplus >= 201103L && defined(__GNUC__) && \ - __GNUC__ >= 7 -#define VBOOT_FALLTHROUGH [[gnu::fallthrough]] -#elif defined(__GNUC__) && __GNUC__ >= 7 // gcc 7 -#define VBOOT_FALLTHROUGH __attribute__ ((fallthrough)) -#elif defined(__clang__) -#if __has_attribute(fallthrough) -#define VBOOT_FALLTHROUGH __attribute__ ((fallthrough)) -#else // clang versions that do not support fallthrough. -#define VBOOT_FALLTHROUGH -#endif -#else // C++11 on gcc 6, and all other cases -#define VBOOT_FALLTHROUGH -#endif - /** * Round up a number to a multiple of VB2_WORKBUF_ALIGN * diff --git a/firmware/lib/cgptlib/cgptlib.c b/firmware/lib/cgptlib/cgptlib.c index 7803a7e9..db704b54 100644 --- a/firmware/lib/cgptlib/cgptlib.c +++ b/firmware/lib/cgptlib/cgptlib.c @@ -143,8 +143,8 @@ int GptUpdateKernelWithEntry(GptData *gpt, GptEntry *e, uint32_t update_type) break; } /* Out of tries, so drop through and mark partition bad. */ + __attribute__ ((fallthrough)); } - VBOOT_FALLTHROUGH; case GPT_UPDATE_ENTRY_BAD: { /* Giving up on this partition entirely. */ if (!GetEntrySuccessful(e)) { diff --git a/firmware/lib/vboot_ui.c b/firmware/lib/vboot_ui.c index c8ef8cdc..ac509430 100644 --- a/firmware/lib/vboot_ui.c +++ b/firmware/lib/vboot_ui.c @@ -258,7 +258,7 @@ static vb2_error_t vb2_enter_vendor_data_ui(struct vb2_context *ctx, return VB2_SUCCESS; case 'a'...'z': key = toupper(key); - VBOOT_FALLTHROUGH; + __attribute__ ((fallthrough)); case '0'...'9': case 'A'...'Z': if ((len > 0 && is_vowel(key)) || @@ -594,7 +594,7 @@ static vb2_error_t vb2_developer_ui(struct vb2_context *ctx) /* Only disable virtual dev switch if allowed by GBB */ if (!(gbb->flags & VB2_GBB_FLAG_ENTER_TRIGGERS_TONORM)) break; - VBOOT_FALLTHROUGH; + __attribute__ ((fallthrough)); case ' ': /* See if we should disable virtual dev-mode switch. */ VB2_DEBUG("shared->flags=%#x\n", shared->flags); diff --git a/futility/cmd_dump_fmap.c b/futility/cmd_dump_fmap.c index ef46ffcd..48f9185c 100644 --- a/futility/cmd_dump_fmap.c +++ b/futility/cmd_dump_fmap.c @@ -444,7 +444,7 @@ static int do_dump_fmap(int argc, char *argv[]) break; case 'H': opt_gaps = 1; - VBOOT_FALLTHROUGH; + __attribute__ ((fallthrough)); case 'h': opt_format = FMT_HUMAN; opt_overlap++; @@ -507,7 +507,7 @@ static int do_dump_fmap(int argc, char *argv[]) case FMT_NORMAL: printf("hit at 0x%08x\n", (uint32_t) ((char *)fmap - (char *)base_of_rom)); - VBOOT_FALLTHROUGH; + __attribute__ ((fallthrough)); default: retval = normal_fmap(fmap, argc - optind - 1, diff --git a/futility/cmd_sign.c b/futility/cmd_sign.c index fb096763..9bfba4f8 100644 --- a/futility/cmd_sign.c +++ b/futility/cmd_sign.c @@ -721,7 +721,7 @@ static int do_sign(int argc, char *argv[]) break; case OPT_FV: sign_option.fv_specified = 1; - VBOOT_FALLTHROUGH; + __attribute__ ((fallthrough)); case OPT_INFILE: sign_option.inout_file_count++; infile = optarg; diff --git a/host/lib/crossystem.c b/host/lib/crossystem.c index 3a418939..1bad2cfb 100644 --- a/host/lib/crossystem.c +++ b/host/lib/crossystem.c @@ -409,7 +409,7 @@ static int GetVdatInt(VdatIntField field) break; case VDAT_INT_FW_BOOT2: value = (sh->flags & VBSD_BOOT_FIRMWARE_VBOOT2 ? 1 : 0); - VBOOT_FALLTHROUGH; + __attribute__ ((fallthrough)); default: break; } -- cgit v1.2.1