diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h index a66d7ee198..13f0350383 100644 --- a/include/llvm/ADT/Triple.h +++ b/include/llvm/ADT/Triple.h @@ -106,7 +106,8 @@ class Triple { GNU, GNUEABI, EABI, - MachO + MachO, + ELF }; private: diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp index ce307b5470..9b10199b28 100644 --- a/lib/Support/Triple.cpp +++ b/lib/Support/Triple.cpp @@ -128,6 +128,7 @@ const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) { case GNUEABI: return "gnueabi"; case EABI: return "eabi"; case MachO: return "macho"; + case ELF: return "elf"; } return ""; @@ -388,6 +389,8 @@ Triple::OSType Triple::ParseOS(StringRef OSName) { Triple::EnvironmentType Triple::ParseEnvironment(StringRef EnvironmentName) { if (EnvironmentName.startswith("eabi")) return EABI; + if (EnvironmentName.startswith("elf")) + return ELF; else if (EnvironmentName.startswith("gnueabi")) return GNUEABI; else if (EnvironmentName.startswith("gnu"))