summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMandeep Singh Grang <mgrang@codeaurora.org>2018-07-05 23:41:17 +0000
committerMandeep Singh Grang <mgrang@codeaurora.org>2018-07-05 23:41:17 +0000
commit083f4d7da48294964e283f4de2a95c6e9011482e (patch)
tree07994a12b29ec14cf6cf8dfa52a5247629550d64
parent89e4abe7b740d78ee6b926bf5dac7420bb688983 (diff)
downloadbcm5719-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.h3
-rw-r--r--llvm/lib/Support/Triple.cpp2
-rw-r--r--llvm/unittests/ADT/TripleTest.cpp6
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());
}
OpenPOWER on IntegriCloud