Fix regression in parsing armv{6,7}hl- triples. These are used by SUSE
authorIsmail Donmez <ismail@donmez.ws>
Tue, 5 May 2015 09:29:43 +0000 (09:29 +0000)
committerIsmail Donmez <ismail@donmez.ws>
Tue, 5 May 2015 09:29:43 +0000 (09:29 +0000)
and Redhat currently.

Reviewed by Jonathan Roelofs.

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

lib/Support/Triple.cpp
unittests/ADT/TripleTest.cpp

index b27feceb93d91b8a731016b4b930b2a7a14638cc..0a10a48557e4f97f2f90ac9ba1262f2a3985fdf3 100644 (file)
@@ -279,9 +279,10 @@ static Triple::ArchType parseARMArch(StringRef ArchName) {
     .Cases("v3", "v3m", isThumb ? Triple::UnknownArch : arch)
     .Cases("v4", "v4t", arch)
     .Cases("v5", "v5e", "v5t", "v5te", "v5tej", arch)
-    .Cases("v6", "v6j", "v6k", "v6m", "v6sm", arch)
+    .Cases("v6", "v6hl", "v6j", "v6k", arch)
+    .Cases("v6m", "v6sm", arch)
     .Cases("v6t2", "v6z", "v6zk", arch)
-    .Cases("v7", "v7a", "v7em", "v7l", arch)
+    .Cases("v7", "v7a", "v7em", "v7hl", "v7l", arch)
     .Cases("v7m", "v7r", "v7s", arch)
     .Cases("v8", "v8a", arch)
     .Cases("v8.1", "v8.1a", arch)
index 75d62e6fccea0922a6d43a43c815e3194f3b5ace..96050374221855400025de7307b4661bd1707a63 100644 (file)
@@ -129,6 +129,18 @@ TEST(TripleTest, ParsedIDs) {
   EXPECT_EQ(Triple::UnknownOS, T.getOS());
   EXPECT_EQ(Triple::EABI, T.getEnvironment());
 
+  T = Triple("armv6hl-none-linux-gnueabi");
+  EXPECT_EQ(Triple::arm, T.getArch());
+  EXPECT_EQ(Triple::Linux, T.getOS());
+  EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
+  EXPECT_EQ(Triple::GNUEABI, T.getEnvironment());
+
+  T = Triple("armv7hl-none-linux-gnueabi");
+  EXPECT_EQ(Triple::arm, T.getArch());
+  EXPECT_EQ(Triple::Linux, T.getOS());
+  EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
+  EXPECT_EQ(Triple::GNUEABI, T.getEnvironment());
+
   T = Triple("amdil-unknown-unknown");
   EXPECT_EQ(Triple::amdil, T.getArch());
   EXPECT_EQ(Triple::UnknownVendor, T.getVendor());