1*79a2b4baSKonstantin Varlamov //===----------------------------------------------------------------------===//
2*79a2b4baSKonstantin Varlamov //
3*79a2b4baSKonstantin Varlamov // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*79a2b4baSKonstantin Varlamov // See https://llvm.org/LICENSE.txt for license information.
5*79a2b4baSKonstantin Varlamov // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*79a2b4baSKonstantin Varlamov //
7*79a2b4baSKonstantin Varlamov //===----------------------------------------------------------------------===//
8*79a2b4baSKonstantin Varlamov 
9*79a2b4baSKonstantin Varlamov // UNSUPPORTED: c++03, c++11, c++14, c++17
10*79a2b4baSKonstantin Varlamov // UNSUPPORTED: libcpp-has-no-incomplete-ranges
11*79a2b4baSKonstantin Varlamov 
12*79a2b4baSKonstantin Varlamov // std::ranges::empty
13*79a2b4baSKonstantin Varlamov 
14*79a2b4baSKonstantin Varlamov #include <ranges>
15*79a2b4baSKonstantin Varlamov 
16*79a2b4baSKonstantin Varlamov extern int arr[];
17*79a2b4baSKonstantin Varlamov 
18*79a2b4baSKonstantin Varlamov // Verify that for an array of unknown bound `ranges::empty` is ill-formed.
test()19*79a2b4baSKonstantin Varlamov void test() {
20*79a2b4baSKonstantin Varlamov   std::ranges::empty(arr);
21*79a2b4baSKonstantin Varlamov   // expected-error-re@-1 {{{{no matching function for call to object of type 'const (std::ranges::)?__empty::__fn'}}}}
22*79a2b4baSKonstantin Varlamov }
23