v8/test/unittests/base
Clemens Hammacher 9dd6f0d089 Fix is_trivially_copyable check for MSVC and older stdlibc++
MSVC 2015 and 2017 implement std::is_trivially_copyable, but not
correctly. Hence, reimplement it using more low-level primitives.

For stdlibc++ versions below 5.0, we already have a workaround for the
missing support of std::is_trivially_copyable, but this is an unsound
approximation, because it is ignoring move constructor, move assignment
and copy assignment. Therefore, do not use this approximation for
asserting trivial copyability of a type.

Finally, add unittests for the new is_trivially_copyable
implementations.

R=mstarzinger@chromium.org
CC=loorongjie@gmail.com

Change-Id: I9ee56a65882e8c94b72c9a2d484edd27963a5d89
Reviewed-on: https://chromium-review.googlesource.com/941521
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51651}
2018-03-01 13:05:12 +00:00
..
platform Bring Time(Delta)::Min/Max() and related helpers to V8. 2018-02-02 15:38:55 +00:00
utils Reland "Introduce gc flag for fuzzing over compaction." 2017-11-07 15:29:30 +00:00
atomic-utils-unittest.cc [base] Add tests for base::AsAtomicWord::SetBits. 2017-08-16 15:13:02 +00:00
bits-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
cpu-unittest.cc [x86] Disable AVX unless the operating system explicitly claims to support it. 2015-01-27 09:59:24 +00:00
division-by-constant-unittest.cc Remove v8stdint.h, it doesn't serve a purpose anymore. 2014-10-21 08:25:14 +00:00
flags-unittest.cc Remove v8stdint.h, it doesn't serve a purpose anymore. 2014-10-21 08:25:14 +00:00
functional-unittest.cc Revert "MIPS[64] Implementation of MSA instructions in builtin simulator" 2017-11-17 11:02:48 +00:00
ieee754-unittest.cc [builtins] Unify most of the remaining Math builtins. 2016-07-01 11:13:02 +00:00
iterator-unittest.cc Avoid signed/unsigned warning in VC++ 2017 builds 2017-04-24 19:29:59 +00:00
logging-unittest.cc Make v8 build with -Wmicrosoft-cast under clang-cl. 2018-02-28 18:06:57 +00:00
macros-unittest.cc Fix is_trivially_copyable check for MSVC and older stdlibc++ 2018-03-01 13:05:12 +00:00
ostreams-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
sys-info-unittest.cc Remove NaCl support. 2016-07-27 07:50:31 +00:00
template-utils-unittest.cc Make v8 build with -Wmicrosoft-cast under clang-cl. 2018-02-28 18:06:57 +00:00