llvm-project/clang/test/SemaObjCXX/overload-1.mm

26 lines
669 B
Plaintext

// RUN: %clang_cc1 -fsyntax-only -verify %s
@protocol Proto1 @end
@protocol Proto2 @end
void f(id<Proto1> *) { } // expected-note {{previous definition is here}}
void f(id<Proto1, Proto2> *) { } // expected-error {{conflicting types for 'f'}}
void f(Class<Proto1> *) { } // expected-note {{previous definition is here}}
void f(Class<Proto1, Proto2> *) { } // expected-error {{conflicting types for 'f'}}
@interface I @end
void f(I<Proto1> *) { } // expected-note {{previous definition is here}}
void f(I<Proto1, Proto2> *) { } // expected-error {{conflicting types for 'f'}}
@interface I1 @end
void f1(I<Proto1> *) { }
void f1(I1<Proto1, Proto2> *) { }