diff --git a/tinyxml2.cpp b/tinyxml2.cpp index ba37cf4..97f64ae 100644 --- a/tinyxml2.cpp +++ b/tinyxml2.cpp @@ -36,38 +36,20 @@ distribution. #ifndef __has_attribute # define __has_attribute(x) 0 #endif -#ifdef __cplusplus -# ifndef __has_cpp_attribute -# define __has_cpp_attribute(x) 0 -# endif -#else -# ifndef __has_c_attribute -# define __has_c_attribute(x) 0 -# endif +#ifndef __has_cpp_attribute +# define __has_cpp_attribute(x) 0 #endif -#ifdef __cplusplus -# if defined(_MSC_VER) -# define TIXML_FALLTHROUGH (void(0)) -# elif (__cplusplus >= 201703L && __has_cpp_attribute(fallthrough)) -# define TIXML_FALLTHROUGH [[fallthrough]] -# elif __has_cpp_attribute(clang::fallthrough) -# define TIXML_FALLTHROUGH [[clang::fallthrough]] -# elif __has_attribute(fallthrough) -# define TIXML_FALLTHROUGH __attribute__((fallthrough)) -# else -# define TIXML_FALLTHROUGH (void(0)) -# endif +#if defined(_MSC_VER) +# define TIXML_FALLTHROUGH (void(0)) +#elif (__cplusplus >= 201703L && __has_cpp_attribute(fallthrough)) +# define TIXML_FALLTHROUGH [[fallthrough]] +#elif __has_cpp_attribute(clang::fallthrough) +# define TIXML_FALLTHROUGH [[clang::fallthrough]] +#elif __has_attribute(fallthrough) +# define TIXML_FALLTHROUGH __attribute__((fallthrough)) #else -# if defined(_MSC_VER) -# define TIXML_FALLTHROUGH (void(0)) -# elif __has_c_attribute(fallthrough) -# define TIXML_FALLTHROUGH [[fallthrough]] -# elif __has_attribute(fallthrough) -# define TIXML_FALLTHROUGH __attribute__((fallthrough)) -# else -# define TIXML_FALLTHROUGH (void(0)) -# endif +# define TIXML_FALLTHROUGH (void(0)) #endif