diff options
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.cpp | 18 |
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; } |