xref: /llvm-project/clang/test/CXX/module/codegen-basics.cppm (revision d54888a3ebb141cdbb5e88ed7a3a2a54d24fc904)
1*d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -triple=x86_64-linux-gnu -fmodules-codegen -emit-module-interface %s -o %t.pcm
2*d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -triple=x86_64-linux-gnu %t.pcm -emit-llvm -o - | FileCheck %s
3*d54888a3SChuanqi Xu
4*d54888a3SChuanqi Xuexport module FooBar;
5*d54888a3SChuanqi Xu
6*d54888a3SChuanqi Xuexport {
7*d54888a3SChuanqi Xu  // CHECK-DAG: define{{.*}} i32 @_ZW6FooBar1fv(
8*d54888a3SChuanqi Xu  int f() { return 0; }
9*d54888a3SChuanqi Xu}
10*d54888a3SChuanqi Xu
11*d54888a3SChuanqi Xu// CHECK-DAG: define weak_odr void @_ZW6FooBar2f2v(
12*d54888a3SChuanqi Xuinline void f2() {}
13*d54888a3SChuanqi Xu
14*d54888a3SChuanqi Xu// CHECK-DAG: define{{.*}} void @_ZL2f3v(
15*d54888a3SChuanqi Xustatic void f3() {}
16*d54888a3SChuanqi Xuexport void use_f3() { f3(); }
17