@@ -134,6 +134,27 @@ TEST(ManglerTest, WindowsX64) {
134134 " ?vectorcall" );
135135}
136136
137+ TEST (ManglerTest, UEFIX64) {
138+ LLVMContext Ctx;
139+ DataLayout DL (" e-m:w-p270:32:32-p271:32:32-p272:64:64-"
140+ " i64:64-i128:128-f80:128-n8:16:32:64-S128" ); // uefi X86_64
141+ Module Mod (" test" , Ctx);
142+ Mod.setDataLayout (DL);
143+ Mangler Mang;
144+ EXPECT_EQ (mangleStr (" foo" , Mang, DL), " foo" );
145+ EXPECT_EQ (mangleStr (" \01 foo" , Mang, DL), " foo" );
146+ EXPECT_EQ (mangleStr (" ?foo" , Mang, DL), " ?foo" );
147+ EXPECT_EQ (mangleFunc (" foo" , llvm::GlobalValue::ExternalLinkage,
148+ llvm::CallingConv::C, Mod, Mang),
149+ " foo" );
150+ EXPECT_EQ (mangleFunc (" ?foo" , llvm::GlobalValue::ExternalLinkage,
151+ llvm::CallingConv::C, Mod, Mang),
152+ " ?foo" );
153+ EXPECT_EQ (mangleFunc (" foo" , llvm::GlobalValue::PrivateLinkage,
154+ llvm::CallingConv::C, Mod, Mang),
155+ " .Lfoo" );
156+ }
157+
137158TEST (ManglerTest, XCOFF) {
138159 LLVMContext Ctx;
139160 DataLayout DL (" m:a" ); // XCOFF/AIX
0 commit comments