xref: /llvm-project/clang/test/Preprocessor/riscv-cmodel.c (revision dee058f9e3ae95b8f4b95034b65c3d7408060c8e)
1 // RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \
2 // RUN: -o - | FileCheck --check-prefix=CHECK-MEDLOW %s
3 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \
4 // RUN: -o - | FileCheck --check-prefix=CHECK-MEDLOW %s
5 
6 // RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \
7 // RUN: -mcmodel=small -o - | FileCheck --check-prefix=CHECK-MEDLOW %s
8 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \
9 // RUN: -mcmodel=small -o - | FileCheck --check-prefix=CHECK-MEDLOW %s
10 
11 // RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \
12 // RUN: -mcmodel=medlow -o - | FileCheck --check-prefix=CHECK-MEDLOW %s
13 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \
14 // RUN: -mcmodel=medlow -o - | FileCheck --check-prefix=CHECK-MEDLOW %s
15 
16 // CHECK-MEDLOW: #define __riscv_cmodel_medlow 1
17 // CHECK-MEDLOW-NOT: __riscv_cmodel_medany
18 // CHECK-MEDLOW-NOT: __riscv_cmodel_large
19 
20 // RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \
21 // RUN: -mcmodel=medium -o - | FileCheck --check-prefix=CHECK-MEDANY %s
22 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \
23 // RUN: -mcmodel=medium -o - | FileCheck --check-prefix=CHECK-MEDANY %s
24 
25 // RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \
26 // RUN: -mcmodel=medany -o - | FileCheck --check-prefix=CHECK-MEDANY %s
27 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \
28 // RUN: -mcmodel=medany -o - | FileCheck --check-prefix=CHECK-MEDANY %s
29 
30 // CHECK-MEDANY: #define __riscv_cmodel_medany 1
31 // CHECK-MEDANY-NOT: __riscv_cmodel_medlow
32 // CHECK-MEDANY-NOT: __riscv_cmodel_large
33 
34 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -fno-pic -x c -E -dM %s \
35 // RUN: -mcmodel=large -o - | FileCheck --check-prefix=CHECK-LARGE %s
36 
37 // CHECK-LARGE: #define __riscv_cmodel_large 1
38 // CHECK-LARGE-NOT: __riscv_cmodel_medlow
39 // CHECK-LARGE-NOT: __riscv_cmodel_medany
40