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 -pie-level 1 -dM -E -o - %s \
23// RUN:   | FileCheck --check-prefix=CHECK-PIE1 %s
24// CHECK-PIE1-NOT: #define __PIC__
25// CHECK-PIE1: #define __PIE__ 1
26// CHECK-PIE1-NOT: #define __pic__
27// CHECK-PIE1: #define __pie__ 1
28//
29// RUN: %clang_cc1 -pie-level 2 -dM -E -o - %s \
30// RUN:   | FileCheck --check-prefix=CHECK-PIE2 %s
31// CHECK-PIE2-NOT: #define __PIC__
32// CHECK-PIE2: #define __PIE__ 2
33// CHECK-PIE2-NOT: #define __pic__
34// CHECK-PIE2: #define __pie__ 2
35