| // { dg-do compile { target c++2a } } | |
| #include <compare> | |
| #define assert(X) do { if (!(X)) __builtin_abort(); } while(0) | |
| void f(){} | |
| void g(){} | |
| int main() | |
| { | |
| { | |
| const auto v = &f <=> &g; // { dg-error "invalid operands" } | |
| } | |
| { | |
| struct A { int i; int j; }; | |
| constexpr auto v = &A::i <=> &A::j; // { dg-error "invalid operands" } | |
| } | |
| { | |
| struct A { void f(); }; | |
| constexpr auto v = &A::f <=> &A::f; // { dg-error "invalid operands" } | |
| } | |
| } |