This is useful for printing the object format of a triple in debug logs.
/// Get the canonical name for the \p Kind environment.
static StringRef getEnvironmentTypeName(EnvironmentType Kind);
+ /// Get the name for the \p Object format.
+ static StringRef getObjectFormatTypeName(ObjectFormatType ObjectFormat);
+
/// @}
/// @name Static helpers for converting alternate architecture names.
/// @{
llvm_unreachable("Invalid EnvironmentType!");
}
+StringRef Triple::getObjectFormatTypeName(ObjectFormatType Kind) {
+ switch (Kind) {
+ case UnknownObjectFormat: return "";
+ case COFF: return "coff";
+ case ELF: return "elf";
+ case GOFF: return "goff";
+ case MachO: return "macho";
+ case Wasm: return "wasm";
+ case XCOFF: return "xcoff";
+ case DXContainer: return "dxcontainer";
+ case SPIRV: return "spirv";
+ }
+ llvm_unreachable("unknown object format type");
+}
+
static Triple::ArchType parseBPFArch(StringRef ArchName) {
if (ArchName.equals("bpf")) {
if (sys::IsLittleEndianHost)
}
}
-static StringRef getObjectFormatTypeName(Triple::ObjectFormatType Kind) {
- switch (Kind) {
- case Triple::UnknownObjectFormat:
- return "";
- case Triple::COFF:
- return "coff";
- case Triple::ELF:
- return "elf";
- case Triple::GOFF:
- return "goff";
- case Triple::MachO:
- return "macho";
- case Triple::Wasm:
- return "wasm";
- case Triple::XCOFF:
- return "xcoff";
- case Triple::DXContainer:
- return "dxcontainer";
- case Triple::SPIRV:
- return "spirv";
- }
- llvm_unreachable("unknown object format type");
-}
-
static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
switch (T.getArch()) {
case Triple::UnknownArch:
Triple T = Triple("");
T.setObjectFormat(Triple::ELF);
EXPECT_EQ(Triple::ELF, T.getObjectFormat());
+ EXPECT_EQ("elf", Triple::getObjectFormatTypeName(T.getObjectFormat()));
T.setObjectFormat(Triple::MachO);
EXPECT_EQ(Triple::MachO, T.getObjectFormat());
+ EXPECT_EQ("macho", Triple::getObjectFormatTypeName(T.getObjectFormat()));
T.setObjectFormat(Triple::XCOFF);
EXPECT_EQ(Triple::XCOFF, T.getObjectFormat());
+ EXPECT_EQ("xcoff", Triple::getObjectFormatTypeName(T.getObjectFormat()));
T.setObjectFormat(Triple::GOFF);
EXPECT_EQ(Triple::GOFF, T.getObjectFormat());
+ EXPECT_EQ("goff", Triple::getObjectFormatTypeName(T.getObjectFormat()));
T.setObjectFormat(Triple::SPIRV);
EXPECT_EQ(Triple::SPIRV, T.getObjectFormat());
+ EXPECT_EQ("spirv", Triple::getObjectFormatTypeName(T.getObjectFormat()));
}
TEST(TripleTest, NormalizeWindows) {