From a1265690cf614bde8a7fd1d503c5f13c184dc786 Mon Sep 17 00:00:00 2001 From: Amara Emerson Date: Wed, 6 Jan 2021 14:40:17 -0800 Subject: [PATCH] Fix failing triple test for macOS 11 with non-zero minor versions. Differential Revision: https://reviews.llvm.org/D94197 --- llvm/unittests/ADT/TripleTest.cpp | 8 ++++++++ llvm/unittests/Support/Host.cpp | 12 +++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/llvm/unittests/ADT/TripleTest.cpp b/llvm/unittests/ADT/TripleTest.cpp index ffce07b..ff6c2dd 100644 --- a/llvm/unittests/ADT/TripleTest.cpp +++ b/llvm/unittests/ADT/TripleTest.cpp @@ -1264,6 +1264,14 @@ TEST(TripleTest, getOSVersion) { EXPECT_EQ((unsigned)0, Minor); EXPECT_EQ((unsigned)0, Micro); + // For darwin triples on macOS 11, only compare the major version. + T = Triple("x86_64-apple-darwin20.2"); + EXPECT_TRUE(T.isMacOSX()); + T.getMacOSXVersion(Major, Minor, Micro); + EXPECT_EQ((unsigned)11, Major); + EXPECT_EQ((unsigned)0, Minor); + EXPECT_EQ((unsigned)0, Micro); + T = Triple("armv7-apple-ios"); EXPECT_FALSE(T.isMacOSX()); EXPECT_TRUE(T.isiOS()); diff --git a/llvm/unittests/Support/Host.cpp b/llvm/unittests/Support/Host.cpp index 8029bb5..b452048 100644 --- a/llvm/unittests/Support/Host.cpp +++ b/llvm/unittests/Support/Host.cpp @@ -348,9 +348,15 @@ TEST_F(HostTest, getMacOSHostVersion) { unsigned HostMajor, HostMinor, HostMicro; ASSERT_EQ(HostTriple.getMacOSXVersion(HostMajor, HostMinor, HostMicro), true); - // Don't compare the 'Micro' version, as it's always '0' for the 'Darwin' - // triples. - ASSERT_EQ(std::tie(SystemMajor, SystemMinor), std::tie(HostMajor, HostMinor)); + if (SystemMajor > 10) { + // Don't compare the 'Minor' and 'Micro' versions, as they're always '0' for + // the 'Darwin' triples on 11.x. + ASSERT_EQ(SystemMajor, HostMajor); + } else { + // Don't compare the 'Micro' version, as it's always '0' for the 'Darwin' + // triples. + ASSERT_EQ(std::tie(SystemMajor, SystemMinor), std::tie(HostMajor, HostMinor)); + } } #endif -- 2.7.4