diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm index 19d016fb7d5e..119fbbbbac4d 100644 --- a/libcxx/include/algorithm +++ b/libcxx/include/algorithm @@ -2012,6 +2012,7 @@ fill_n(_OutputIterator __first, _Size __n, const _Tp& __value_) return _VSTD::__fill_n(__first, __n, __value_, integral_constant::value && is_trivially_assignable::type, _Tp>::value && + is_convertible<_Tp, unsigned char>::value && sizeof(typename remove_pointer<_OutputIterator>::type) == 1>()); } diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/default.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/default.pass.cpp index 837f43721223..c52990961c25 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/default.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/default.pass.cpp @@ -27,7 +27,7 @@ test() D d; assert(d.count() == typename D::rep()); #ifndef _LIBCPP_HAS_NO_CONSTEXPR - constexpr D d2; + constexpr D d2 = D(); static_assert(d2.count() == typename D::rep(), ""); #endif }