22 lines · cpp
1// RUN: %clang_cc1 -std=c++20 -verify %s -Wno-tautological-compare2 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>14void f(int i, int* pi, T* pt, T t) {15 (void)(i <=> i);16 (void)(i <=> pi); // expected-error {{comparison between pointer and integer}}17 (void)(i <=> pt);18 (void)(pi <=> pt);19 (void)(pi <=> t);20}21 22