diff options
author | dim <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
commit | 173a4f43a911175643bda81ee675e8d9269056ea (patch) | |
tree | 47df2c12b57214af6c31e47404b005675b8b7ffc /lib/CodeGen/CodeGenTypes.h | |
parent | 88f7a7d5251a2d813460274c92decc143a11569b (diff) | |
download | FreeBSD-src-173a4f43a911175643bda81ee675e8d9269056ea.zip FreeBSD-src-173a4f43a911175643bda81ee675e8d9269056ea.tar.gz |
Vendor import of clang RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_350/final@216957
Diffstat (limited to 'lib/CodeGen/CodeGenTypes.h')
-rw-r--r-- | lib/CodeGen/CodeGenTypes.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/CodeGen/CodeGenTypes.h b/lib/CodeGen/CodeGenTypes.h index 94ca9e2..fe155b5 100644 --- a/lib/CodeGen/CodeGenTypes.h +++ b/lib/CodeGen/CodeGenTypes.h @@ -104,7 +104,7 @@ class CodeGenTypes { private: /// TypeCache - This map keeps cache of llvm::Types - /// and maps llvm::Types to corresponding clang::Type. + /// and maps clang::Type to corresponding llvm::Type. llvm::DenseMap<const Type *, llvm::Type *> TypeCache; public: @@ -136,8 +136,8 @@ public: /// be converted to an LLVM type (i.e. doesn't depend on an incomplete tag /// type). bool isFuncTypeConvertible(const FunctionType *FT); - bool isFuncTypeArgumentConvertible(QualType Ty); - + bool isFuncParamTypeConvertible(QualType Ty); + /// GetFunctionTypeForVTable - Get the LLVM function type for use in a vtable, /// given a CXXMethodDecl. If the method to has an incomplete return type, /// and/or incomplete argument types, this will return the opaque type. @@ -175,10 +175,10 @@ public: const CGFunctionInfo &arrangeGlobalDeclaration(GlobalDecl GD); const CGFunctionInfo &arrangeFunctionDeclaration(const FunctionDecl *FD); - const CGFunctionInfo &arrangeFunctionDeclaration(QualType ResTy, - const FunctionArgList &Args, - const FunctionType::ExtInfo &Info, - bool isVariadic); + const CGFunctionInfo & + arrangeFreeFunctionDeclaration(QualType ResTy, const FunctionArgList &Args, + const FunctionType::ExtInfo &Info, + bool isVariadic); const CGFunctionInfo &arrangeObjCMethodDeclaration(const ObjCMethodDecl *MD); const CGFunctionInfo &arrangeObjCMessageSendSignature(const ObjCMethodDecl *MD, @@ -188,6 +188,10 @@ public: const CGFunctionInfo &arrangeCXXConstructorDeclaration( const CXXConstructorDecl *D, CXXCtorType Type); + const CGFunctionInfo &arrangeCXXConstructorCall(const CallArgList &Args, + const CXXConstructorDecl *D, + CXXCtorType CtorKind, + unsigned ExtraArgs); const CGFunctionInfo &arrangeCXXDestructor(const CXXDestructorDecl *D, CXXDtorType Type); @@ -216,6 +220,7 @@ public: /// /// \param argTypes - must all actually be canonical as params const CGFunctionInfo &arrangeLLVMFunctionInfo(CanQualType returnType, + bool IsInstanceMethod, ArrayRef<CanQualType> argTypes, FunctionType::ExtInfo info, RequiredArgs args); |