Author: fjahanian
Date: Thu Jul 29 11:53:53 2010
New Revision: 109758

URL: http://llvm.org/viewvc/llvm-project?rev=109758&view=rev
Log:
Tigthen the condition for issung ivar shadowing
variables to those in file scope (nonfragile-abi2).
Fixes radar 8248681.

Modified:
    cfe/trunk/lib/Sema/SemaExpr.cpp
    cfe/trunk/test/SemaObjC/conflict-nonfragile-abi2.m

Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=109758&r1=109757&r2=109758&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Thu Jul 29 11:53:53 2010
@@ -1170,7 +1170,8 @@
 
   if (VarDecl *Var = R.getAsSingle<VarDecl>()) {
     if (getLangOptions().ObjCNonFragileABI && IvarLookupFollowUp &&
-        !getLangOptions().ObjCNonFragileABI2) {
+        !getLangOptions().ObjCNonFragileABI2 &&
+        Var->isFileVarDecl()) {
       ObjCPropertyDecl *Property = 
         OkToSynthesizeProvisionalIvar(*this, II, NameLoc);
       if (Property) {

Modified: cfe/trunk/test/SemaObjC/conflict-nonfragile-abi2.m
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/conflict-nonfragile-abi2.m?rev=109758&r1=109757&r2=109758&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/conflict-nonfragile-abi2.m (original)
+++ cfe/trunk/test/SemaObjC/conflict-nonfragile-abi2.m Thu Jul 29 11:53:53 2010
@@ -5,9 +5,30 @@
 
 @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
+
+


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to