[cfe-commits] r82211 - in /cfe/trunk/lib/Driver: ToolChains.h Tools.cpp

Daniel Dunbar daniel at zuster.org
Fri Sep 18 01:14:55 PDT 2009


Author: ddunbar
Date: Fri Sep 18 03:14:55 2009
New Revision: 82211

URL: http://llvm.org/viewvc/llvm-project?rev=82211&view=rev
Log:
Move isMacosxVersionLT helpers to Darwin tool chain.

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

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

==============================================================================
--- cfe/trunk/lib/Driver/ToolChains.h (original)
+++ cfe/trunk/lib/Driver/ToolChains.h Fri Sep 18 03:14:55 2009
@@ -95,6 +95,20 @@
   /// either the -mmacosx-version-min, or the current version if unspecified.
   void getMacosxVersionMin(const ArgList &Args, unsigned (&Res)[3]) const;
 
+  static bool isMacosxVersionLT(unsigned (&A)[3], unsigned (&B)[3]) {
+    for (unsigned i=0; i < 3; ++i) {
+      if (A[i] > B[i]) return false;
+      if (A[i] < B[i]) return true;
+    }
+    return false;
+  }
+
+  static bool isMacosxVersionLT(unsigned (&A)[3],
+                                unsigned V0, unsigned V1=0, unsigned V2=0) {
+    unsigned B[3] = { V0, V1, V2 };
+    return isMacosxVersionLT(A, B);
+  }
+
   const char *getMacosxVersionStr() const {
     return MacosxVersionMin.c_str();
   }

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

==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Fri Sep 18 03:14:55 2009
@@ -1644,20 +1644,6 @@
   }
 }
 
-static bool isMacosxVersionLT(unsigned (&A)[3], unsigned (&B)[3]) {
-  for (unsigned i=0; i < 3; ++i) {
-    if (A[i] > B[i]) return false;
-    if (A[i] < B[i]) return true;
-  }
-  return false;
-}
-
-static bool isMacosxVersionLT(unsigned (&A)[3],
-                              unsigned V0, unsigned V1=0, unsigned V2=0) {
-  unsigned B[3] = { V0, V1, V2 };
-  return isMacosxVersionLT(A, B);
-}
-
 // FIXME: Can we tablegen this?
 static const char *GetArmArchForMArch(llvm::StringRef Value) {
   if (Value == "armv6k")
@@ -1928,6 +1914,7 @@
   CmdArgs.push_back("-o");
   CmdArgs.push_back(Output.getFilename());
 
+
   unsigned MacosxVersionMin[3];
   getDarwinToolChain().getMacosxVersionMin(Args, MacosxVersionMin);
 
@@ -1937,15 +1924,15 @@
     // Derived from startfile spec.
     if (Args.hasArg(options::OPT_dynamiclib)) {
       // Derived from darwin_dylib1 spec.
-      if (isMacosxVersionLT(MacosxVersionMin, 10, 5))
+      if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 5))
         CmdArgs.push_back("-ldylib1.o");
-      else if (isMacosxVersionLT(MacosxVersionMin, 10, 6))
+      else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 6))
         CmdArgs.push_back("-ldylib1.10.5.o");
     } else {
       if (Args.hasArg(options::OPT_bundle)) {
         if (!Args.hasArg(options::OPT_static)) {
           // Derived from darwin_bundle1 spec.
-          if (isMacosxVersionLT(MacosxVersionMin, 10, 6))
+          if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 6))
             CmdArgs.push_back("-lbundle1.o");
         }
       } else {
@@ -1968,9 +1955,11 @@
             // Derived from darwin_crt1 spec.
             if (getDarwinToolChain().isIPhone()) {
               CmdArgs.push_back("-lcrt1.o");
-            } else if (isMacosxVersionLT(MacosxVersionMin, 10, 5))
+            } else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin,
+                                                              10, 5))
               CmdArgs.push_back("-lcrt1.o");
-            else if (isMacosxVersionLT(MacosxVersionMin, 10, 6))
+            else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin,
+                                                            10, 6))
               CmdArgs.push_back("-lcrt1.10.5.o");
             else
               CmdArgs.push_back("-lcrt1.10.6.o");
@@ -1983,7 +1972,7 @@
 
     if (Args.hasArg(options::OPT_shared_libgcc) &&
         !Args.hasArg(options::OPT_miphoneos_version_min_EQ) &&
-        isMacosxVersionLT(MacosxVersionMin, 10, 5)) {
+        getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 5)) {
       const char *Str =
         Args.MakeArgString(getToolChain().GetFilePath(C, "crt3.o"));
       CmdArgs.push_back(Str);
@@ -2049,21 +2038,24 @@
                  Args.hasArg(options::OPT_fexceptions) ||
                  Args.hasArg(options::OPT_fgnu_runtime)) {
         // FIXME: This is probably broken on 10.3?
-        if (isMacosxVersionLT(MacosxVersionMin, 10, 5))
+        if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 5))
           CmdArgs.push_back("-lgcc_s.10.4");
-        else if (isMacosxVersionLT(MacosxVersionMin, 10, 6))
+        else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin,
+                                                        10, 6))
           CmdArgs.push_back("-lgcc_s.10.5");
       } else {
-        if (isMacosxVersionLT(MacosxVersionMin, 10, 3, 9))
+        if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 3, 9))
           ; // Do nothing.
-        else if (isMacosxVersionLT(MacosxVersionMin, 10, 5))
+        else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin,
+                                                        10, 5))
           CmdArgs.push_back("-lgcc_s.10.4");
-        else if (isMacosxVersionLT(MacosxVersionMin, 10, 6))
+        else if (getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin,
+                                                        10, 6))
           CmdArgs.push_back("-lgcc_s.10.5");
       }
 
       if (getDarwinToolChain().isIPhone() ||
-          isMacosxVersionLT(MacosxVersionMin, 10, 6)) {
+          getDarwinToolChain().isMacosxVersionLT(MacosxVersionMin, 10, 6)) {
         CmdArgs.push_back("-lgcc");
         CmdArgs.push_back("-lSystem");
       } else {





More information about the cfe-commits mailing list