summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/ADT/Triple.h3
-rw-r--r--llvm/lib/Support/Triple.cpp2
-rw-r--r--llvm/unittests/ADT/TripleTest.cpp2
3 files changed, 6 insertions, 1 deletions
diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h
index 947812d94ec..4ad9396066a 100644
--- a/llvm/include/llvm/ADT/Triple.h
+++ b/llvm/include/llvm/ADT/Triple.h
@@ -170,7 +170,8 @@ public:
MSVC,
Itanium,
Cygnus,
- LastEnvironmentType = Cygnus
+ AMDOpenCL,
+ LastEnvironmentType = AMDOpenCL
};
enum ObjectFormatType {
UnknownObjectFormat,
diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp
index c6646fb101b..f1b009e19e1 100644
--- a/llvm/lib/Support/Triple.cpp
+++ b/llvm/lib/Support/Triple.cpp
@@ -196,6 +196,7 @@ const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) {
case MSVC: return "msvc";
case Itanium: return "itanium";
case Cygnus: return "cygnus";
+ case AMDOpenCL: return "amdopencl";
}
llvm_unreachable("Invalid EnvironmentType!");
@@ -430,6 +431,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
.StartsWith("msvc", Triple::MSVC)
.StartsWith("itanium", Triple::Itanium)
.StartsWith("cygnus", Triple::Cygnus)
+ .StartsWith("amdopencl", Triple::AMDOpenCL)
.Default(Triple::UnknownEnvironment);
}
diff --git a/llvm/unittests/ADT/TripleTest.cpp b/llvm/unittests/ADT/TripleTest.cpp
index 2b1e871b94c..ead430bdc48 100644
--- a/llvm/unittests/ADT/TripleTest.cpp
+++ b/llvm/unittests/ADT/TripleTest.cpp
@@ -354,6 +354,8 @@ TEST(TripleTest, MutateName) {
EXPECT_EQ(Triple::Darwin, T.getOS());
EXPECT_EQ("i386-pc-darwin", T.getTriple());
+ T.setEnvironmentName("amdopencl");
+ EXPECT_EQ(Triple::AMDOpenCL, T.getEnvironment());
}
TEST(TripleTest, BitWidthPredicates) {
OpenPOWER on IntegriCloud