42 lines · cpp
1 2// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %s \3// RUN: -emit-module-interface -o %t.HasPMF.pcm4// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 %t.HasPMF.pcm \5// RUN: -emit-llvm -o - | FileCheck %s6 7module;8 9struct Glob {10 Glob(){};11};12 13Glob G;14 15export module HasPMF;16 17export struct InMod {18 InMod(){};19};20 21export InMod IM;22 23module :private;24 25struct InPMF {26 InPMF(){};27};28 29InPMF P;30 31// CHECK: define internal void @__cxx_global_var_init32// CHECK: call {{.*}} @_ZN4GlobC1Ev33// CHECK: define internal void @__cxx_global_var_init34// CHECK: call {{.*}} @_ZNW6HasPMF5InPMFC1Ev35// CHECK: define internal void @__cxx_global_var_init36// CHECK: call {{.*}} @_ZNW6HasPMF5InModC1Ev37// CHECK: define void @_ZGIW6HasPMF38// CHECK: store i8 1, ptr @_ZGIW6HasPMF__in_chrg39// CHECK: call void @__cxx_global_var_init40// CHECK: call void @__cxx_global_var_init41// CHECK: call void @__cxx_global_var_init42