From bc51a8df04d7bf5b90f10fe4e671bae9f545342b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 18 Sep 2020 12:57:00 -0400 Subject: [PATCH] Disable fallthrough attributes for the Intel compilers on Linux and MacOS (#1879) * Disable fallthrough attributes for the Intel compilers On MacOS and Linux the Intel compilers may be identified as the host compilers (Clang or GNU) but do not support the corresponding compiler specific fallthrough attributes. * Rearrange ifdef logic for excluding pre-C++17 fallthrough attributes This puts Intel and PGI compilers into a separate group and thus makes the intent and logic more obvious. --- include/fmt/format.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/fmt/format.h b/include/fmt/format.h index ca26e772..295b8071 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -70,9 +70,11 @@ #endif #if __cplusplus == 201103L || __cplusplus == 201402L -# if defined(__clang__) +# if defined(__INTEL_COMPILER) || defined(__PGI) +# define FMT_FALLTHROUGH +# elif defined(__clang__) # define FMT_FALLTHROUGH [[clang::fallthrough]] -# elif FMT_GCC_VERSION >= 700 && !defined(__PGI) && \ +# elif FMT_GCC_VERSION >= 700 && \ (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) # define FMT_FALLTHROUGH [[gnu::fallthrough]] # else