aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/TargetParser/Triple.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/TargetParser/Triple.cpp')
-rw-r--r--llvm/lib/TargetParser/Triple.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp
index ac04dab04897..d475650c2d18 100644
--- a/llvm/lib/TargetParser/Triple.cpp
+++ b/llvm/lib/TargetParser/Triple.cpp
@@ -819,8 +819,6 @@ static Triple::SubArchType parseSubArch(StringRef SubArchName) {
}
static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
- if (T.isOSDarwin())
- return Triple::MachO;
switch (T.getArch()) {
case Triple::UnknownArch:
case Triple::aarch64:
@@ -829,12 +827,13 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
case Triple::thumb:
case Triple::x86:
case Triple::x86_64:
- if (T.isOSWindows())
+ switch (T.getOS()) {
+ case Triple::Win32:
+ case Triple::UEFI:
return Triple::COFF;
- else if (T.isUEFI())
- return Triple::COFF;
- return Triple::ELF;
-
+ default:
+ return T.isOSDarwin() ? Triple::MachO : Triple::ELF;
+ }
case Triple::aarch64_be:
case Triple::amdgcn:
case Triple::amdil64:
@@ -887,6 +886,8 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
case Triple::ppc:
if (T.isOSAIX())
return Triple::XCOFF;
+ if (T.isOSDarwin())
+ return Triple::MachO;
return Triple::ELF;
case Triple::systemz: