diff options
Diffstat (limited to 'include/clang/CodeGen/CodeGenABITypes.h')
| -rw-r--r-- | include/clang/CodeGen/CodeGenABITypes.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/include/clang/CodeGen/CodeGenABITypes.h b/include/clang/CodeGen/CodeGenABITypes.h index 4e76cd4d5b0b6..9d9504ad8e9f2 100644 --- a/include/clang/CodeGen/CodeGenABITypes.h +++ b/include/clang/CodeGen/CodeGenABITypes.h @@ -36,6 +36,7 @@ namespace llvm { namespace clang { class ASTContext; class CXXRecordDecl; +class CXXMethodDecl; class CodeGenOptions; class CoverageSourceInfo; class DiagnosticsEngine; @@ -50,7 +51,7 @@ class CodeGenModule; class CodeGenABITypes { public: - CodeGenABITypes(ASTContext &C, llvm::Module &M, const llvm::DataLayout &TD, + CodeGenABITypes(ASTContext &C, llvm::Module &M, CoverageSourceInfo *CoverageInfo = nullptr); ~CodeGenABITypes(); @@ -60,12 +61,13 @@ public: const CGFunctionInfo &arrangeObjCMessageSendSignature( const ObjCMethodDecl *MD, QualType receiverType); - const CGFunctionInfo &arrangeFreeFunctionType( - CanQual<FunctionProtoType> Ty); + const CGFunctionInfo &arrangeFreeFunctionType(CanQual<FunctionProtoType> Ty, + const FunctionDecl *FD); const CGFunctionInfo &arrangeFreeFunctionType( CanQual<FunctionNoProtoType> Ty); const CGFunctionInfo &arrangeCXXMethodType(const CXXRecordDecl *RD, - const FunctionProtoType *FTP); + const FunctionProtoType *FTP, + const CXXMethodDecl *MD); const CGFunctionInfo &arrangeFreeFunctionCall(CanQualType returnType, ArrayRef<CanQualType> argTypes, FunctionType::ExtInfo info, @@ -75,12 +77,12 @@ private: /// Default CodeGenOptions object used to initialize the /// CodeGenModule and otherwise not used. More specifically, it is /// not used in ABI type generation, so none of the options matter. - CodeGenOptions *CGO; - HeaderSearchOptions *HSO; - PreprocessorOptions *PPO; + std::unique_ptr<CodeGenOptions> CGO; + std::unique_ptr<HeaderSearchOptions> HSO; + std::unique_ptr<PreprocessorOptions> PPO; /// The CodeGenModule we use get to the CodeGenTypes object. - CodeGen::CodeGenModule *CGM; + std::unique_ptr<CodeGen::CodeGenModule> CGM; }; } // end namespace CodeGen |
