blob: 3bec64156a9dba2c1e4528a36368dbb2f286fabb [file] [log] [blame]
// RUN: %clang_cc1 -std=c++2a -triple %itanium_abi_triple -emit-llvm -o - %s -w | FileCheck %s
template<class, int, class>
struct DummyType { };
inline void inline_func() {
// CHECK: UlvE
[]{}();
// CHECK: UlTyvE
[]<class>{}.operator()<int>();
// CHECK: UlTyT_E
[]<class T>(T){}(1);
// CHECK: UlTyTyT_T0_E
[]<class T1, class T2>(T1, T2){}(1, 2);
// CHECK: UlTyTyT0_T_E
[]<class T1, class T2>(T2, T1){}(2, 1);
// CHECK: UlTniTyTnjT0_E
[]<int I, class T, unsigned U>(T){}.operator()<1, int, 2>(3);
// CHECK: UlTyTtTyTniTyETniTyvE
[]<class,
template<class, int, class> class,
int,
class>{}.operator()<unsigned, DummyType, 5, int>();
}
void call_inline_func() {
inline_func();
}