xref: /llvm-project/clang/test/CodeGenCXX/mangle-cxx2a.cpp (revision 974c8b7e2fde550fd87850d50695341101c38c2d)
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