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