Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 (#1469)
This commit is contained in:
parent
7abec071b5
commit
b272fb3605
@ -69,9 +69,17 @@
|
|||||||
# define FMT_HAS_BUILTIN(x) 0
|
# define FMT_HAS_BUILTIN(x) 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if FMT_HAS_CPP_ATTRIBUTE(fallthrough) && \
|
#if __cplusplus == 201103L || __cplusplus == 201402L
|
||||||
(__cplusplus >= 201703 || FMT_GCC_VERSION != 0)
|
# if defined(__clang__)
|
||||||
# define FMT_FALLTHROUGH [[fallthrough]]
|
# define FMT_FALLTHROUGH [[clang::fallthrough]];
|
||||||
|
# elif FMT_GCC_VERSION >= 700
|
||||||
|
# define FMT_FALLTHROUGH [[gnu::fallthrough]];
|
||||||
|
# else
|
||||||
|
# define FMT_FALLTHROUGH
|
||||||
|
# endif
|
||||||
|
#elif FMT_HAS_CPP_ATTRIBUTE(fallthrough) && \
|
||||||
|
((__cplusplus >= 201703) || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L))
|
||||||
|
# define FMT_FALLTHROUGH [[fallthrough]];
|
||||||
#else
|
#else
|
||||||
# define FMT_FALLTHROUGH
|
# define FMT_FALLTHROUGH
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user