]> granicus.if.org Git - clang/commit
Make copy assignment operator synthesis not explode for classes with complex
authorEli Friedman <eli.friedman@gmail.com>
Tue, 8 Dec 2009 01:57:53 +0000 (01:57 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Tue, 8 Dec 2009 01:57:53 +0000 (01:57 +0000)
commitebc3317c66638a05a089abb348877b9b823f52b0
tree838655d71aa044be4aeb56ec7baab715710749e7
parente3fdca2ee0346a41d9cc5ee417a75e66274216f5
Make copy assignment operator synthesis not explode for classes with complex
or non-record aggregate members.

It might be worth spending some time to optimize this code (and the parallel
code for copy constructors) to memcpy in larger chunks, rather than copying
one member at a time.  Not sure exactly how beneficial that would be, but
it seems like could help for large classes with, for example, a vtable pointer
forcing the generation of a copy constructor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90823 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGCXX.cpp
test/CodeGenCXX/copy-assign-synthesis-3.cpp [new file with mode: 0644]