summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-05-15 01:26:32 +0000
committerReid Kleckner <reid@kleckner.net>2014-05-15 01:26:32 +0000
commitd355ca77a95e8e0266c8d26c23d2b0e8e2fdd8e5 (patch)
tree2f78e5b39dd323812650871893ce87c9ca6af5db /llvm/lib/Transforms
parente8c785439dc8effe976b2a3207cb7dd67f6734cc (diff)
downloadbcm5719-llvm-d355ca77a95e8e0266c8d26c23d2b0e8e2fdd8e5.tar.gz
bcm5719-llvm-d355ca77a95e8e0266c8d26c23d2b0e8e2fdd8e5.zip
Revert Itanium parts of "Don't copy objects with trivial, deleted copy ctors"
This undoes half of r208786. It had problems with lazily declared special members in cases like this: struct A { A(); A &operator=(A &&o); void *p; }; void foo(A); void bar() { foo({}); } In this case, the copy and move constructors are implicitly deleted. However, Clang doesn't eagerly declare the copy ctor in the AST, so we pass the struct in registers. Furthermore, GCC passes this in registers even though this class should be uncopyable. Revert this for now until the dust settles. llvm-svn: 208836
Diffstat (limited to 'llvm/lib/Transforms')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud