Speculatively revert r354051 "Recommit Optional specialization for trivially copyable...
authorHans Wennborg <hans@hanshq.net>
Fri, 15 Feb 2019 12:20:33 +0000 (12:20 +0000)
committerHans Wennborg <hans@hanshq.net>
Fri, 15 Feb 2019 12:20:33 +0000 (12:20 +0000)
commitcc980bfa8e3179fe27870d1a1a404f118e544ba7
treeaf13b57d293ab91a22a5168179f05ef3840e2383
parent4f85014dffda33e22edce359eaaa4b162804326a
Speculatively revert r354051 "Recommit Optional specialization for trivially copyable types"
and
r354055 "Optional specialization for trivially copyable types, part2"

These are suspected to cause Clang to get miscompiled on Ubuntu 14.04
(Trusty) which uses GCC 4.8.4. Reverting for an hour to see if this
helps. See llvm-commits thread.

> Recommit Optional specialization for trivially copyable types
>
> Unfortunately the original code gets misscompiled by GCC (at least 8.1),
> this is a tentative workaround using std::memcpy instead of inplace new
> for trivially copyable types. I'll revert if it breaks.
>
> Original revision: https://reviews.llvm.org/D57097

llvm-svn: 354126
llvm/include/llvm/ADT/Optional.h
llvm/unittests/ADT/OptionalTest.cpp