// 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