diff options
author | Mandeep Singh Grang <mgrang@codeaurora.org> | 2018-07-05 23:41:17 +0000 |
---|---|---|
committer | Mandeep Singh Grang <mgrang@codeaurora.org> | 2018-07-05 23:41:17 +0000 |
commit | 083f4d7da48294964e283f4de2a95c6e9011482e (patch) | |
tree | 07994a12b29ec14cf6cf8dfa52a5247629550d64 | |
parent | 89e4abe7b740d78ee6b926bf5dac7420bb688983 (diff) | |
download | bcm5719-llvm-083f4d7da48294964e283f4de2a95c6e9011482e.tar.gz bcm5719-llvm-083f4d7da48294964e283f4de2a95c6e9011482e.zip |
[OpenEmbedded] Add OpenEmbedded vendor
Summary: The lib paths are not correctly picked up for OpenEmbedded sysroots
(like arm-oe-linux-gnueabi). I fix this in a follow-up clang patch. But in
order to add the correct libs I need to detect if the vendor is oe. For this
reason, it is first necessary to teach llvm to detect oe vendor, which is what
this patch does.
Reviewers: chandlerc, compnerd, rengolin, javed.absar
Reviewed By: compnerd
Subscribers: kristof.beyls, dexonsmith, llvm-commits
Differential Revision: https://reviews.llvm.org/D48861
llvm-svn: 336401
-rw-r--r-- | llvm/include/llvm/ADT/Triple.h | 3 | ||||
-rw-r--r-- | llvm/lib/Support/Triple.cpp | 2 | ||||
-rw-r--r-- | llvm/unittests/ADT/TripleTest.cpp | 6 |
3 files changed, 10 insertions, 1 deletions
diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h index 0f9e51848d0..c95b16dd4e8 100644 --- a/llvm/include/llvm/ADT/Triple.h +++ b/llvm/include/llvm/ADT/Triple.h @@ -145,7 +145,8 @@ public: AMD, Mesa, SUSE, - LastVendorType = SUSE + OpenEmbedded, + LastVendorType = OpenEmbedded }; enum OSType { UnknownOS, diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp index b791370ed26..b14d6492b1e 100644 --- a/llvm/lib/Support/Triple.cpp +++ b/llvm/lib/Support/Triple.cpp @@ -168,6 +168,7 @@ StringRef Triple::getVendorTypeName(VendorType Kind) { case AMD: return "amd"; case Mesa: return "mesa"; case SUSE: return "suse"; + case OpenEmbedded: return "oe"; } llvm_unreachable("Invalid VendorType!"); @@ -463,6 +464,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { .Case("amd", Triple::AMD) .Case("mesa", Triple::Mesa) .Case("suse", Triple::SUSE) + .Case("oe", Triple::OpenEmbedded) .Default(Triple::UnknownVendor); } diff --git a/llvm/unittests/ADT/TripleTest.cpp b/llvm/unittests/ADT/TripleTest.cpp index 3103074b093..3963a966ef6 100644 --- a/llvm/unittests/ADT/TripleTest.cpp +++ b/llvm/unittests/ADT/TripleTest.cpp @@ -361,6 +361,12 @@ TEST(TripleTest, ParsedIDs) { EXPECT_EQ(Triple::Linux, T.getOS()); EXPECT_EQ(Triple::GNUABI64, T.getEnvironment()); + T = Triple("arm-oe-linux-gnueabi"); + EXPECT_EQ(Triple::arm, T.getArch()); + EXPECT_EQ(Triple::OpenEmbedded, T.getVendor()); + EXPECT_EQ(Triple::Linux, T.getOS()); + EXPECT_EQ(Triple::GNUEABI, T.getEnvironment()); + T = Triple("huh"); EXPECT_EQ(Triple::UnknownArch, T.getArch()); } |