| // RUN: %clang_cc1 -fsyntax-only -fobjc-arc -fblocks -Wno-objc-root-class -verify %s | 
 |  | 
 | // rdar://problem/10982793 | 
 | // [p foo] in ARC creates a cleanup. | 
 | // The plus is invalid and causes the cleanup to go unbound. | 
 | // Don't crash. | 
 | @interface A | 
 | - (id) foo; | 
 | @end | 
 | void takeBlock(void (^)(void)); | 
 | void test0(id p) { | 
 |   takeBlock(^{ [p foo] + p; }); // expected-error {{invalid operands to binary expression}} | 
 | } | 
 |  | 
 | void test1(void) { | 
 |   __autoreleasing id p; // expected-note {{'p' declared here}} | 
 |   takeBlock(^{ (void) p; }); // expected-error {{cannot capture __autoreleasing variable in a block}} | 
 | } | 
 |  | 
 | // rdar://17024681 | 
 | @class WebFrame; | 
 | @interface WebView  // expected-note {{previous definition is here}} | 
 | - (WebFrame *)mainFrame; | 
 | @end | 
 |  | 
 | @interface WebView  // expected-error {{duplicate interface definition for class 'WebView'}} | 
 | @property (nonatomic, readonly, strong) WebFrame *mainFrame; | 
 | @end | 
 |  | 
 | @interface UIWebDocumentView | 
 | - (WebView *)webView; | 
 | @end | 
 |  | 
 | @interface UIWebBrowserView : UIWebDocumentView | 
 | @end | 
 |  | 
 | @interface StoreBanner @end | 
 |  | 
 | @implementation StoreBanner | 
 | + (void)readMetaTagContentForUIWebBrowserView:(UIWebBrowserView *)browserView | 
 | { | 
 |   [[browserView webView] mainFrame]; | 
 | } | 
 | @end |