1*95dfc12cSArgyrios Kyrtzidis// RUN: %clang_cc1 -fsyntax-only -verify %s 2*95dfc12cSArgyrios Kyrtzidis 3*95dfc12cSArgyrios Kyrtzidis@protocol P // expected-note {{previous}} 4*95dfc12cSArgyrios Kyrtzidis-(void)meth1; 5*95dfc12cSArgyrios Kyrtzidis@end 6*95dfc12cSArgyrios Kyrtzidis 7*95dfc12cSArgyrios Kyrtzidis@interface I // expected-note {{previous}} 8*95dfc12cSArgyrios Kyrtzidis@end 9*95dfc12cSArgyrios Kyrtzidis 10*95dfc12cSArgyrios Kyrtzidis@interface I2 11*95dfc12cSArgyrios Kyrtzidis@end 12*95dfc12cSArgyrios Kyrtzidis@interface I2(C) // expected-note {{previous}} 13*95dfc12cSArgyrios Kyrtzidis@end 14*95dfc12cSArgyrios Kyrtzidis 15*95dfc12cSArgyrios Kyrtzidisextern "C" { 16*95dfc12cSArgyrios Kyrtzidis@protocol P // expected-warning {{duplicate protocol definition of 'P' is ignored}} 17*95dfc12cSArgyrios Kyrtzidis-(void)meth2; 18*95dfc12cSArgyrios Kyrtzidis@end 19*95dfc12cSArgyrios Kyrtzidis 20*95dfc12cSArgyrios Kyrtzidis@interface I // expected-error {{duplicate}} 21*95dfc12cSArgyrios Kyrtzidis@end 22*95dfc12cSArgyrios Kyrtzidis 23*95dfc12cSArgyrios Kyrtzidis@interface I2(C) // expected-warning {{duplicate}} 24*95dfc12cSArgyrios Kyrtzidis@end 25*95dfc12cSArgyrios Kyrtzidis} 26*95dfc12cSArgyrios Kyrtzidis 27*95dfc12cSArgyrios Kyrtzidisvoid test(id<P> p) { 28*95dfc12cSArgyrios Kyrtzidis [p meth1]; 29*95dfc12cSArgyrios Kyrtzidis [p meth2]; // expected-warning {{not found}} 30*95dfc12cSArgyrios Kyrtzidis} 31