]> granicus.if.org Git - clang/commitdiff
Use new Triple::getMacOSXVersion function.
authorBob Wilson <bob.wilson@apple.com>
Tue, 31 Jan 2012 22:43:59 +0000 (22:43 +0000)
committerBob Wilson <bob.wilson@apple.com>
Tue, 31 Jan 2012 22:43:59 +0000 (22:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149439 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/ToolChains.cpp

index 9cc29cd5459304bfd2eb3cd5d1257d339b709fa8..fda72ed58438cd995f07129e2437f28d0ca6cd1c 100644 (file)
@@ -52,42 +52,17 @@ Darwin::Darwin(const Driver &D, const llvm::Triple& Triple)
 {
   // Compute the initial Darwin version from the triple
   unsigned Major, Minor, Micro;
-  Triple.getOSVersion(Major, Minor, Micro);
-  switch (Triple.getOS()) {
-  default: assert(0 && "unexpected OS for Darwin triple");
-  case llvm::Triple::Darwin:
-    // Default to darwin4, i.e., MacOSX 10.0.0.
-    if (Major == 0)
-      Major = 4;
-    if (Major < 4)
-      getDriver().Diag(diag::err_drv_invalid_darwin_version) <<
-        Triple.getOSName();
-    Micro = 0;
-    Minor = Major - 4;
-    Major = 10;
-    break;
-  case llvm::Triple::MacOSX:
-    // Default to MacOSX 10.
-    if (Major == 0)
-      Major = 10;
-    if (Major != 10)
-      getDriver().Diag(diag::err_drv_invalid_darwin_version) <<
-        Triple.getOSName();
-    break;
-  case llvm::Triple::IOS:
-    // Ignore the version from the triple.
-    Major = 10;
-    Minor = 0;
-    Micro = 0;
-    break;
-  }
+  if (!Triple.getMacOSXVersion(Major, Minor, Micro))
+    getDriver().Diag(diag::err_drv_invalid_darwin_version) <<
+      Triple.getOSName();
+  llvm::raw_string_ostream(MacosxVersionMin)
+    << Major << '.' << Minor << '.' << Micro;
+
   // FIXME: DarwinVersion is only used to find GCC's libexec directory.
   // It should be removed when we stop supporting that.
   DarwinVersion[0] = Minor + 4;
   DarwinVersion[1] = Micro;
   DarwinVersion[2] = 0;
-  llvm::raw_string_ostream(MacosxVersionMin)
-    << Major << '.' << Minor << '.' << Micro;
 }
 
 types::ID Darwin::LookupTypeForExtension(const char *Ext) const {