| // RUN: %clang_cc1 -Wobjc-multiple-method-names -x objective-c -verify %s |
| // RUN: %clang_cc1 -Wobjc-multiple-method-names -x objective-c -verify -fobjc-arc %s |
| // expected-no-diagnostics |
| |
| @interface NSObj |
| |
| + (instancetype) alloc; |
| |
| + (_Nonnull instancetype) globalObject; |
| |
| @end |
| |
| @interface SelfAllocReturn: NSObj |
| |
| - (instancetype)initWithFoo:(int)x; |
| |
| @end |
| |
| @interface SelfAllocReturn2: NSObj |
| |
| - (instancetype)initWithFoo:(SelfAllocReturn *)x; |
| |
| @end |
| |
| @implementation SelfAllocReturn |
| |
| - (instancetype)initWithFoo:(int)x { |
| return self; |
| } |
| |
| + (instancetype) thingWithFoo:(int)x { |
| return [[self alloc] initWithFoo: x]; |
| } |
| |
| + (void) initGlobal { |
| (void)[[self globalObject] initWithFoo: 20]; |
| } |
| |
| @end |