@@ -45,10 +45,14 @@ #endif #ifndef __has_feature # define __has_feature(x) 0 #endif + +#ifndef __has_attribute +# define __has_attribute(x) 0 +#endif #ifdef __GNUC__ # define __GCC_VERSION__ (__GNUC__ * 100 + __GNUC_MINOR__) #else # define __GCC_VERSION__ 0 @@ -85,10 +89,16 @@ #if defined(__clang__) || __GCC_VERSION__ >= 406 # define OF_SENTINEL __attribute__((sentinel)) #else # define OF_SENTINEL #endif + +#if __has_attribute(objc_requires_super) +# define OF_REQUIRES_SUPER __attribute__((objc_requires_super)) +#else +# define OF_REQUIRES_SUPER +#endif #ifdef OF_APPLE_RUNTIME # if defined(__x86_64__) || defined(__i386__) || defined(__arm__) || \ defined(__ppc__) # define OF_HAVE_FORWARDING_TARGET_FOR_SELECTOR