xref: /llvm-project/clang/test/Modules/compile-pcm-with-pic.cppm (revision 2e5af56b05c2d39ab2c829bf4c13190523b67ddd)
1// REQUIRES: x86-registered-target
2
3// RUN: rm -rf %t
4// RUN: mkdir %t
5
6// RUN: %clang_cc1 -std=c++20 %s -pic-level 2 -emit-llvm -o - | FileCheck %s
7// RUN: %clang_cc1 -std=c++20 %s -pic-level 2 -fmodule-output=%t/m.pcm -emit-llvm -o - \
8// RUN:     | FileCheck %s
9//
10// RUN: %clang_cc1 -std=c++20 %s -emit-module-interface -o %t/m.pcm
11// RUN: %clang_cc1 -std=c++20 %t/m.pcm -pic-level 2 -emit-llvm -o - | FileCheck %s
12// RUN: %clang_cc1 -std=c++20 %t/m.pcm -emit-llvm -o - | FileCheck %s --check-prefix=NOPIC
13
14export module m;
15export int x;
16export int func() {
17    return x;
18}
19
20// CHECK: ![[METADATA_NUM:[0-9]+]] = !{{{.*}}, !"PIC Level", i32 2}
21// NOPIC-NOT: ![[METADATA_NUM:[0-9]+]] = !{{{.*}}, !"PIC Level", i32 2}
22