Standardization of the const compiler attribute
#if ( defined( __GNUC__ ) && ( ( __GNUC__ >= 4 ) || ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) ) || defined( __clang__ )
#define CONST_ATTRIBUTE __attribute__( ( const ) )
#else
#define CONST_ATTRIBUTE
#endif
Not all compiler support this attribute, so it may be defined to nothing.
Standardization of the deprecated compiler attribute
#if ( defined( __GNUC__ ) && ( ( __GNUC__ >= 4 ) || ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) ) || defined( __clang__ )
#define DEPRECATED_ATTRIBUTE __attribute__( ( deprecated ) )
#else
#define DEPRECATED_ATTRIBUTE
#endif
Not all compiler support this attribute, so it may be defined to nothing.
Standardization of the format compiler attribute
#if ( defined( __GNUC__ ) && ( ( __GNUC__ >= 4 ) || ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) ) || defined( __clang__ )
#define FORMAT_ATTRIBUTE( f, s, v ) __attribute__( ( format( f, s, v ) ) )
#else
#define FORMAT_ATTRIBUTE( f, s, v )
#endif
Not all compiler support this attribute, so it may be defined to nothing.
Standardization of the noreturn compiler attribute
#if ( defined( __GNUC__ ) && ( ( __GNUC__ >= 4 ) || ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) ) || defined( __clang__ )
#define NORETURN_ATTRIBUTE __attribute__( ( noreturn ) )
#else
#define NORETURN_ATTRIBUTE
#endif
Not all compiler support this attribute, so it may be defined to nothing.
Standardization of the unavailable compiler attribute
#if ( defined( __GNUC__ ) && ( ( __GNUC__ >= 4 ) || ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) ) || defined( __clang__ )
#define UNAVAILABLE_ATTRIBUTE __attribute__( ( unavailable ) )
#else
#define UNAVAILABLE_ATTRIBUTE
#endif
Not all compiler support this attribute, so it may be defined to nothing.
Standardization of the weak compiler attribute
#if ( defined( __GNUC__ ) && ( ( __GNUC__ >= 4 ) || ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) ) || defined( __clang__ )
#define WEAK_ATTRIBUTE __attribute__( ( weak ) )
#else
#define WEAK_ATTRIBUTE
#endif
Not all compiler support this attribute, so it may be defined to nothing.
Standardization of the weak import compiler attribute
#if ( defined( __GNUC__ ) && ( ( __GNUC__ >= 4 ) || ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) ) || defined( __clang__ )
#define WEAK_IMPORT_ATTRIBUTE __attribute__( ( weak_import ) )
#else
#define WEAK_IMPORT_ATTRIBUTE
#endif
Not all compiler support this attribute, so it may be defined to nothing.