diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2015-06-28 04:23:33 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2015-06-28 04:23:33 +0000 |
| commit | 17f448b32345484de8caae3b7a22c713d848ea57 (patch) | |
| tree | 119f070519db601763747d610ac6fb535e320a27 /clang | |
| parent | 9d72f09efd3b5c71edffc1fac42c68e6cd2a2207 (diff) | |
| download | bcm5719-llvm-17f448b32345484de8caae3b7a22c713d848ea57.tar.gz bcm5719-llvm-17f448b32345484de8caae3b7a22c713d848ea57.zip | |
[Driver] x86-64 Windows is always PIC
This fixes PR23963.
llvm-svn: 240902
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 8 | ||||
| -rw-r--r-- | clang/test/Driver/pic.c | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index 27bc357f342..df74b41b022 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -2021,11 +2021,15 @@ bool Generic_GCC::IsUnwindTablesDefault() const { return getArch() == llvm::Triple::x86_64; } -bool Generic_GCC::isPICDefault() const { return false; } +bool Generic_GCC::isPICDefault() const { + return getArch() == llvm::Triple::x86_64 && getTriple().isOSWindows(); +} bool Generic_GCC::isPIEDefault() const { return false; } -bool Generic_GCC::isPICDefaultForced() const { return false; } +bool Generic_GCC::isPICDefaultForced() const { + return getArch() == llvm::Triple::x86_64 && getTriple().isOSWindows(); +} bool Generic_GCC::IsIntegratedAssemblerDefault() const { switch (getTriple().getArch()) { diff --git a/clang/test/Driver/pic.c b/clang/test/Driver/pic.c index a515f8117a1..120e66a92ac 100644 --- a/clang/test/Driver/pic.c +++ b/clang/test/Driver/pic.c @@ -242,3 +242,9 @@ // RUN: | FileCheck %s --check-prefix=CHECK-PIC1 // RUN: %clang -c %s -target arm64-linux-android -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK-PIC1 +// +// On Windows-X64 PIC is enabled by default +// RUN: %clang -c %s -target x86_64-pc-windows-msvc18.0.0 -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 +// RUN: %clang -c %s -target x86_64-pc-windows-gnu -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 |

