diff --git a/llvm/include/llvm/ADT/Optional.h b/llvm/include/llvm/ADT/Optional.h --- a/llvm/include/llvm/ADT/Optional.h +++ b/llvm/include/llvm/ADT/Optional.h @@ -33,7 +33,9 @@ struct in_place_t {}; /// Storage for any type. -template ::value> +template ::value + &&std::is_trivially_copy_constructible::value + &&std::is_trivially_copy_assignable::value> class OptionalStorage { union { char empty;