diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp index 31234aa42501..b6abc65c8149 100644 --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -3021,9 +3021,10 @@ public: const unsigned MipsABIInfo::MinABIStackAlignInBytes; class MIPSTargetCodeGenInfo : public TargetCodeGenInfo { + unsigned SizeOfUnwindException; public: - MIPSTargetCodeGenInfo(CodeGenTypes &CGT) - : TargetCodeGenInfo(new MipsABIInfo(CGT)) {} + MIPSTargetCodeGenInfo(CodeGenTypes &CGT, unsigned SZ) + : TargetCodeGenInfo(new MipsABIInfo(CGT)), SizeOfUnwindException(SZ) {} int getDwarfEHStackPointer(CodeGen::CodeGenModule &CGM) const { return 29; @@ -3033,7 +3034,7 @@ public: llvm::Value *Address) const; unsigned getSizeOfUnwindException() const { - return 24; + return SizeOfUnwindException; } }; } @@ -3169,7 +3170,7 @@ const TargetCodeGenInfo &CodeGenModule::getTargetCodeGenInfo() { case llvm::Triple::mips: case llvm::Triple::mipsel: - return *(TheTargetCodeGenInfo = new MIPSTargetCodeGenInfo(Types)); + return *(TheTargetCodeGenInfo = new MIPSTargetCodeGenInfo(Types, 24)); case llvm::Triple::arm: case llvm::Triple::thumb: