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...
Agreed. People should just stop doing this. Suggesting them to use memcpy is
just as bad as the original idiom.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits