CaseyCarter created this revision. CaseyCarter added reviewers: mclow.lists, EricWF, ldionne. Herald added a subscriber: dexonsmith.
`valarray:min` and `valarray::max` have preconditions that require the `valarray` to be non-empty, so these calls are inherently non-portable. https://reviews.llvm.org/D70099 Files: test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp Index: test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp =================================================================== --- test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp +++ test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp @@ -26,11 +26,13 @@ std::valarray<T> v1(a1, N1); assert(v1.min() == -3.0); } +#ifdef _LIBCPP_VERSION // Not portable: valarray::min requires size() > { typedef double T; std::valarray<T> v1; v1.min(); } +#endif // _LIBCPP_VERSION { typedef double T; T a1[] = {1.5, 2.5, -3, 4, 5.5}; @@ -39,5 +41,5 @@ assert((2*v1).min() == -6.0); } - return 0; + return 0; } Index: test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp =================================================================== --- test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp +++ test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp @@ -26,11 +26,13 @@ std::valarray<T> v1(a1, N1); assert(v1.max() == 4.0); } +#ifdef _LIBCPP_VERSION // Not portable: valarray::max requires size() > 0 { typedef double T; std::valarray<T> v1; v1.max(); } +#endif // _LIBCPP_VERSION { typedef double T; T a1[] = {1.5, 2.5, -3, 4, -5.5}; @@ -39,5 +41,5 @@ assert((2*v1).max() == 8.0); } - return 0; + return 0; }
Index: test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp =================================================================== --- test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp +++ test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp @@ -26,11 +26,13 @@ std::valarray<T> v1(a1, N1); assert(v1.min() == -3.0); } +#ifdef _LIBCPP_VERSION // Not portable: valarray::min requires size() > { typedef double T; std::valarray<T> v1; v1.min(); } +#endif // _LIBCPP_VERSION { typedef double T; T a1[] = {1.5, 2.5, -3, 4, 5.5}; @@ -39,5 +41,5 @@ assert((2*v1).min() == -6.0); } - return 0; + return 0; } Index: test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp =================================================================== --- test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp +++ test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp @@ -26,11 +26,13 @@ std::valarray<T> v1(a1, N1); assert(v1.max() == 4.0); } +#ifdef _LIBCPP_VERSION // Not portable: valarray::max requires size() > 0 { typedef double T; std::valarray<T> v1; v1.max(); } +#endif // _LIBCPP_VERSION { typedef double T; T a1[] = {1.5, 2.5, -3, 4, -5.5}; @@ -39,5 +41,5 @@ assert((2*v1).max() == 8.0); } - return 0; + return 0; }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits