[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaObjC / resolve-method-in-global-pool.m
blobe563ee9331f591637133d25382683f4b37f59c34
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -fblocks -Wno-objc-root-class %s
2 // RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fsyntax-only -verify -fblocks -Wno-objc-root-class %s
3 // expected-no-diagnostics
5 @interface NSObject 
6 + (void)clsMethod:(int*)arg;
7 @end
9 @class NSDictionary;
10 @class NSError;
12 @interface Foo : NSObject
13 - (void)getDonuts:(void (^)(NSDictionary *, NSError *))replyBlock;
14 - (void)getCake:(int*)arg, ...;
15 @end
17 @protocol Protocol
18 @required
19 - (void)getDonuts:(void (^)(NSDictionary *))replyBlock;
20 - (void)getCake:(float*)arg, ...;
21 + (void)clsMethod:(float*)arg;
22 @end
24 @implementation Foo
26   float g;
29 - (void)getDonuts:(void (^)(NSDictionary *, NSError *))replyBlock {
30     [(id) 0 getDonuts:^(NSDictionary *replyDict) { }];
33 - (void) getCake:(int*)arg, ... {
34     [(id)0 getCake: &g, 1,3.14];
36 @end
38 void func( Class c, float g ) {
39     [c clsMethod: &g];
42 @protocol NSKeyedArchiverDelegate @end
44 @interface NSKeyedArchiver
45 @property (assign) id <NSKeyedArchiverDelegate> delegate;
46 @end
48 @interface NSConnection
49 @property (assign) id delegate;
50 @end
52 extern id NSApp;
54 @interface AppDelegate
55 @end
57 AppDelegate* GetDelegate(void)
59     return [NSApp delegate];