diff options
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 706a391..be5dedb 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -40,6 +40,7 @@ #include "Targets/WebAssembly.h" #include "Targets/X86.h" #include "Targets/XCore.h" +#include "Targets/Xtensa.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/DiagnosticFrontend.h" #include "llvm/ADT/StringExtras.h" @@ -297,6 +298,14 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple, case llvm::Triple::NaCl: return std::make_unique<NaClTargetInfo<NaClMips32TargetInfo>>(Triple, Opts); + case llvm::Triple::Win32: + switch (Triple.getEnvironment()) { + case llvm::Triple::GNU: + return std::make_unique<MinGWMipsTargetInfo>(Triple, Opts); + case llvm::Triple::MSVC: + default: // Assume MSVC for unknown environments + return std::make_unique<MicrosoftMipsTargetInfo>(Triple, Opts); + } default: return std::make_unique<MipsTargetInfo>(Triple, Opts); } @@ -743,6 +752,9 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple, default: return std::make_unique<LoongArch64TargetInfo>(Triple, Opts); } + + case llvm::Triple::xtensa: + return std::make_unique<XtensaTargetInfo>(Triple, Opts); } } } // namespace targets |