brintos

brintos / llvm-project-archived public Read only

0
0
Text · 659 B · 4fd1c6e Raw
23 lines · cpp
1// RUN: %clang_cc1 -std=c++20 -ast-dump %s -ast-dump-filter Test | FileCheck %s2 3namespace std {4  struct strong_ordering {5    int n;6    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 13template <typename T, typename U>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