1 // RUN: %clang_cc1 -std=c++17 -emit-llvm -fchar8_t -triple x86_64-linux %s -o - | FileCheck %s --check-prefix=ITANIUM
2 // RUN: %clang_cc1 -std=c++17 -emit-llvm -fchar8_t -triple x86_64-windows %s -o - | FileCheck %s --check-prefix=MSABI
4 // ITANIUM: define{{.*}} void @_Z1fDu(
5 // MSABI: define {{.*}}void @"?f@@YAX_Q@Z"(
8 // ITANIUM: define weak_odr void @_Z1gIiEvDTplplcvT__ELA4_KDuELDu114EE(
9 // MSABI: define weak_odr {{.*}}void @"??$g@H@@YAXPEB_Q@Z"(
10 template<typename T
> void g(decltype(T() + u8
"foo" + u8
'r')) {}
11 template void g
<int>(const char8_t
*);