include/clang/CodeGenABITypes.h is in meant to be included by external
users, but using a unique_ptr on the private CodeGenModule introduces a
dependency on the type definition that prevents such a use.
NFC
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249328
91177308-0d34-0410-b5e6-
96231b3b80d8
public:
CodeGenABITypes(ASTContext &C, llvm::Module &M,
CoverageSourceInfo *CoverageInfo = nullptr);
+ ~CodeGenABITypes();
/// These methods all forward to methods in the private implementation class
/// CodeGenTypes.
std::unique_ptr<PreprocessorOptions> PPO;
/// The CodeGenModule we use get to the CodeGenTypes object.
- std::unique_ptr<CodeGen::CodeGenModule> CGM;
+ CodeGen::CodeGenModule *CGM;
};
} // end namespace CodeGen
CGM(new CodeGen::CodeGenModule(C, *HSO, *PPO, *CGO, M, C.getDiagnostics(),
CoverageInfo)) {}
+CodeGenABITypes::~CodeGenABITypes()
+{
+ delete CGM;
+}
+
const CGFunctionInfo &
CodeGenABITypes::arrangeObjCMessageSendSignature(const ObjCMethodDecl *MD,
QualType receiverType) {