diff options
Diffstat (limited to 'deps/v8/src/base/optional.h')
-rw-r--r-- | deps/v8/src/base/optional.h | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/deps/v8/src/base/optional.h b/deps/v8/src/base/optional.h index b8df88d844..6610c7ffc3 100644 --- a/deps/v8/src/base/optional.h +++ b/deps/v8/src/base/optional.h @@ -131,21 +131,8 @@ struct OptionalStorageBase<T, true /* trivially destructible */> { // the condition of constexpr-ness is satisfied because the base class also has // compiler generated constexpr {copy,move} constructors). Note that // placement-new is prohibited in constexpr. -#if defined(__GNUC__) && __GNUC__ < 5 -// gcc <5 does not implement std::is_trivially_copy_constructible. -// Conservatively assume false for this configuration. -// TODO(clemensh): Remove this once we drop support for gcc <5. -#define TRIVIALLY_COPY_CONSTRUCTIBLE(T) false -#define TRIVIALLY_MOVE_CONSTRUCTIBLE(T) false -#else -#define TRIVIALLY_COPY_CONSTRUCTIBLE(T) \ - std::is_trivially_copy_constructible<T>::value -#define TRIVIALLY_MOVE_CONSTRUCTIBLE(T) \ - std::is_trivially_move_constructible<T>::value -#endif -template <typename T, bool = TRIVIALLY_COPY_CONSTRUCTIBLE(T), - bool = TRIVIALLY_MOVE_CONSTRUCTIBLE(T)> -#undef TRIVIALLY_COPY_CONSTRUCTIBLE +template <typename T, bool = std::is_trivially_copy_constructible<T>::value, + bool = std::is_trivially_move_constructible<T>::value> struct OptionalStorage : OptionalStorageBase<T> { // This is no trivially {copy,move} constructible case. Other cases are // defined below as specializations. |