Don't forget the lvalue-to-rvalue conversion on the LHS of an -> when rebuilding
it during template instantiation, for a known RHS decl.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142890 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h
index 03a1d78..b4073eb 100644
--- a/lib/Sema/TreeTransform.h
+++ b/lib/Sema/TreeTransform.h
@@ -1485,6 +1485,11 @@
     ExprResult BaseResult = getSema().DefaultFunctionArrayConversion(Base);
     if (BaseResult.isInvalid())
       return ExprError();
+    if (isArrow) {
+      BaseResult = getSema().DefaultLvalueConversion(BaseResult.get());
+      if (BaseResult.isInvalid())
+        return ExprError();
+    }
     Base = BaseResult.take();
     QualType BaseType = Base->getType();