diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-01-27 00:56:44 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-01-27 00:56:44 +0000 |
commit | cc8e1894109b7c02258b7f4be5624d3d8d1523ce (patch) | |
tree | 28724a4df7a2ca650d6c6c9d0df89f49609d2849 | |
parent | 251ca6c9fb2bb398d9bf9fe7399c27bed7074b5c (diff) |
Driver/Darwin: Eliminate confusing IsIPhoneOS parameter -- this was actually
just indicating whether the default target should be iPhoneOS.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94638 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Driver/HostInfo.cpp | 6 | ||||
-rw-r--r-- | lib/Driver/ToolChains.cpp | 28 | ||||
-rw-r--r-- | lib/Driver/ToolChains.h | 23 |
3 files changed, 19 insertions, 38 deletions
diff --git a/lib/Driver/HostInfo.cpp b/lib/Driver/HostInfo.cpp index 01fd32d1db..18bb786593 100644 --- a/lib/Driver/HostInfo.cpp +++ b/lib/Driver/HostInfo.cpp @@ -146,10 +146,10 @@ ToolChain *DarwinHostInfo::CreateToolChain(const ArgList &Args, // If we recognized the arch, match it to the toolchains we support. if (Arch == llvm::Triple::x86 || Arch == llvm::Triple::x86_64) { // We still use the legacy DarwinGCC toolchain on X86. - TC = new toolchains::DarwinGCC(*this, TCTriple, DarwinVersion, GCCVersion, - false); + TC = new toolchains::DarwinGCC(*this, TCTriple, DarwinVersion, + GCCVersion); } else if (Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb) - TC = new toolchains::DarwinClang(*this, TCTriple, DarwinVersion, true); + TC = new toolchains::DarwinClang(*this, TCTriple, DarwinVersion); else TC = new toolchains::Darwin_Generic_GCC(*this, TCTriple); } diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index a48a91c569..f07ce34f51 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -31,8 +31,8 @@ using namespace clang::driver::toolchains; /// Darwin - Darwin tool chain for i386 and x86_64. Darwin::Darwin(const HostInfo &Host, const llvm::Triple& Triple, - const unsigned (&_DarwinVersion)[3], bool _IsIPhoneOS) - : ToolChain(Host, Triple), TargetInitialized(false), IsIPhoneOS(_IsIPhoneOS) + const unsigned (&_DarwinVersion)[3]) + : ToolChain(Host, Triple), TargetInitialized(false) { DarwinVersion[0] = _DarwinVersion[0]; DarwinVersion[1] = _DarwinVersion[1]; @@ -41,9 +41,6 @@ Darwin::Darwin(const HostInfo &Host, const llvm::Triple& Triple, llvm::raw_string_ostream(MacosxVersionMin) << "10." << std::max(0, (int)DarwinVersion[0] - 4) << '.' << DarwinVersion[1]; - - // FIXME: Lift default up. - IPhoneOSVersionMin = "3.0"; } // FIXME: Can we tablegen this? @@ -111,8 +108,8 @@ llvm::StringRef Darwin::getDarwinArchName(const ArgList &Args) const { DarwinGCC::DarwinGCC(const HostInfo &Host, const llvm::Triple& Triple, const unsigned (&DarwinVersion)[3], - const unsigned (&_GCCVersion)[3], bool IsIPhoneOS) - : Darwin(Host, Triple, DarwinVersion, IsIPhoneOS) + const unsigned (&_GCCVersion)[3]) + : Darwin(Host, Triple, DarwinVersion) { GCCVersion[0] = _GCCVersion[0]; GCCVersion[1] = _GCCVersion[1]; @@ -289,9 +286,8 @@ void DarwinGCC::AddLinkRuntimeLibArgs(const ArgList &Args, } DarwinClang::DarwinClang(const HostInfo &Host, const llvm::Triple& Triple, - const unsigned (&DarwinVersion)[3], - bool IsIPhoneOS) - : Darwin(Host, Triple, DarwinVersion, IsIPhoneOS) + const unsigned (&DarwinVersion)[3]) + : Darwin(Host, Triple, DarwinVersion) { // We expect 'as', 'ld', etc. to be adjacent to our install dir. getProgramPaths().push_back(getDriver().Dir); @@ -424,13 +420,13 @@ DerivedArgList *Darwin::TranslateArgs(InputArgList &Args, iPhoneVersion = DAL->MakeJoinedArg(0, O, iPhoneOSTarget); DAL->append(iPhoneVersion); } else { - // Otherwise, choose the default version based on the toolchain. - - // FIXME: This is confusing it should be more explicit what the default - // target is. - if (isIPhoneOS()) { + // Otherwise, choose a default platform based on the tool chain. + // + // FIXME: Don't hardcode default here. + if (getTriple().getArch() == llvm::Triple::arm || + getTriple().getArch() == llvm::Triple::thumb) { const Option *O = Opts.getOption(options::OPT_miphoneos_version_min_EQ); - iPhoneVersion = DAL->MakeJoinedArg(0, O, IPhoneOSVersionMin) ; + iPhoneVersion = DAL->MakeJoinedArg(0, O, "3.0"); DAL->append(iPhoneVersion); } else { const Option *O = Opts.getOption(options::OPT_mmacosx_version_min_EQ); diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h index b6cdacac30..758007f03a 100644 --- a/lib/Driver/ToolChains.h +++ b/lib/Driver/ToolChains.h @@ -63,26 +63,13 @@ class VISIBILITY_HIDDEN Darwin : public ToolChain { /// The OS version we are targetting. mutable unsigned TargetVersion[3]; - /// Whether this is this an iPhoneOS toolchain. - // - // FIXME: This should go away, such differences should be completely - // determined by the target triple. - // - // FIXME: It is also broken, we need to distinguish the "default target" from - // the actual target. The -m...-version-min strings and deployment targets can - // change this. - bool IsIPhoneOS; - /// The default macosx-version-min of this tool chain; empty until /// initialized. std::string MacosxVersionMin; - /// The default iphoneos-version-min of this tool chain. - std::string IPhoneOSVersionMin; - public: Darwin(const HostInfo &Host, const llvm::Triple& Triple, - const unsigned (&DarwinVersion)[3], bool IsIPhoneOS); + const unsigned (&DarwinVersion)[3]); ~Darwin(); /// @name Darwin Specific Toolchain API @@ -167,8 +154,6 @@ public: virtual void AddLinkRuntimeLibArgs(const ArgList &Args, ArgStringList &CmdArgs) const = 0; - bool isIPhoneOS() const { return IsIPhoneOS; } - /// } /// @name ToolChain Implementation /// { @@ -204,7 +189,7 @@ public: class VISIBILITY_HIDDEN DarwinClang : public Darwin { public: DarwinClang(const HostInfo &Host, const llvm::Triple& Triple, - const unsigned (&DarwinVersion)[3], bool IsIPhoneOS); + const unsigned (&DarwinVersion)[3]); /// @name Darwin ToolChain Implementation /// { @@ -228,8 +213,8 @@ class VISIBILITY_HIDDEN DarwinGCC : public Darwin { public: DarwinGCC(const HostInfo &Host, const llvm::Triple& Triple, - const unsigned (&DarwinVersion)[3], const unsigned (&GCCVersion)[3], - bool IsIPhoneOS); + const unsigned (&DarwinVersion)[3], + const unsigned (&GCCVersion)[3]); /// @name Darwin ToolChain Implementation /// { |