]> granicus.if.org Git - clang/commitdiff
We can now call member functions where the base is a pointer.
authorAnders Carlsson <andersca@mac.com>
Fri, 1 May 2009 21:55:16 +0000 (21:55 +0000)
committerAnders Carlsson <andersca@mac.com>
Fri, 1 May 2009 21:55:16 +0000 (21:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70579 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGCXX.cpp

index cfb93b90d78bdf80940526f396c158166ef7d0fd..2cb76ab9d96edac40b03a4aacfa85efc492318d8 100644 (file)
@@ -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();