xref: /aosp_15_r20/external/clang/test/Preprocessor/pic.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -dM -E -o - %s \
2*67e74705SXin Li // RUN:   | FileCheck %s
3*67e74705SXin Li // CHECK-NOT: #define __PIC__
4*67e74705SXin Li // CHECK-NOT: #define __PIE__
5*67e74705SXin Li // CHECK-NOT: #define __pic__
6*67e74705SXin Li // CHECK-NOT: #define __pie__
7*67e74705SXin Li //
8*67e74705SXin Li // RUN: %clang_cc1 -pic-level 1 -dM -E -o - %s \
9*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-PIC1 %s
10*67e74705SXin Li // CHECK-PIC1: #define __PIC__ 1
11*67e74705SXin Li // CHECK-PIC1-NOT: #define __PIE__
12*67e74705SXin Li // CHECK-PIC1: #define __pic__ 1
13*67e74705SXin Li // CHECK-PIC1-NOT: #define __pie__
14*67e74705SXin Li //
15*67e74705SXin Li // RUN: %clang_cc1 -pic-level 2 -dM -E -o - %s \
16*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-PIC2 %s
17*67e74705SXin Li // CHECK-PIC2: #define __PIC__ 2
18*67e74705SXin Li // CHECK-PIC2-NOT: #define __PIE__
19*67e74705SXin Li // CHECK-PIC2: #define __pic__ 2
20*67e74705SXin Li // CHECK-PIC2-NOT: #define __pie__
21*67e74705SXin Li //
22*67e74705SXin Li // RUN: %clang_cc1 -pic-level 1 -pic-is-pie -dM -E -o - %s \
23*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-PIE1 %s
24*67e74705SXin Li // CHECK-PIE1: #define __PIC__ 1
25*67e74705SXin Li // CHECK-PIE1: #define __PIE__ 1
26*67e74705SXin Li // CHECK-PIE1: #define __pic__ 1
27*67e74705SXin Li // CHECK-PIE1: #define __pie__ 1
28*67e74705SXin Li //
29*67e74705SXin Li // RUN: %clang_cc1 -pic-level 2 -pic-is-pie -dM -E -o - %s \
30*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-PIE2 %s
31*67e74705SXin Li // CHECK-PIE2: #define __PIC__ 2
32*67e74705SXin Li // CHECK-PIE2: #define __PIE__ 2
33*67e74705SXin Li // CHECK-PIE2: #define __pic__ 2
34*67e74705SXin Li // CHECK-PIE2: #define __pie__ 2
35