diff --git a/llvm/include/llvm/TargetParser/Triple.h b/llvm/include/llvm/TargetParser/Triple.h index 91d4190836fbc2db5bce0b622aa3d86023f36111..b0f13fb7662bcbbec42b9069098f2d367b86a47e 100644 --- a/llvm/include/llvm/TargetParser/Triple.h +++ b/llvm/include/llvm/TargetParser/Triple.h @@ -186,7 +186,7 @@ public: AMD, Mesa, SUSE, -#ifdef BUILD_FOR_EMBEDDED +#if defined(BUILD_FOR_EMBEDDED) || defined(BUILD_FOR_OPENEULER) openEuler, #endif OpenEmbedded, diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp index f25b31f92da83425de8ac2bb5294908abadb5225..fec1203ce9a6907bbccac2f3e91ee9e3af4b82ab 100644 --- a/llvm/lib/TargetParser/Triple.cpp +++ b/llvm/lib/TargetParser/Triple.cpp @@ -199,7 +199,7 @@ StringRef Triple::getVendorTypeName(VendorType Kind) { case PC: return "pc"; case SCEI: return "scei"; case SUSE: return "suse"; -#ifdef BUILD_FOR_EMBEDDED +#if defined(BUILD_FOR_EMBEDDED) || defined(BUILD_FOR_OPENEULER) case openEuler: return "openeuler"; #endif } @@ -580,6 +580,8 @@ static Triple::VendorType parseVendor(StringRef VendorName) { .Case("oe", Triple::OpenEmbedded) #ifdef BUILD_FOR_EMBEDDED .Case("openeulersdk", Triple::OpenEmbedded) +#endif +#if defined(BUILD_FOR_EMBEDDED) || defined(BUILD_FOR_OPENEULER) .Case("openeuler", Triple::openEuler) #endif .Default(Triple::UnknownVendor); diff --git a/llvm/unittests/TargetParser/TripleTest.cpp b/llvm/unittests/TargetParser/TripleTest.cpp index a63bd092d40c0bed37699bcc9467873f16538e45..bd9c1cad46ce27948b0d889a4ef7aaa2baffa09f 100644 --- a/llvm/unittests/TargetParser/TripleTest.cpp +++ b/llvm/unittests/TargetParser/TripleTest.cpp @@ -487,6 +487,14 @@ TEST(TripleTest, ParsedIDs) { EXPECT_EQ(Triple::Linux, T.getOS()); EXPECT_EQ(Triple::GNU, T.getEnvironment()); +#ifdef BUILD_FOR_OPENEULER + T = Triple("loongarch64-openeuler-linux-gnu"); + EXPECT_EQ(Triple::loongarch64, T.getArch()); + EXPECT_EQ(Triple::openEuler, T.getVendor()); + EXPECT_EQ(Triple::Linux, T.getOS()); + EXPECT_EQ(Triple::GNU, T.getEnvironment()); +#endif + T = Triple("loongarch64-unknown-linux-gnuf32"); EXPECT_EQ(Triple::loongarch64, T.getArch()); EXPECT_EQ(Triple::UnknownVendor, T.getVendor()); @@ -535,6 +543,14 @@ TEST(TripleTest, ParsedIDs) { EXPECT_EQ(Triple::Linux, T.getOS()); EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment()); +#ifdef BUILD_FOR_OPENEULER + T = Triple("riscv64-openeuler-linux"); + EXPECT_EQ(Triple::riscv64, T.getArch()); + EXPECT_EQ(Triple::openEuler, T.getVendor()); + EXPECT_EQ(Triple::Linux, T.getOS()); + EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment()); +#endif + T = Triple("armv7hl-suse-linux-gnueabi"); EXPECT_EQ(Triple::arm, T.getArch()); EXPECT_EQ(Triple::SUSE, T.getVendor());