1*974c8b7eSRichard Smith // RUN: %clang_cc1 -emit-llvm %s -o - -triple=x86_64-linux-gnu -std=c++2a | FileCheck %s 2*974c8b7eSRichard Smith 3*974c8b7eSRichard Smith namespace spaceship { 4*974c8b7eSRichard Smith struct X {}; 5*974c8b7eSRichard Smith struct Y {}; 6*974c8b7eSRichard Smith int operator<=>(X, Y); 7*974c8b7eSRichard Smith 8*974c8b7eSRichard Smith // CHECK-LABEL: define {{.*}} @_ZN9spaceship1fIiEEvDTcmltcvNS_1YE_EcvNS_1XE_EcvT__EE Y()9*974c8b7eSRichard Smith template<typename T> void f(decltype(Y() < X(), T()) x) {} 10*974c8b7eSRichard Smith template void f<int>(int); 11*974c8b7eSRichard Smith } 12