diff options
Diffstat (limited to 'llvm/lib/TargetParser/Triple.cpp')
| -rw-r--r-- | llvm/lib/TargetParser/Triple.cpp | 15 | 
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:  | 
