1 // RUN: %clang_cc1 -std=c++20 -ast-dump %s -ast-dump-filter Test | FileCheck %s 2 3 namespace std { 4 struct strong_ordering { 5 int n; operator intstd::strong_ordering6 constexpr operator int() const { return n; } 7 static const strong_ordering less, equal, greater; 8 }; 9 constexpr strong_ordering strong_ordering::less{-1}, 10 strong_ordering::equal{0}, strong_ordering::greater{1}; 11 } 12 13 template <typename T, typename U> Test(T * pt,U * pu)14auto Test(T* pt, U* pu) { 15 // CHECK: BinaryOperator {{.*}} '<dependent type>' '<=>' 16 // CHECK-NEXT: DeclRefExpr {{.*}} 'T *' lvalue ParmVar {{.*}} 'pt' 'T *' 17 // CHECK-NEXT: DeclRefExpr {{.*}} 'U *' lvalue ParmVar {{.*}} 'pu' 'U *' 18 (void)(pt <=> pu); 19 20 } 21 22 23