From 07726359724af21a3a1fadb2f0dcb155af37a569 Mon Sep 17 00:00:00 2001 From: Kareem Date: Wed, 17 Nov 2021 17:44:12 -0700 Subject: [PATCH] Rework FALL_THROUGH definition to use fallthrough if defined. --- wolfssl/wolfcrypt/types.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index 4bcf24a9d..a7dc69924 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -311,13 +311,13 @@ decouple library dependencies with standard string, memory and so on. #ifndef FALL_THROUGH /* GCC 7 has new switch() fall-through detection */ #if defined(__GNUC__) - #if ((__GNUC__ > 7) || ((__GNUC__ == 7) && (__GNUC_MINOR__ >= 1))) - #if defined(WOLFSSL_LINUXKM) && defined(fallthrough) - #define FALL_THROUGH fallthrough - #else - /* Use __ notation to avoid conflicts */ - #define FALL_THROUGH ; __attribute__ ((__fallthrough__)) - #endif + #if defined(fallthrough) + #define FALL_THROUGH fallthrough + #elif ((__GNUC__ > 7) || ((__GNUC__ == 7) && (__GNUC_MINOR__ >= 1))) + #define FALL_THROUGH ; __attribute__ ((fallthrough)) + #elif defined(__clang__) && defined(__clang_major__) && + (__clang_major__ >= 4) + #define FALL_THROUGH ; __attribute__ ((fallthrough)) #endif #endif #endif /* FALL_THROUGH */