[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaObjC / method-prototype-scope.m
blobe1080cbfeaddd252a58bdca1fcaaa300ccbc5bc5
1 // RUN: %clang_cc1  -fsyntax-only -Wduplicate-method-arg -verify -Wno-objc-root-class %s
3 int object;
5 @class NSString, NSArray;
7 @interface Test 
8 - Func:(int)XXXX, id object; // expected-warning {{use of C-style parameters in Objective-C method declarations is deprecated}}
10 - doSomethingElseWith:(id)object;
12 - (NSString *)doSomethingWith:(NSString *)object and:(NSArray *)object; // expected-warning {{redeclaration of method parameter 'object'}} \
13                                           // expected-note {{previous declaration is here}}
14 @end
16 @implementation Test
18 - (NSString *)doSomethingWith:(NSString *)object and:(NSArray *)object // expected-warning {{redefinition of method parameter 'object'}} \
19                                           // expected-note {{previous declaration is here}}
21     return object; // expected-warning {{incompatible pointer types returning 'NSArray *' from a function with result type 'NSString *'}}
24 - Func:(int)XXXX, id object { return object; } // expected-warning {{use of C-style parameters in Objective-C method declarations is deprecated}}
26 - doSomethingElseWith:(id)object { return object; }
28 @end
30 struct P;
32 @interface Test1
33 - doSomethingWith:(struct S *)object and:(struct P *)obj; // expected-warning {{declaration of 'struct S' will not be visible outside of this function}}
34 @end
36 int obj;