reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | // RUN: %clang_cc1 -Wduplicate-method-match -fsyntax-only -verify %s @interface SUPER - (int) meth; + (int) foobar; @end @interface T @end @interface class1 : SUPER - (int) meth; // expected-note {{previous declaration is here}} - (int*) meth; // expected-error {{duplicate declaration of method 'meth'}} - (T*) meth1; // expected-note {{previous declaration is here}} - (T*) meth1; // expected-warning {{multiple declarations of method 'meth1' found and ignored}} + (T*) meth1; @end @interface class1(cat) - (int) catm : (char)ch1; // expected-note {{previous declaration is here}} - (int) catm1 : (char)ch : (int)i; - (int) catm : (char*)ch1; // expected-error {{duplicate declaration of method 'catm:'}} + (int) catm1 : (char)ch : (int)i; + (T*) meth1; @end @interface class1(cat1) + (int) catm1 : (char)ch : (int)i; // expected-note {{previous declaration is here}} + (T*) meth1; // expected-note {{previous declaration is here}} + (int) catm1 : (char)ch : (int*)i; // expected-error {{duplicate declaration of method 'catm1::'}} + (T**) meth1; // expected-error {{duplicate declaration of method 'meth1'}} + (int) foobar; @end @protocol P - (int) meth; // expected-note {{previous declaration is here}} - (int*) meth; // expected-error {{duplicate declaration of method 'meth'}} @end |