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) {
122
122
case llvm::Triple::mipsel:
123
123
if (Triple.getOS () == llvm::Triple::NaCl)
124
124
return createPNaClTargetCodeGenInfo (CGM);
125
+ else if (Triple.getOS () == llvm::Triple::Win32)
126
+ return createWindowsMIPSTargetCodeGenInfo (CGM, /* IsOS32=*/ true );
125
127
return createMIPSTargetCodeGenInfo (CGM, /* IsOS32=*/ true );
126
128
127
129
case llvm::Triple::mips64:
Original file line number Diff line number Diff line change @@ -502,6 +502,9 @@ createM68kTargetCodeGenInfo(CodeGenModule &CGM);
502
502
std::unique_ptr<TargetCodeGenInfo>
503
503
createMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32);
504
504
505
+ std::unique_ptr<TargetCodeGenInfo>
506
+ createWindowsMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32);
507
+
505
508
std::unique_ptr<TargetCodeGenInfo>
506
509
createMSP430TargetCodeGenInfo (CodeGenModule &CGM);
507
510
Original file line number Diff line number Diff line change @@ -105,6 +105,24 @@ class MIPSTargetCodeGenInfo : public TargetCodeGenInfo {
105
105
return SizeOfUnwindException;
106
106
}
107
107
};
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
+ };
108
126
}
109
127
110
128
void MipsABIInfo::CoerceToIntArgs (
@@ -436,3 +454,8 @@ std::unique_ptr<TargetCodeGenInfo>
436
454
CodeGen::createMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32) {
437
455
return std::make_unique<MIPSTargetCodeGenInfo>(CGM.getTypes (), IsOS32);
438
456
}
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 6
6
// 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
7
7
// 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
8
8
// 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
9
10
10
11
#pragma comment(lib, "msvcrt.lib")
11
12
#pragma comment(lib, "kernel32")
You can’t perform that action at this time.
0 commit comments