Re-apply r174919 - smarter copy/move assignment/construction, with fixes for
authorLang Hames <lhames@gmail.com>
Sun, 17 Feb 2013 07:22:09 +0000 (07:22 +0000)
committerLang Hames <lhames@gmail.com>
Sun, 17 Feb 2013 07:22:09 +0000 (07:22 +0000)
commitbf122744e5baa14f7b88745de02b15d638a5f154
treee4a6bac07ffa8bdbbc896638d3575e506d0df245
parent7a786f8c7ac5250b54648b4063f271ef6c14d90f
Re-apply r174919 - smarter copy/move assignment/construction, with fixes for
bitfield related issues.

The original commit broke Takumi's builder. The bug was caused by bitfield sizes
being determined by their underlying type, rather than the field info. A similar
issue with bitfield alignments showed up on closer testing. Both have been fixed
in this patch.

llvm-svn: 175389
clang/lib/CodeGen/CGClass.cpp
clang/lib/CodeGen/CodeGenFunction.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/test/CodeGenCXX/copy-assign-synthesis-1.cpp
clang/test/CodeGenCXX/implicit-copy-assign-operator.cpp
clang/test/CodeGenCXX/implicit-copy-constructor.cpp
clang/test/CodeGenCXX/pod-member-memcpys.cpp [new file with mode: 0644]