[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / clang / test / CodeGenCXX / module-intializer-pmf.cpp
blob7ab4a2e2bd78a1d5a2d17afbd662f9fd5126f702
2 // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %s \
3 // RUN: -emit-module-interface -o %T/HasPMF.pcm
4 // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %T/HasPMF.pcm \
5 // RUN: -S -emit-llvm -o - | FileCheck %s
7 module;
9 struct Glob {
10 Glob(){};
13 Glob G;
15 export module HasPMF;
17 export struct InMod {
18 InMod(){};
21 export InMod IM;
23 module :private;
25 struct InPMF {
26 InPMF(){};
29 InPMF P;
31 // CHECK: define internal void @__cxx_global_var_init
32 // CHECK: call {{.*}} @_ZN4GlobC1Ev
33 // CHECK: define internal void @__cxx_global_var_init
34 // CHECK: call {{.*}} @_ZNW6HasPMF5InPMFC1Ev
35 // CHECK: define internal void @__cxx_global_var_init
36 // CHECK: call {{.*}} @_ZNW6HasPMF5InModC1Ev
37 // CHECK: define void @_ZGIW6HasPMF
38 // CHECK: store i8 1, ptr @_ZGIW6HasPMF__in_chrg
39 // CHECK: call void @__cxx_global_var_init
40 // CHECK: call void @__cxx_global_var_init
41 // CHECK: call void @__cxx_global_var_init