aboutsummaryrefslogtreecommitdiff
path: root/libcxx/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp')
-rw-r--r--libcxx/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/libcxx/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp b/libcxx/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp
index 2cf99f8d44e3..50d0a0632f6a 100644
--- a/libcxx/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp
+++ b/libcxx/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp
@@ -7,7 +7,9 @@
//===----------------------------------------------------------------------===//
// <numeric>
+// UNSUPPORTED: clang-8
+// Became constexpr in C++20
// template <class ForwardIterator, class T>
// void iota(ForwardIterator first, ForwardIterator last, T value);
@@ -18,7 +20,7 @@
#include "test_iterators.h"
template <class InIter>
-void
+TEST_CONSTEXPR_CXX20 void
test()
{
int ia[] = {1, 2, 3, 4, 5};
@@ -29,12 +31,22 @@ test()
assert(ia[i] == ir[i]);
}
-int main(int, char**)
+TEST_CONSTEXPR_CXX20 bool
+test()
{
test<forward_iterator<int*> >();
test<bidirectional_iterator<int*> >();
test<random_access_iterator<int*> >();
test<int*>();
- return 0;
+ return true;
+}
+
+int main(int, char**)
+{
+ test();
+#if TEST_STD_VER > 17
+ static_assert(test());
+#endif
+ return 0;
}