[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaObjC / protocol-warn.m
blob2b900a4382d3f1b714fb639e1bade606b7e67cf4
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 @protocol NSObject @end
5 @interface NSObject <NSObject> @end
7 @interface UIResponder : NSObject
8 @end
10 @implementation UIResponder
11 @end
13 @interface UIView : UIResponder
14 @end
16 @implementation UIView
17 @end
19 @interface UIWebTiledView : UIView
20 @end
22 @implementation UIWebTiledView
23 @end
25 @interface UIWebDocumentView : UIWebTiledView
26 @end
28 @implementation UIWebDocumentView
29 @end
31 @interface UIWebBrowserView : UIWebDocumentView
32 @end
34 @implementation UIWebBrowserView
35 @end
37 @interface UIPDFView : UIView
38 @end
40 @implementation UIPDFView
41 @end
43 @interface UIWebPDFView : UIPDFView
44 @end
46 @implementation UIWebPDFView
47 @end
49 UIWebPDFView *getView(void)
51     UIWebBrowserView *browserView;
52     UIWebPDFView *pdfView;
53     return pdfView ? pdfView : browserView; // expected-warning {{incompatible pointer types returning 'UIView *' from a function with result type 'UIWebPDFView *'}}