1*637b7f80SLouis Dionne //===----------------------------------------------------------------------===//
2*637b7f80SLouis Dionne //
3*637b7f80SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*637b7f80SLouis Dionne // See https://llvm.org/LICENSE.txt for license information.
5*637b7f80SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*637b7f80SLouis Dionne //
7*637b7f80SLouis Dionne //===----------------------------------------------------------------------===//
8*637b7f80SLouis Dionne 
9*637b7f80SLouis Dionne // UNSUPPORTED: c++03, c++11, c++14, c++17
10*637b7f80SLouis Dionne 
11*637b7f80SLouis Dionne // REQUIRES: has-unix-headers
12*637b7f80SLouis Dionne // UNSUPPORTED: libcpp-hardening-mode=none
13*637b7f80SLouis Dionne // XFAIL: libcpp-hardening-mode=debug && availability-verbose_abort-missing
14*637b7f80SLouis Dionne 
15*637b7f80SLouis Dionne // Test the precondition check in iota_view(value, bound) that `bound` is reachable from `value`.
16*637b7f80SLouis Dionne 
17*637b7f80SLouis Dionne #include <ranges>
18*637b7f80SLouis Dionne 
19*637b7f80SLouis Dionne #include "check_assertion.h"
20*637b7f80SLouis Dionne 
main(int,char **)21*637b7f80SLouis Dionne int main(int, char**) {
22*637b7f80SLouis Dionne   { TEST_LIBCPP_ASSERT_FAILURE(std::ranges::iota_view(5, 0), "iota_view: bound must be reachable from value"); }
23*637b7f80SLouis Dionne   { TEST_LIBCPP_ASSERT_FAILURE(std::ranges::iota_view(10, 5), "iota_view: bound must be reachable from value"); }
24*637b7f80SLouis Dionne 
25*637b7f80SLouis Dionne   return 0;
26*637b7f80SLouis Dionne }
27