File tree Expand file tree Collapse file tree 4 files changed +29
-0
lines changed Expand file tree Collapse file tree 4 files changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -122,6 +122,8 @@ createTargetCodeGenInfo(CodeGenModule &CGM) {
122122 case llvm::Triple::mipsel:
123123 if (Triple.getOS () == llvm::Triple::NaCl)
124124 return createPNaClTargetCodeGenInfo (CGM);
125+ else if (Triple.getOS () == llvm::Triple::Win32)
126+ return createWindowsMIPSTargetCodeGenInfo (CGM, /* IsOS32=*/ true );
125127 return createMIPSTargetCodeGenInfo (CGM, /* IsOS32=*/ true );
126128
127129 case llvm::Triple::mips64:
Original file line number Diff line number Diff line change @@ -502,6 +502,9 @@ createM68kTargetCodeGenInfo(CodeGenModule &CGM);
502502std::unique_ptr<TargetCodeGenInfo>
503503createMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32);
504504
505+ std::unique_ptr<TargetCodeGenInfo>
506+ createWindowsMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32);
507+
505508std::unique_ptr<TargetCodeGenInfo>
506509createMSP430TargetCodeGenInfo (CodeGenModule &CGM);
507510
Original file line number Diff line number Diff line change @@ -105,6 +105,24 @@ class MIPSTargetCodeGenInfo : public TargetCodeGenInfo {
105105 return SizeOfUnwindException;
106106 }
107107};
108+
109+ class WindowsMIPSTargetCodeGenInfo : public MIPSTargetCodeGenInfo {
110+ public:
111+ WindowsMIPSTargetCodeGenInfo (CodeGenTypes &CGT, bool IsO32)
112+ : MIPSTargetCodeGenInfo(CGT, IsO32) {}
113+
114+ void getDependentLibraryOption (llvm::StringRef Lib,
115+ llvm::SmallString<24 > &Opt) const override {
116+ Opt = " /DEFAULTLIB:" ;
117+ Opt += qualifyWindowsLibrary (Lib);
118+ }
119+
120+ void getDetectMismatchOption (llvm::StringRef Name,
121+ llvm::StringRef Value,
122+ llvm::SmallString<32 > &Opt) const override {
123+ Opt = " /FAILIFMISMATCH:\" " + Name.str () + " =" + Value.str () + " \" " ;
124+ }
125+ };
108126}
109127
110128void MipsABIInfo::CoerceToIntArgs (
@@ -436,3 +454,8 @@ std::unique_ptr<TargetCodeGenInfo>
436454CodeGen::createMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32) {
437455 return std::make_unique<MIPSTargetCodeGenInfo>(CGM.getTypes (), IsOS32);
438456}
457+
458+ std::unique_ptr<TargetCodeGenInfo>
459+ CodeGen::createWindowsMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32) {
460+ return std::make_unique<WindowsMIPSTargetCodeGenInfo>(CGM.getTypes (), IsOS32);
461+ }
Original file line number Diff line number Diff line change 66// RUN: %clang_cc1 %s -triple x86_64-scei-ps4 -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
77// RUN: %clang_cc1 %s -triple x86_64-sie-ps5 -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
88// RUN: %clang_cc1 %s -triple aarch64-windows-msvc -fms-extensions -emit-llvm -o - | FileCheck %s
9+ // RUN: %clang_cc1 %s -triple mipsel-windows-msvc -fms-extensions -emit-llvm -o - | FileCheck %s
910
1011#pragma comment(lib, "msvcrt.lib")
1112#pragma comment(lib, "kernel32")
You can’t perform that action at this time.
0 commit comments