From eb32d4dc7a24f5084dd93282ffa29cf2355e2985 Mon Sep 17 00:00:00 2001 From: Ismail Donmez Date: Tue, 5 May 2015 09:29:43 +0000 Subject: [PATCH] Fix regression in parsing armv{6,7}hl- triples. These are used by SUSE 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 | 5 +++-- unittests/ADT/TripleTest.cpp | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp index b27feceb93d..0a10a48557e 100644 --- a/lib/Support/Triple.cpp +++ b/lib/Support/Triple.cpp @@ -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) diff --git a/unittests/ADT/TripleTest.cpp b/unittests/ADT/TripleTest.cpp index 75d62e6fcce..96050374221 100644 --- a/unittests/ADT/TripleTest.cpp +++ b/unittests/ADT/TripleTest.cpp @@ -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()); -- 2.34.1