]> granicus.if.org Git - llvm/commitdiff
[triple] add 'macCatalyst' environment type
authorAlex Lorenz <arphaman@gmail.com>
Tue, 2 Jul 2019 21:37:00 +0000 (21:37 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Tue, 2 Jul 2019 21:37:00 +0000 (21:37 +0000)
Mac Catalyst is a new deployment platform in macOS Catalina.

Differential Revision: https://reviews.llvm.org/D64097

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364971 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/Triple.h
lib/Support/Triple.cpp
unittests/ADT/TripleTest.cpp

index 3da2659c6cd6d1a502c88cf89fcb456b00501e4e..78fc4d7b62422cae8099e4def7a50b77e7da530b 100644 (file)
@@ -214,8 +214,9 @@ public:
     Itanium,
     Cygnus,
     CoreCLR,
-    Simulator,  // Simulator variants of other systems, e.g., Apple's iOS
-    LastEnvironmentType = Simulator
+    Simulator, // Simulator variants of other systems, e.g., Apple's iOS
+    MacCatalyst,
+    LastEnvironmentType = MacCatalyst
   };
   enum ObjectFormatType {
     UnknownObjectFormat,
@@ -485,6 +486,10 @@ public:
     return getEnvironment() == Triple::Simulator;
   }
 
+  bool isMacCatalystEnvironment() const {
+    return getEnvironment() == Triple::MacCatalyst;
+  }
+
   bool isOSNetBSD() const {
     return getOS() == Triple::NetBSD;
   }
index eacfe3b6bf0af3e7507b2cc4b65dd9e76caf3600..5426490332012e236270f83a97bc459b84dbfcd8 100644 (file)
@@ -239,6 +239,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) {
   case Cygnus: return "cygnus";
   case CoreCLR: return "coreclr";
   case Simulator: return "simulator";
+  case MacCatalyst: return "maccatalyst";
   }
 
   llvm_unreachable("Invalid EnvironmentType!");
@@ -541,6 +542,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
     .StartsWith("cygnus", Triple::Cygnus)
     .StartsWith("coreclr", Triple::CoreCLR)
     .StartsWith("simulator", Triple::Simulator)
+    .StartsWith("maccatalyst", Triple::MacCatalyst)
     .Default(Triple::UnknownEnvironment);
 }
 
index b0f13d84af4ea776ba454a61ed651955b55f6547..5b00a011ab35a47c1750f389c6f14186454939b6 100644 (file)
@@ -1237,6 +1237,17 @@ TEST(TripleTest, getOSVersion) {
   EXPECT_EQ((unsigned)3, Minor);
   EXPECT_EQ((unsigned)0, Micro);
   EXPECT_TRUE(T.isSimulatorEnvironment());
+  EXPECT_FALSE(T.isMacCatalystEnvironment());
+
+  T = Triple("x86_64-apple-ios13.0-maccatalyst");
+  EXPECT_TRUE(T.isiOS());
+  T.getiOSVersion(Major, Minor, Micro);
+  EXPECT_EQ((unsigned)13, Major);
+  EXPECT_EQ((unsigned)0, Minor);
+  EXPECT_EQ((unsigned)0, Micro);
+  EXPECT_TRUE(T.getEnvironment() == Triple::MacCatalyst);
+  EXPECT_TRUE(T.isMacCatalystEnvironment());
+  EXPECT_FALSE(T.isSimulatorEnvironment());
 }
 
 TEST(TripleTest, FileFormat) {