diff options
Diffstat (limited to 'lib/Basic/Targets.cpp')
| -rw-r--r-- | lib/Basic/Targets.cpp | 52 | 
1 files changed, 27 insertions, 25 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index cf87bc484621c..a08e399e72700 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1,9 +1,8 @@  //===--- Targets.cpp - Implement target feature support -------------------===//  // -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception  //  //===----------------------------------------------------------------------===//  // @@ -99,19 +98,6 @@ void addCygMingDefines(const LangOptions &Opts, MacroBuilder &Builder) {    }  } -void addMinGWDefines(const llvm::Triple &Triple, const LangOptions &Opts, -                     MacroBuilder &Builder) { -  DefineStd(Builder, "WIN32", Opts); -  DefineStd(Builder, "WINNT", Opts); -  if (Triple.isArch64Bit()) { -    DefineStd(Builder, "WIN64", Opts); -    Builder.defineMacro("__MINGW64__"); -  } -  Builder.defineMacro("__MSVCRT__"); -  Builder.defineMacro("__MINGW32__"); -  addCygMingDefines(Opts, Builder); -} -  //===----------------------------------------------------------------------===//  // Driver code  //===----------------------------------------------------------------------===// @@ -333,6 +319,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,        return new OpenBSDTargetInfo<PPC32TargetInfo>(Triple, Opts);      case llvm::Triple::RTEMS:        return new RTEMSTargetInfo<PPC32TargetInfo>(Triple, Opts); +    case llvm::Triple::AIX: +      return new AIXPPC32TargetInfo(Triple, Opts);      default:        return new PPC32TargetInfo(Triple, Opts);      } @@ -349,6 +337,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,        return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);      case llvm::Triple::NetBSD:        return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); +    case llvm::Triple::AIX: +      return new AIXPPC64TargetInfo(Triple, Opts);      default:        return new PPC64TargetInfo(Triple, Opts);      } @@ -570,19 +560,31 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,          Triple.getVendor() != llvm::Triple::UnknownVendor ||          !Triple.isOSBinFormatWasm())        return nullptr; -    if (Triple.getOS() != llvm::Triple::UnknownOS && -        Triple.getOS() != llvm::Triple::WASI) -      return nullptr; -    return new WebAssemblyOSTargetInfo<WebAssembly32TargetInfo>(Triple, Opts); +    switch (Triple.getOS()) { +      case llvm::Triple::WASI: +        return new WASITargetInfo<WebAssembly32TargetInfo>(Triple, Opts); +      case llvm::Triple::Emscripten: +        return new EmscriptenTargetInfo<WebAssembly32TargetInfo>(Triple, Opts); +      case llvm::Triple::UnknownOS: +        return new WebAssemblyOSTargetInfo<WebAssembly32TargetInfo>(Triple, Opts); +      default: +        return nullptr; +    }    case llvm::Triple::wasm64:      if (Triple.getSubArch() != llvm::Triple::NoSubArch ||          Triple.getVendor() != llvm::Triple::UnknownVendor ||          !Triple.isOSBinFormatWasm())        return nullptr; -    if (Triple.getOS() != llvm::Triple::UnknownOS && -        Triple.getOS() != llvm::Triple::WASI) -      return nullptr; -    return new WebAssemblyOSTargetInfo<WebAssembly64TargetInfo>(Triple, Opts); +    switch (Triple.getOS()) { +      case llvm::Triple::WASI: +        return new WASITargetInfo<WebAssembly64TargetInfo>(Triple, Opts); +      case llvm::Triple::Emscripten: +        return new EmscriptenTargetInfo<WebAssembly64TargetInfo>(Triple, Opts); +      case llvm::Triple::UnknownOS: +        return new WebAssemblyOSTargetInfo<WebAssembly64TargetInfo>(Triple, Opts); +      default: +        return nullptr; +    }    case llvm::Triple::renderscript32:      return new LinuxTargetInfo<RenderScript32TargetInfo>(Triple, Opts);  | 
