use of an ivar specified on a property @synthesize
and found in super class triggers a diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70414 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaObjC/ivar-sem-check-2.m b/test/SemaObjC/ivar-sem-check-2.m
index 2b85685..6a703b2 100644
--- a/test/SemaObjC/ivar-sem-check-2.m
+++ b/test/SemaObjC/ivar-sem-check-2.m
@@ -1,17 +1,23 @@
// RUN: clang-cc -fsyntax-only -triple x86_64-apple-darwin10 -verify %s
@interface Super {
- id value; // expected-note {{previously declared 'value' here}}
+ id value2; // expected-note {{previously declared 'value2' here}}
}
@property(retain) id value;
@property(retain) id value1;
+@property(retain) id prop;
@end
-@interface Sub : Super @end
+@interface Sub : Super
+{
+ id value;
+}
+@end
@implementation Sub
-@synthesize value; // expected-error {{property 'value' attempting to use ivar 'value' declared in in super class 'Super'}} // expected-note {{previous use is here}}
-@synthesize value1=value; // expected-error {{synthesized properties 'value1' and 'value' both claim ivar 'value'}}
+@synthesize value; // expected-note {{previous use is here}}
+@synthesize value1=value; // expected-error {{synthesized properties 'value1' and 'value' both claim ivar 'value'}}
+@synthesize prop=value2; // expected-error {{property 'prop' attempting to use ivar 'value2' declared in in super class 'Super'}}
@end