aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-05-01 21:55:16 +0000
committerAnders Carlsson <andersca@mac.com>2009-05-01 21:55:16 +0000
commit3dad49f2b60353638586ad1893a72f335618f919 (patch)
tree0c915373b0e432b9e7e8dbdc979fa30355243039 /lib
parentfffd93f38340d4d2ca7ee78a8c91c890b2ff3fa0 (diff)
We can now call member functions where the base is a pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70579 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/CGCXX.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp
index cfb93b90d7..2cb76ab9d9 100644
--- a/lib/CodeGen/CGCXX.cpp
+++ b/lib/CodeGen/CGCXX.cpp
@@ -91,11 +91,8 @@ RValue CodeGenFunction::EmitCXXMemberCallExpr(const CXXMemberCallExpr *CE) {
llvm::Value *BaseValue = 0;
- // There's a deref operator node added in Sema::BuildCallToMemberFunction
- // that's giving the wrong type for -> call exprs so we just ignore them
- // for now.
if (ME->isArrow())
- return EmitUnsupportedRValue(CE, "C++ member call expr");
+ BaseValue = EmitScalarExpr(ME->getBase());
else {
LValue BaseLV = EmitLValue(ME->getBase());
BaseValue = BaseLV.getAddress();