X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef5fe20c795be38940d3f8ba4424cf26234e6d6f..f5fac4471b361f54ae6a09f6047ae4dbe30fcb86:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index d459390389..f404e9ae21 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -175,6 +175,18 @@ # define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name) #endif +/* + Clang Support + */ + +#ifndef WX_HAS_CLANG_FEATURE +# ifndef __has_feature +# define WX_HAS_CLANG_FEATURE(x) 0 +# else +# define WX_HAS_CLANG_FEATURE(x) __has_feature(x) +# endif +#endif + /* ---------------------------------------------------------------------------- */ /* wxWidgets version and compatibility defines */ /* ---------------------------------------------------------------------------- */ @@ -514,6 +526,17 @@ typedef short int WXTYPE; # define WX_ATTRIBUTE_PRINTF_5 WX_ATTRIBUTE_PRINTF(5, 6) #endif /* !defined(WX_ATTRIBUTE_PRINTF) */ +#ifndef WX_ATTRIBUTE_NORETURN +# if WX_HAS_CLANG_FEATURE(attribute_analyzer_noreturn) +# define WX_ATTRIBUTE_NORETURN __attribute__((analyzer_noreturn)) +# elif defined( __GNUC__ ) +# define WX_ATTRIBUTE_NORETURN __attribute__ ((noreturn)) +# elif wxCHECK_VISUALC_VERSION(7) +# define WX_ATTRIBUTE_NORETURN __declspec(noreturn) +# else +# define WX_ATTRIBUTE_NORETURN +# endif +#endif /* Macro to issue warning when using deprecated functions with gcc3 or MSVC7: */ #if wxCHECK_GCC_VERSION(3, 1)