diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -5067,9 +5067,10 @@ llvm::Value *Address) const override; }; -class PPC64TargetCodeGenInfo : public DefaultTargetCodeGenInfo { +class PPC64TargetCodeGenInfo : public TargetCodeGenInfo { public: - PPC64TargetCodeGenInfo(CodeGenTypes &CGT) : DefaultTargetCodeGenInfo(CGT) {} + PPC64TargetCodeGenInfo(CodeGenTypes &CGT) + : TargetCodeGenInfo(std::make_unique(CGT)) {} int getDwarfEHStackPointer(CodeGen::CodeGenModule &M) const override { // This is recovered from gcc output. @@ -5079,7 +5080,6 @@ bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const override; }; - } // Return true if the ABI requires Ty to be passed sign- or zero- @@ -8600,10 +8600,10 @@ namespace { -class TCETargetCodeGenInfo : public DefaultTargetCodeGenInfo { +class TCETargetCodeGenInfo : public TargetCodeGenInfo { public: TCETargetCodeGenInfo(CodeGenTypes &CGT) - : DefaultTargetCodeGenInfo(CGT) {} + : TargetCodeGenInfo(std::make_unique(CGT)) {} void setTargetAttributes(const Decl *D, llvm::GlobalValue *GV, CodeGen::CodeGenModule &M) const override;