diff options
author | Serge Guelton <sguelton@redhat.com> | 2019-02-13 18:12:04 +0000 |
---|---|---|
committer | Serge Guelton <sguelton@redhat.com> | 2019-02-13 18:12:04 +0000 |
commit | f688293393f1e481d1aef3b10cd35bb37c1ea7f8 (patch) | |
tree | 83ed4f00d7c727c97bc26ed22fd5b3cfb4abd97e /llvm/lib/Support/Host.cpp | |
parent | 0f30a3b68fa8d687d041c8cd69ed8018d1ed0c84 (diff) | |
download | bcm5719-llvm-f688293393f1e481d1aef3b10cd35bb37c1ea7f8.tar.gz bcm5719-llvm-f688293393f1e481d1aef3b10cd35bb37c1ea7f8.zip |
Re-commit rL353927, patch included
Make llvm::Optional<T> trivially copyable when T is trivially copyable
This is an ever-recurring issue (see https://bugs.llvm.org/show_bug.cgi?id=39427 and https://bugs.llvm.org/show_bug.cgi?id=35978)
but I believe that thanks to https://reviews.llvm.org/D54472 we can now ship a decent implementation of this.
Basically the fact that llvm::is_trivially_copyable has a consistent behavior across compilers should prevent any ABI issue,
and using in-place new instead of memcpy should keep compiler bugs away.
This patch is slightly different from the original revision https://reviews.llvm.org/rL353927 but achieves the same goal. It just avoids
going through std::conditional which may the code more explicit.
llvm-svn: 353962
Diffstat (limited to 'llvm/lib/Support/Host.cpp')
0 files changed, 0 insertions, 0 deletions