diff options
Diffstat (limited to 'lib/CodeGen/CGCXX.cpp')
-rw-r--r-- | lib/CodeGen/CGCXX.cpp | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index 62c3954ee6..f56ea42427 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/lib/CodeGen/CGCXX.cpp @@ -385,10 +385,36 @@ llvm::Value *CGCXXABI::EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, return llvm::Constant::getNullValue(FTy->getPointerTo()); } -void CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF, - const CastExpr *E, - llvm::Value *Src, - llvm::Value *Dest, - bool VolatileDest) { - ErrorUnsupportedABI(CGF, "member pointer conversions"); +void CGCXXABI::EmitMemberFunctionPointerConversion(CodeGenFunction &CGF, + const CastExpr *E, + llvm::Value *Src, + llvm::Value *Dest, + bool VolatileDest) { + ErrorUnsupportedABI(CGF, "member function pointer conversions"); +} + +void CGCXXABI::EmitNullMemberFunctionPointer(CodeGenFunction &CGF, + const MemberPointerType *MPT, + llvm::Value *Dest, + bool VolatileDest) { + ErrorUnsupportedABI(CGF, "null member function pointers"); +} + +llvm::Constant * +CGCXXABI::EmitMemberFunctionPointerConversion(llvm::Constant *C, + const CastExpr *E) { + return 0; +} + +llvm::Constant * +CGCXXABI::EmitNullMemberFunctionPointer(const MemberPointerType *MPT) { + return 0; +} + +bool CGCXXABI::RequiresNonZeroInitializer(QualType T) { + return false; +} + +bool CGCXXABI::RequiresNonZeroInitializer(const CXXRecordDecl *D) { + return RequiresNonZeroInitializer(QualType(D->getTypeForDecl(), 0)); } |