steven_wu added a comment. I feel like this is a much tricky situation than just new and init. Following example is the same situation.
__attribute__((objc_root_class)) @interface NSObject - (void) foo; - (void) bar; @end @implementation NSObject - (void) foo {} - (void) bar { [self foo]; } @end @interface MyObject : NSObject - (void) foo __attribute__((unavailable)); @end void test(MyObject *obj) { [obj bar]; } We can do something about [NSObject new] because we know it's implementation but we have to live with more general cases. Repository: rC Clang https://reviews.llvm.org/D51189 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits