diff options
author | John McCall <rjmccall@apple.com> | 2010-08-22 08:30:07 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-08-22 08:30:07 +0000 |
commit | e9fd7eb6c67676dc27e84eac429aec4f3be51f26 (patch) | |
tree | 05d5ae81a5acea15dd38f68c65be803d2ea9723d /lib/CodeGen/CGCXX.cpp | |
parent | e97673f10fbb557be2d95f6ca0fcdb6f6dc82b3b (diff) |
Extract member function pointer comparison and null comparison into
the ABI code. Implement correct semantics for these on ARM.
I believe this completes the implementation of member function pointers
on ARM.
I think I'm going to switch member function pointers over to be
non-aggregates while I have all this in mind.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111774 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGCXX.cpp')
-rw-r--r-- | lib/CodeGen/CGCXX.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index 2934657531..2d7b27b18b 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/lib/CodeGen/CGCXX.cpp @@ -369,6 +369,24 @@ void CGCXXABI::EmitMemberFunctionPointer(CodeGenFunction &CGF, ErrorUnsupportedABI(CGF, "member function pointers"); } +llvm::Value * +CGCXXABI::EmitMemberFunctionPointerComparison(CodeGenFunction &CGF, + llvm::Value *L, + llvm::Value *R, + const MemberPointerType *MPT, + bool Inequality) { + ErrorUnsupportedABI(CGF, "member function pointer comparison"); + return CGF.Builder.getFalse(); +} + +llvm::Value * +CGCXXABI::EmitMemberFunctionPointerIsNotNull(CodeGenFunction &CGF, + llvm::Value *MemPtr, + const MemberPointerType *MPT) { + ErrorUnsupportedABI(CGF, "member function pointer null testing"); + return CGF.Builder.getFalse(); +} + llvm::Constant * CGCXXABI::EmitMemberFunctionPointerConversion(llvm::Constant *C, const CastExpr *E) { |