variables to those in file scope (nonfragile-abi2).
Fixes radar
8248681.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109758
91177308-0d34-0410-b5e6-
96231b3b80d8
if (VarDecl *Var = R.getAsSingle<VarDecl>()) {
if (getLangOptions().ObjCNonFragileABI && IvarLookupFollowUp &&
- !getLangOptions().ObjCNonFragileABI2) {
+ !getLangOptions().ObjCNonFragileABI2 &&
+ Var->isFileVarDecl()) {
ObjCPropertyDecl *Property =
OkToSynthesizeProvisionalIvar(*this, II, NameLoc);
if (Property) {
@interface I
@property int glob; // expected-note {{property declared here}}
+@property int p;
+@property int le;
+@property int l;
+@property int ls;
+@property int r;
@end
@implementation I
- (int) Meth { return glob; } // expected-warning {{'glob' lookup will access the property ivar in nonfragile-abi2 mode}}
@synthesize glob;
+// rdar: // 8248681
+- (int) Meth1: (int) p {
+ extern int le;
+ int l = 1;
+ static int ls;
+ register int r;
+ p = le + ls + r;
+ return l;
+}
+@dynamic p;
+@dynamic le;
+@dynamic l;
+@dynamic ls;
+@dynamic r;
@end
+
+