Loading...
Searching...
No Matches
Go to the documentation of this file.
36#if defined( __has_attribute )
37 #define KI_HAS_ATTRIBUTE( x ) __has_attribute( x )
39 #define KI_HAS_ATTRIBUTE( x ) 0
43#if defined( __cplusplus ) && defined( __has_cpp_attribute )
44 #define KI_HAS_CPP_ATTRIBUTE( x ) __has_cpp_attribute( x )
46 #define KI_HAS_CPP_ATTRIBUTE( x ) 0
65#if __cplusplus >= 201703L
67 #define KI_FALLTHROUGH [[fallthrough]]
69#elif KI_HAS_CPP_ATTRIBUTE( clang::fallthrough )
71 #define KI_FALLTHROUGH [[clang::fallthrough]]
73#elif KI_HAS_CPP_ATTRIBUTE( gnu::fallthrough )
75 #define KI_FALLTHROUGH [[gnu::fallthrough]]
77#elif defined( __GNUC__ ) && __GNUC__ >= 7
79 #define KI_FALLTHROUGH __attribute__ ((fallthrough))
83 #define KI_FALLTHROUGH ( ( void ) 0 )
94#define TO_STR(x) TO_STR2(x)
96#define UNIMPLEMENTED_FOR( type ) \
97 wxFAIL_MSG( wxString::Format( wxT( "%s: unimplemented for %s" ), __FUNCTION__, type ) )