// RUN: %clang_cc1 -std=c++17 %s -verify
// RUN: %clang_cc1 -std=c++20 %s -verify
// RUN: %clang_cc1 -std=c++20 %s -verify -Wc++17-compat -DCOMPAT
//
// RUN: %clang_cc1 -std=c++17 %s -E -o - | FileCheck %s --check-prefix=CXX17
// RUN: %clang_cc1 -std=c++20 %s -E -o - | FileCheck %s --check-prefix=CXX20
// <=> can be formed by pasting other comparison operators.
constexpr char a = ;
constexpr char b = ;
static_assert;
static_assert;
// -E must not accidentally form a <=> token.
// CXX17: preprocess1: < =>
// CXX17: preprocess2: <=>
// CXX17: preprocess3: < =>
// CXX17: preprocess4: <=>=
// CXX17: preprocess5: <=>>
// CXX17: preprocess6: <=>>=
// CXX17: preprocess7: <=>
// CXX17: preprocess8: <=>=
//
// CXX20: preprocess1: < =>
// CXX20: preprocess2: <= >
// CXX20: preprocess3: < =>
// CXX20: preprocess4: <= >=
// CXX20: preprocess5: <= >>
// CXX20: preprocess6: <= >>=
// CXX20: preprocess7: <=>
// CXX20: preprocess8: <=>=
;