I believe so. Can you reopen the Radar and add some comments? Thanks,
snaroff On Sep 29, 2008, at 8:47 PM, Daniel Dunbar wrote: > Shouldn't this only be allowed for readonly properties? > > - Daniel > > On Mon, Sep 29, 2008 at 5:24 PM, Steve Naroff <[EMAIL PROTECTED]> > wrote: >> Author: snaroff >> Date: Mon Sep 29 19:24:17 2008 >> New Revision: 56821 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=56821&view=rev >> Log: >> Fix <rdar://problem/6247781> Parser rejecting properly mismatched >> properties. >> >> Modified: >> cfe/trunk/lib/Sema/SemaDeclObjC.cpp >> >> Modified: cfe/trunk/lib/Sema/SemaDeclObjC.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclObjC.cpp?rev=56821&r1=56820&r2=56821&view=diff >> >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- cfe/trunk/lib/Sema/SemaDeclObjC.cpp (original) >> +++ cfe/trunk/lib/Sema/SemaDeclObjC.cpp Mon Sep 29 19:24:17 2008 >> @@ -1254,14 +1254,14 @@ >> PropertyId->getName()); >> return 0; >> } >> - // Check that type of property and its ivar match. >> - if (Context.getCanonicalType(Ivar->getType()) != >> - Context.getCanonicalType(property->getType())) { >> + // Check that type of property and its ivar are type compatible. >> + // A property is allowed to be a sub-class of the instance >> variable type. >> + if (CheckAssignmentConstraints(property->getType(), >> + Ivar->getType()) != Compatible) { >> Diag(PropertyLoc, diag::error_property_ivar_type, property- >> >getName(), >> Ivar->getName()); >> return 0; >> } >> - >> } else if (PropertyIvar) { >> // @dynamic >> Diag(PropertyLoc, diag::error_dynamic_property_ivar_decl); >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
