// RUN: %clang_cc1 -verify -fobjc-disable-direct-methods-for-testing %s // expected-no-diagnostics #define DIRECT __attribute__((objc_direct)) #define DIRECT_MEMBERS __attribute__((objc_direct_members)) __attribute__((objc_root_class)) @interface X -(void)direct_method DIRECT; @end @implementation X -(void)direct_method DIRECT {} @end __attribute__((objc_root_class)) DIRECT_MEMBERS @interface Y -(void)direct_method2; @end @implementation Y -(void)direct_method2 {} @end __attribute__((objc_root_class)) @interface Z @property (direct) int direct_property; @end @implementation Z @end