| // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s | 
 | // Test that arithmetic types on property and its ivar have exact match. | 
 |  | 
 | @interface Test4  | 
 | { | 
 |    char ivar; // expected-note{{instance variable is declared here}} | 
 | } | 
 | @property int prop; | 
 | @end | 
 |  | 
 | @implementation Test4 | 
 | @synthesize prop = ivar;  // expected-error {{type of property 'prop' ('int') does not match type of instance variable 'ivar' ('char')}} | 
 | @end | 
 |  | 
 |  | 
 | @interface Test5 | 
 | { | 
 |   void * _P; // expected-note {{instance variable is declared here}} | 
 | } | 
 | @property int P; | 
 | @end | 
 |  | 
 | @implementation Test5 | 
 | @synthesize P=_P; // expected-error {{ype of property 'P' ('int') does not match type of instance variable '_P' ('void *')}} | 
 | @end | 
 |  |