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

Reply via email to