1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
2// Test that arithmetic types on property and its ivar have exact match.
3
4@interface Test4
5{
6   char ivar; // expected-note{{instance variable is declared here}}
7}
8@property int prop;
9@end
10
11@implementation Test4
12@synthesize prop = ivar;  // expected-error {{type of property 'prop' ('int') does not match type of instance variable 'ivar' ('char')}}
13@end
14
15
16@interface Test5
17{
18  void * _P; // expected-note {{instance variable is declared here}}
19}
20@property int P;
21@end
22
23@implementation Test5
24@synthesize P=_P; // expected-error {{ype of property 'P' ('int') does not match type of instance variable '_P' ('void *')}}
25@end
26
27