diff --git a/unittests/ADT/TripleTest.cpp b/unittests/ADT/TripleTest.cpp index 9c8f3b1d43a..b0f13d84af4 100644 --- a/unittests/ADT/TripleTest.cpp +++ b/unittests/ADT/TripleTest.cpp @@ -552,6 +552,13 @@ TEST(TripleTest, ParsedIDs) { EXPECT_EQ(Triple::OpenEmbedded, T.getVendor()); EXPECT_EQ(Triple::Linux, T.getOS()); EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment()); + EXPECT_TRUE(T.isArch64Bit()); + + T = Triple("arm64_32-apple-ios"); + EXPECT_EQ(Triple::aarch64_32, T.getArch()); + EXPECT_EQ(Triple::IOS, T.getOS()); + EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment()); + EXPECT_TRUE(T.isArch32Bit()); T = Triple("huh"); EXPECT_EQ(Triple::UnknownArch, T.getArch()); @@ -1457,6 +1464,10 @@ TEST(TripleTest, ParseARMArch) { Triple T = Triple("arm64"); EXPECT_EQ(Triple::aarch64, T.getArch()); } + { + Triple T = Triple("arm64_32"); + EXPECT_EQ(Triple::aarch64_32, T.getArch()); + } { Triple T = Triple("aarch64"); EXPECT_EQ(Triple::aarch64, T.getArch()); diff --git a/unittests/Support/TargetParserTest.cpp b/unittests/Support/TargetParserTest.cpp index a973d980d26..08ed7645ea0 100644 --- a/unittests/Support/TargetParserTest.cpp +++ b/unittests/Support/TargetParserTest.cpp @@ -658,12 +658,15 @@ TEST(TargetParserTest, ARMparseArchEndianAndISA) { } EXPECT_EQ(ARM::EndianKind::LITTLE, ARM::parseArchEndian("aarch64")); + EXPECT_EQ(ARM::EndianKind::LITTLE, ARM::parseArchEndian("arm64_32")); EXPECT_EQ(ARM::EndianKind::BIG, ARM::parseArchEndian("aarch64_be")); EXPECT_EQ(ARM::ISAKind::AARCH64, ARM::parseArchISA("aarch64")); EXPECT_EQ(ARM::ISAKind::AARCH64, ARM::parseArchISA("aarch64_be")); EXPECT_EQ(ARM::ISAKind::AARCH64, ARM::parseArchISA("arm64")); EXPECT_EQ(ARM::ISAKind::AARCH64, ARM::parseArchISA("arm64_be")); + EXPECT_EQ(ARM::ISAKind::AARCH64, ARM::parseArchISA("arm64_32")); + EXPECT_EQ(ARM::ISAKind::AARCH64, ARM::parseArchISA("aarch64_32")); } TEST(TargetParserTest, ARMparseArchProfile) {