1b82dcb62SLouis Dionne //===----------------------------------------------------------------------===//
2b82dcb62SLouis Dionne //
3b82dcb62SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4b82dcb62SLouis Dionne // See https://llvm.org/LICENSE.txt for license information.
5b82dcb62SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6b82dcb62SLouis Dionne //
7b82dcb62SLouis Dionne //===----------------------------------------------------------------------===//
8b82dcb62SLouis Dionne 
9*ac8c9f1eSLouis Dionne // UNSUPPORTED: c++03, c++11, c++14
10b82dcb62SLouis Dionne // UNSUPPORTED: availability-filesystem-missing
11b82dcb62SLouis Dionne 
12b82dcb62SLouis Dionne // <filesystem>
13b82dcb62SLouis Dionne 
14*ac8c9f1eSLouis Dionne #include <filesystem>
15*ac8c9f1eSLouis Dionne namespace fs = std::filesystem;
16b82dcb62SLouis Dionne using namespace fs;
17b82dcb62SLouis Dionne 
18b82dcb62SLouis Dionne struct ConvToPath {
operator fs::pathConvToPath19b82dcb62SLouis Dionne   operator fs::path() const {
20b82dcb62SLouis Dionne     return "";
21b82dcb62SLouis Dionne   }
22b82dcb62SLouis Dionne };
23b82dcb62SLouis Dionne 
main(int,char **)24b82dcb62SLouis Dionne int main(int, char**) {
25b82dcb62SLouis Dionne   ConvToPath LHS, RHS;
26b82dcb62SLouis Dionne   (void)(LHS == RHS); // expected-error {{invalid operands to binary expression}}
27b82dcb62SLouis Dionne   (void)(LHS != RHS); // expected-error {{invalid operands to binary expression}}
28b82dcb62SLouis Dionne   (void)(LHS < RHS); // expected-error {{invalid operands to binary expression}}
29b82dcb62SLouis Dionne   (void)(LHS <= RHS); // expected-error {{invalid operands to binary expression}}
30b82dcb62SLouis Dionne   (void)(LHS > RHS); // expected-error {{invalid operands to binary expression}}
31b82dcb62SLouis Dionne   (void)(LHS >= RHS); // expected-error {{invalid operands to binary expression}}
32b82dcb62SLouis Dionne 
33b82dcb62SLouis Dionne   return 0;
34b82dcb62SLouis Dionne }
35