On Jan 24, 2012, at 11:11 AM, Douglas Gregor wrote:

> 
> On Jan 24, 2012, at 10:05 AM, Fariborz Jahanian wrote:
> 
>> Author: fjahanian
>> Date: Tue Jan 24 12:05:45 2012
>> New Revision: 148823
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=148823&view=rev
>> Log:
>> objc: issue error if assigning objects in fragile-abi too.
>> // rdar://10731065
>> 
>> Added:
>>   cfe/trunk/test/SemaObjCXX/fragile-abi-object-assign.m
>> Modified:
>>   cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>>   cfe/trunk/lib/Sema/SemaExpr.cpp
>> 
>> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>> URL: 
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=148823&r1=148822&r2=148823&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
>> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Tue Jan 24 12:05:45 
>> 2012
>> @@ -3608,6 +3608,8 @@
>> 
>> def err_assignment_requires_nonfragile_object : Error<
>>  "cannot assign to class object in non-fragile ABI (%0 invalid)">;
>> +def err_objc_object_assignment : Error<
>> +  "cannot assign to class object - use memcpy instead">;
> 
> Do we really want to suggest that users use memcpy to copy Objective-C 
> objects? That seems… horribly error-prone, and not at all recommended because 
> it will break under the non-fragile ABI. How about just complaining that 
> classes cannot be assigned at all? If some clever user wants to shoot himself 
> in the foot by using memcpy, at least we don't want to be blamed for giving 
> him the gun…
> 
Suggestion is for fragile abi only. Nonfragile abi bans this altogether with no 
suggestions. Suggestion for fragile abi came from our runtime guy.
I am not sure if there is any code out there which still uses fragile abi 
(specially with this assignment). But..., I will change the error.

- Fariborz




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

Reply via email to