I suspect this broke Win64: http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/1410
On Mon, Dec 26, 2016 at 6:20 PM, Saleem Abdulrasool via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: compnerd > Date: Mon Dec 26 20:20:35 2016 > New Revision: 290569 > > URL: http://llvm.org/viewvc/llvm-project?rev=290569&view=rev > Log: > Driver: switch Windows to static RelocModel > > Windows uses PE/COFF which is inherently position independent. The use > of the PIC model is unnecessary. In fact, we would generate invalid > code using the ELF PIC model when PIC was enabled previously. Now that > we no longer accept -fPIC and -fpoc, this switches the internal > representation to the static model to permit us to make PIC modules > invalid when targeting Windows. This should not change the code > generation, only the internal state management. > > Modified: > cfe/trunk/lib/Driver/MSVCToolChain.cpp > cfe/trunk/lib/Driver/ToolChains.cpp > cfe/trunk/lib/Driver/ToolChains.h > cfe/trunk/test/Driver/pic.c > > Modified: cfe/trunk/lib/Driver/MSVCToolChain.cpp > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ > MSVCToolChain.cpp?rev=290569&r1=290568&r2=290569&view=diff > ============================================================ > ================== > --- cfe/trunk/lib/Driver/MSVCToolChain.cpp (original) > +++ cfe/trunk/lib/Driver/MSVCToolChain.cpp Mon Dec 26 20:20:35 2016 > @@ -82,18 +82,6 @@ bool MSVCToolChain::IsUnwindTablesDefaul > return getArch() == llvm::Triple::x86_64; > } > > -bool MSVCToolChain::isPICDefault() const { > - return getArch() == llvm::Triple::x86_64; > -} > - > -bool MSVCToolChain::isPIEDefault() const { > - return false; > -} > - > -bool MSVCToolChain::isPICDefaultForced() const { > - return getArch() == llvm::Triple::x86_64; > -} > - > #ifdef USE_WIN32 > static bool readFullStringValue(HKEY hkey, const char *valueName, > std::string &value) { > > Modified: cfe/trunk/lib/Driver/ToolChains.cpp > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ > ToolChains.cpp?rev=290569&r1=290568&r2=290569&view=diff > ============================================================ > ================== > --- cfe/trunk/lib/Driver/ToolChains.cpp (original) > +++ cfe/trunk/lib/Driver/ToolChains.cpp Mon Dec 26 20:20:35 2016 > @@ -2880,22 +2880,13 @@ bool Generic_GCC::IsUnwindTablesDefault( > > bool Generic_GCC::isPICDefault() const { > switch (getArch()) { > - case llvm::Triple::x86_64: > - return getTriple().isOSWindows(); > + default: return false; > case llvm::Triple::ppc64: > case llvm::Triple::ppc64le: > return !getTriple().isOSBinFormatMachO() && !getTriple().isMacOSX(); > - default: > - return false; > } > } > > -bool Generic_GCC::isPIEDefault() const { return false; } > - > -bool Generic_GCC::isPICDefaultForced() const { > - return getArch() == llvm::Triple::x86_64 && getTriple().isOSWindows(); > -} > - > bool Generic_GCC::IsIntegratedAssemblerDefault() const { > switch (getTriple().getArch()) { > case llvm::Triple::x86: > > Modified: cfe/trunk/lib/Driver/ToolChains.h > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ > ToolChains.h?rev=290569&r1=290568&r2=290569&view=diff > ============================================================ > ================== > --- cfe/trunk/lib/Driver/ToolChains.h (original) > +++ cfe/trunk/lib/Driver/ToolChains.h Mon Dec 26 20:20:35 2016 > @@ -232,8 +232,8 @@ public: > > bool IsUnwindTablesDefault() const override; > bool isPICDefault() const override; > - bool isPIEDefault() const override; > - bool isPICDefaultForced() const override; > + bool isPIEDefault() const override { return false; } > + bool isPICDefaultForced() const override { return false; } > bool IsIntegratedAssemblerDefault() const override; > llvm::opt::DerivedArgList * > TranslateArgs(const llvm::opt::DerivedArgList &Args, StringRef > BoundArch, > @@ -1136,9 +1136,9 @@ public: > > bool IsIntegratedAssemblerDefault() const override; > bool IsUnwindTablesDefault() const override; > - bool isPICDefault() const override; > - bool isPIEDefault() const override; > - bool isPICDefaultForced() const override; > + bool isPICDefault() const override { return false; } > + bool isPIEDefault() const override { return false; } > + bool isPICDefaultForced() const override { return false; } > > void > AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, > > Modified: cfe/trunk/test/Driver/pic.c > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/ > pic.c?rev=290569&r1=290568&r2=290569&view=diff > ============================================================ > ================== > --- cfe/trunk/test/Driver/pic.c (original) > +++ cfe/trunk/test/Driver/pic.c Mon Dec 26 20:20:35 2016 > @@ -255,9 +255,4 @@ > // 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 > + > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits