Ping.

On Mon, Jan 14, 2013 at 10:35 AM, Lang Hames <lha...@gmail.com> wrote:

> I think this applies equally to default move operators, I just hadn't done
> enough homework to be sure yet.
>
> - Lang.
>
>
> On Fri, Jan 11, 2013 at 7:20 PM, Richard Smith <rich...@metafoo.co.uk>wrote:
>
>> On Fri, Jan 11, 2013 at 7:05 PM, Lang Hames <lha...@gmail.com> wrote:
>>
>>> At present, if a class contains any Non-POD members we perform
>>> element-wise copies for each field when generating the implicit
>>> copy-constructor and implicit copy-assignment operator (with an
>>> optimization for array members).
>>>
>>> This patch changes this behavior - adjacent POD members will be
>>> memcpy'd, with Non-POD members output as usual.
>>>
>>> This is an initial implementation that I'd like to get in tree. Obvious
>>> deficiencies are:
>>>
>>> It punts entirely when LangOpts.getGC != None.
>>> It doesn't handle inner classes/unions.
>>> It doesn't attach any TBAA info, even when all members are the same type.
>>> It isn't particularly smart about when it falls back on element-wise
>>> copies (at the moment it emits a memcpy any time it finds more than one POD
>>> field).
>>>
>>> These should all be easy to test and remedy once the code's in tree
>>> though.
>>>
>>> Does anybody see any problems with this?
>>> Style comments?
>>>
>>> Feedback much appreciated.
>>>
>>
>> This generally seems reasonable to me, but I've not looked at the patch
>> in detail. Any reason not to apply this to move assignment operators too?
>>
>> Do you handle bitfields? See r151963 for an example of that.
>>
>
>
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to