[cfe-commits] r94638 - in /cfe/trunk/lib/Driver: HostInfo.cpp ToolChains.cpp ToolChains.h

Daniel Dunbar daniel at zuster.org
Tue Jan 26 16:56:44 PST 2010


Author: ddunbar
Date: Tue Jan 26 18:56:44 2010
New Revision: 94638

URL: http://llvm.org/viewvc/llvm-project?rev=94638&view=rev
Log:
Driver/Darwin: Eliminate confusing IsIPhoneOS parameter -- this was actually
just indicating whether the default target should be iPhoneOS.

Modified:
    cfe/trunk/lib/Driver/HostInfo.cpp
    cfe/trunk/lib/Driver/ToolChains.cpp
    cfe/trunk/lib/Driver/ToolChains.h

Modified: cfe/trunk/lib/Driver/HostInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/HostInfo.cpp?rev=94638&r1=94637&r2=94638&view=diff

==============================================================================
--- cfe/trunk/lib/Driver/HostInfo.cpp (original)
+++ cfe/trunk/lib/Driver/HostInfo.cpp Tue Jan 26 18:56:44 2010
@@ -146,10 +146,10 @@
     // 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);
   }

Modified: cfe/trunk/lib/Driver/ToolChains.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=94638&r1=94637&r2=94638&view=diff

==============================================================================
--- cfe/trunk/lib/Driver/ToolChains.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains.cpp Tue Jan 26 18:56:44 2010
@@ -31,8 +31,8 @@
 /// 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 @@
   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 @@
 
 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 @@
 }
 
 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 @@
       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);

Modified: cfe/trunk/lib/Driver/ToolChains.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.h?rev=94638&r1=94637&r2=94638&view=diff

==============================================================================
--- cfe/trunk/lib/Driver/ToolChains.h (original)
+++ cfe/trunk/lib/Driver/ToolChains.h Tue Jan 26 18:56:44 2010
@@ -63,26 +63,13 @@
   /// 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 @@
   virtual void AddLinkRuntimeLibArgs(const ArgList &Args,
                                      ArgStringList &CmdArgs) const = 0;
 
-  bool isIPhoneOS() const { return IsIPhoneOS; }
-
   /// }
   /// @name ToolChain Implementation
   /// {
@@ -204,7 +189,7 @@
 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 @@
 
 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
   /// {





More information about the cfe-commits mailing list