xref: /llvm-project/clang/test/CodeGenCXX/char8_t.cpp (revision fd739804e0591468762eb87488a497a3f7d4afb0)
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
3 
4 // ITANIUM: define{{.*}} void @_Z1fDu(
5 // MSABI: define {{.*}}void @"?f@@YAX_Q@Z"(
f(char8_t c)6 void f(char8_t c) {}
7 
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*);
12