diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-06-23 15:07:32 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-06-23 15:07:32 +0000 |
commit | 465434bba5314276a479425b0b4d91be200c2db0 (patch) | |
tree | fc03f58326a7411ab1aace73eaaadcad5e57c6d9 /test | |
parent | d50bbd28750fdacc54a56b807bb0c513e19c02a6 (diff) |
Restructure the propagation of -fPIC/-fPIE.
The PIC and PIE levels are not independent. In fact, if PIE is defined
it is always the same as PIC.
This is clear in the driver where ParsePICArgs returns a PIC level and
a IsPIE boolean. Unfortunately that is currently lost and we pass two
redundant levels down the pipeline.
This patch keeps a bool and a PIC level all the way down to codegen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273566 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Driver/fsanitize.c | 2 | ||||
-rw-r--r-- | test/Driver/pic.c | 14 | ||||
-rw-r--r-- | test/Driver/ps4-pic.c | 4 | ||||
-rw-r--r-- | test/Modules/explicit-build-flags.cpp | 2 | ||||
-rw-r--r-- | test/Preprocessor/pic.c | 12 |
5 files changed, 17 insertions, 17 deletions
diff --git a/test/Driver/fsanitize.c b/test/Driver/fsanitize.c index fa43bfb4bb..b0cef81bc2 100644 --- a/test/Driver/fsanitize.c +++ b/test/Driver/fsanitize.c @@ -188,7 +188,7 @@ // CHECK-NO-PIE: "-mrelocation-model" "static" // CHECK-NO-PIE-NOT: "-pie" -// CHECK-PIE: "-mrelocation-model" "pic" "-pic-level" "2" "-pie-level" "2" +// CHECK-PIE: "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" // CHECK-PIE: "-pie" // RUN: %clang -target arm-linux-androideabi %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ANDROID-NO-ASAN diff --git a/test/Driver/pic.c b/test/Driver/pic.c index d8af19a6d0..9f9d09c54c 100644 --- a/test/Driver/pic.c +++ b/test/Driver/pic.c @@ -3,26 +3,26 @@ // // CHECK-NO-PIC: "-mrelocation-model" "static" // CHECK-NO-PIC-NOT: "-pic-level" -// CHECK-NO-PIC-NOT: "-pie-level" +// CHECK-NO-PIC-NOT: "-pic-is-pie" // // CHECK-PIC1: "-mrelocation-model" "pic" // CHECK-PIC1: "-pic-level" "1" -// CHECK-PIC1-NOT: "-pie-level" +// CHECK-PIC1-NOT: "-pic-is-pie" // // CHECK-PIC2: "-mrelocation-model" "pic" // CHECK-PIC2: "-pic-level" "2" -// CHECK-PIC2-NOT: "-pie-level" +// CHECK-PIC2-NOT: "-pic-is-pie" // // CHECK-STATIC: "-static" // CHECK-NO-STATIC-NOT: "-static" // // CHECK-PIE1: "-mrelocation-model" "pic" // CHECK-PIE1: "-pic-level" "1" -// CHECK-PIE1: "-pie-level" "1" +// CHECK-PIE1: "-pic-is-pie" // // CHECK-PIE2: "-mrelocation-model" "pic" // CHECK-PIE2: "-pic-level" "2" -// CHECK-PIE2: "-pie-level" "2" +// CHECK-PIE2: "-pic-is-pie" // // CHECK-PIE-LD: "{{.*}}ld{{(.exe)?}}" // CHECK-PIE-LD: "-pie" @@ -33,11 +33,11 @@ // // CHECK-DYNAMIC-NO-PIC-32: "-mrelocation-model" "dynamic-no-pic" // CHECK-DYNAMIC-NO-PIC-32-NOT: "-pic-level" -// CHECK-DYNAMIC-NO-PIC-32-NOT: "-pie-level" +// CHECK-DYNAMIC-NO-PIC-32-NOT: "-pic-is-pie" // // CHECK-DYNAMIC-NO-PIC-64: "-mrelocation-model" "dynamic-no-pic" // CHECK-DYNAMIC-NO-PIC-64: "-pic-level" "2" -// CHECK-DYNAMIC-NO-PIC-64-NOT: "-pie-level" +// CHECK-DYNAMIC-NO-PIC-64-NOT: "-pic-is-pie" // // CHECK-NON-DARWIN-DYNAMIC-NO-PIC: error: unsupported option '-mdynamic-no-pic' for target 'i386-unknown-unknown' // diff --git a/test/Driver/ps4-pic.c b/test/Driver/ps4-pic.c index 0cf9ad5f19..c023dcfd0c 100644 --- a/test/Driver/ps4-pic.c +++ b/test/Driver/ps4-pic.c @@ -6,7 +6,7 @@ // // CHECK-NO-PIC: "-mrelocation-model" "static" // CHECK-NO-PIC-NOT: "-pic-level" -// CHECK-NO-PIC-NOT: "-pie-level" +// CHECK-NO-PIC-NOT: "-pic-is-pie" // // CHECK-DYNAMIC-NO-PIC2: unsupported option '-mdynamic-no-pic' // CHECK-DYNAMIC-NO-PIC2: "-mrelocation-model" "dynamic-no-pic" @@ -15,7 +15,7 @@ // CHECK-PIC2: "-pic-level" "2" // // CHECK-PIE2: "-mrelocation-model" "pic" -// CHECK-PIE2: "-pie-level" "2" +// CHECK-PIE2: "-pic-is-pie" // // CHECK-NOPIC-IGNORED: using '-fPIC' // CHECK-NOPIC-IGNORED: "-mrelocation-model" "pic" diff --git a/test/Modules/explicit-build-flags.cpp b/test/Modules/explicit-build-flags.cpp index 39fd8d1e41..61300435e2 100644 --- a/test/Modules/explicit-build-flags.cpp +++ b/test/Modules/explicit-build-flags.cpp @@ -24,7 +24,7 @@ // Can use the module if -fPIC/-fPIE flags change. // RUN: %clang_cc1 -fmodules -DBAR=2 -pic-level 2 -x c++ -fmodule-map-file=%t/map -fmodule-file=%t/tmp.pcm -verify -I%t %s -// RUN: %clang_cc1 -fmodules -DBAR=2 -pie-level 1 -x c++ -fmodule-map-file=%t/map -fmodule-file=%t/tmp.pcm -verify -I%t %s +// RUN: %clang_cc1 -fmodules -DBAR=2 -pic-level 1 -pic-is-pie -x c++ -fmodule-map-file=%t/map -fmodule-file=%t/tmp.pcm -verify -I%t %s // Can use the module if -static flag changes. // RUN: %clang_cc1 -fmodules -DBAR=2 -static-define -x c++ -fmodule-map-file=%t/map -fmodule-file=%t/tmp.pcm -verify -I%t %s diff --git a/test/Preprocessor/pic.c b/test/Preprocessor/pic.c index 3e649ee5ea..ec8c9542f0 100644 --- a/test/Preprocessor/pic.c +++ b/test/Preprocessor/pic.c @@ -19,16 +19,16 @@ // CHECK-PIC2: #define __pic__ 2 // CHECK-PIC2-NOT: #define __pie__ // -// RUN: %clang_cc1 -pie-level 1 -dM -E -o - %s \ +// RUN: %clang_cc1 -pic-level 1 -pic-is-pie -dM -E -o - %s \ // RUN: | FileCheck --check-prefix=CHECK-PIE1 %s -// CHECK-PIE1-NOT: #define __PIC__ +// CHECK-PIE1: #define __PIC__ 1 // CHECK-PIE1: #define __PIE__ 1 -// CHECK-PIE1-NOT: #define __pic__ +// CHECK-PIE1: #define __pic__ 1 // CHECK-PIE1: #define __pie__ 1 // -// RUN: %clang_cc1 -pie-level 2 -dM -E -o - %s \ +// RUN: %clang_cc1 -pic-level 2 -pic-is-pie -dM -E -o - %s \ // RUN: | FileCheck --check-prefix=CHECK-PIE2 %s -// CHECK-PIE2-NOT: #define __PIC__ +// CHECK-PIE2: #define __PIC__ 2 // CHECK-PIE2: #define __PIE__ 2 -// CHECK-PIE2-NOT: #define __pic__ +// CHECK-PIE2: #define __pic__ 2 // CHECK-PIE2: #define __pie__ 2 |