Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjC / check-dup-decl-methods-1.m
blob389566781d8759be2308fc6f8ab6ea61ced0b44d
1 // RUN: %clang_cc1 -Wduplicate-method-match -fsyntax-only -verify %s
3 @interface SUPER
4 - (int) meth;
5 + (int) foobar;
6 @end
8 @interface T @end
10 @interface class1 : SUPER
11 - (int) meth;   // expected-note {{previous declaration is here}}
12 - (int*) meth;  // expected-error {{duplicate declaration of method 'meth'}}
13 - (T*) meth1;   // expected-note {{previous declaration is here}}
14 - (T*) meth1;   // expected-warning {{multiple declarations of method 'meth1' found and ignored}}
15 + (T*) meth1;
16 @end
18 @interface class1(cat)
19 - (int) catm : (char)ch1; // expected-note {{previous declaration is here}}
20 - (int) catm1 : (char)ch : (int)i;
21 - (int) catm : (char*)ch1; // expected-error {{duplicate declaration of method 'catm:'}}
22 + (int) catm1 : (char)ch : (int)i;
23 + (T*) meth1;
24 @end
26 @interface class1(cat1)
27 + (int) catm1 : (char)ch : (int)i; // expected-note {{previous declaration is here}}
28 + (T*) meth1; // expected-note {{previous declaration is here}}
29 + (int) catm1 : (char)ch : (int*)i; // expected-error {{duplicate declaration of method 'catm1::'}}
30 + (T**) meth1; // expected-error {{duplicate declaration of method 'meth1'}}
31 + (int) foobar;
32 @end
34 @protocol P
35 - (int) meth; // expected-note {{previous declaration is here}}
36 - (int*) meth; // expected-error {{duplicate declaration of method 'meth'}}
37 @end