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.
This commit is contained in:
Axel Kohlmeyer 2020-09-18 12:57:00 -04:00 committed by GitHub
parent 45da432d60
commit bc51a8df04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -70,9 +70,11 @@
#endif #endif
#if __cplusplus == 201103L || __cplusplus == 201402L #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]] # define FMT_FALLTHROUGH [[clang::fallthrough]]
# elif FMT_GCC_VERSION >= 700 && !defined(__PGI) && \ # elif FMT_GCC_VERSION >= 700 && \
(!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520)
# define FMT_FALLTHROUGH [[gnu::fallthrough]] # define FMT_FALLTHROUGH [[gnu::fallthrough]]
# else # else