[llvm] r284240 - Define "contiki" OS specifier.
David L Kreitzer via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 14 07:41:46 PDT 2016
Author: dlkreitz
Date: Fri Oct 14 09:41:46 2016
New Revision: 284240
URL: http://llvm.org/viewvc/llvm-project?rev=284240&view=rev
Log:
Define "contiki" OS specifier.
Patch by Michael LeMay
Differential revision: http://reviews.llvm.org/D24897
Modified:
llvm/trunk/include/llvm/ADT/Triple.h
llvm/trunk/lib/Support/Triple.cpp
llvm/trunk/unittests/ADT/TripleTest.cpp
Modified: llvm/trunk/include/llvm/ADT/Triple.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Triple.h?rev=284240&r1=284239&r2=284240&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/Triple.h (original)
+++ llvm/trunk/include/llvm/ADT/Triple.h Fri Oct 14 09:41:46 2016
@@ -170,7 +170,8 @@ public:
TvOS, // Apple tvOS
WatchOS, // Apple watchOS
Mesa3D,
- LastOSType = Mesa3D
+ Contiki,
+ LastOSType = Contiki
};
enum EnvironmentType {
UnknownEnvironment,
@@ -489,6 +490,10 @@ public:
Env == Triple::GNUX32;
}
+ bool isOSContiki() const {
+ return getOS() == Triple::Contiki;
+ }
+
/// Checks if the environment could be MSVC.
bool isWindowsMSVCEnvironment() const {
return getOS() == Triple::Win32 &&
Modified: llvm/trunk/lib/Support/Triple.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Triple.cpp?rev=284240&r1=284239&r2=284240&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Triple.cpp (original)
+++ llvm/trunk/lib/Support/Triple.cpp Fri Oct 14 09:41:46 2016
@@ -193,6 +193,7 @@ StringRef Triple::getOSTypeName(OSType K
case TvOS: return "tvos";
case WatchOS: return "watchos";
case Mesa3D: return "mesa3d";
+ case Contiki: return "contiki";
}
llvm_unreachable("Invalid OSType");
@@ -465,6 +466,7 @@ static Triple::OSType parseOS(StringRef
.StartsWith("tvos", Triple::TvOS)
.StartsWith("watchos", Triple::WatchOS)
.StartsWith("mesa3d", Triple::Mesa3D)
+ .StartsWith("contiki", Triple::Contiki)
.Default(Triple::UnknownOS);
}
Modified: llvm/trunk/unittests/ADT/TripleTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/TripleTest.cpp?rev=284240&r1=284239&r2=284240&view=diff
==============================================================================
--- llvm/trunk/unittests/ADT/TripleTest.cpp (original)
+++ llvm/trunk/unittests/ADT/TripleTest.cpp Fri Oct 14 09:41:46 2016
@@ -87,6 +87,12 @@ TEST(TripleTest, ParsedIDs) {
EXPECT_EQ(Triple::ELFIAMCU, T.getOS());
EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
+ T = Triple("i386-pc-contiki-unknown");
+ EXPECT_EQ(Triple::x86, T.getArch());
+ EXPECT_EQ(Triple::PC, T.getVendor());
+ EXPECT_EQ(Triple::Contiki, T.getOS());
+ EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
+
T = Triple("x86_64-pc-linux-gnu");
EXPECT_EQ(Triple::x86_64, T.getArch());
EXPECT_EQ(Triple::PC, T.getVendor());
More information about the llvm-commits
mailing list