13f092736SChuanqi Xu// RUN: rm -rf %t 23f092736SChuanqi Xu// RUN: split-file %s %t 33f092736SChuanqi Xu// RUN: cd %t 43f092736SChuanqi Xu// 53f092736SChuanqi Xu// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %t/a.cppm \ 63f092736SChuanqi Xu// RUN: -emit-module-interface -o %t/a.pcm 73f092736SChuanqi Xu// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %t/m.cppm \ 83f092736SChuanqi Xu// RUN: -emit-module-interface -fmodule-file=a=%t/a.pcm -o %t/m.pcm 93f092736SChuanqi Xu// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %t/m.pcm \ 10*7c1d9b15SFangrui Song// RUN: -fmodule-file=a=%t/a.pcm -emit-llvm -o - | FileCheck %t/m.cppm 113f092736SChuanqi Xu 12da00c60dSChuanqi Xu// Test again with reduced BMI. 13da00c60dSChuanqi Xu// Note that we can't use reduced BMI here for m.cppm since it is required 14da00c60dSChuanqi Xu// to generate the backend code. 15da00c60dSChuanqi Xu// RUN: rm %t/a.pcm %t/m.pcm 16da00c60dSChuanqi Xu// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %t/a.cppm \ 17da00c60dSChuanqi Xu// RUN: -emit-reduced-module-interface -o %t/a.pcm 18da00c60dSChuanqi Xu// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %t/m.cppm \ 19da00c60dSChuanqi Xu// RUN: -emit-module-interface -fmodule-file=a=%t/a.pcm -o %t/m.pcm 20da00c60dSChuanqi Xu// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %t/m.pcm \ 21*7c1d9b15SFangrui Song// RUN: -fmodule-file=a=%t/a.pcm -emit-llvm -o - | FileCheck %t/m.cppm 22da00c60dSChuanqi Xu 233f092736SChuanqi Xu//--- a.cppm 243f092736SChuanqi Xuexport module a; 253f092736SChuanqi Xuexport struct A { 263f092736SChuanqi Xu A(){}; 273f092736SChuanqi Xu}; 283f092736SChuanqi Xuexport A __dynamic_inited_a; 293f092736SChuanqi Xu 303f092736SChuanqi Xu//--- m.cppm 313f092736SChuanqi Xuexport module m; 323f092736SChuanqi Xuimport a; 333f092736SChuanqi Xuexport import a; 343f092736SChuanqi Xu 353f092736SChuanqi Xu 363f092736SChuanqi Xu// CHECK: define void @_ZGIW1m 373f092736SChuanqi Xu// CHECK: store i8 1, ptr @_ZGIW1m__in_chrg 383f092736SChuanqi Xu// CHECK: call{{.*}}@_ZGIW1a 39