diff options
-rw-r--r-- | lib/Sema/TreeTransform.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h index cf424aa8c1..61b57e7e56 100644 --- a/lib/Sema/TreeTransform.h +++ b/lib/Sema/TreeTransform.h @@ -956,8 +956,11 @@ public: // We have a reference to an unnamed field. assert(!Qualifier && "Can't have an unnamed field with a qualifier!"); + Expr *BaseExpr = Base.takeAs<Expr>(); + if (getSema().PerformObjectMemberConversion(BaseExpr, Member)) + return getSema().ExprError(); MemberExpr *ME = - new (getSema().Context) MemberExpr(Base.takeAs<Expr>(), isArrow, + new (getSema().Context) MemberExpr(BaseExpr, isArrow, Member, MemberLoc, cast<FieldDecl>(Member)->getType()); return getSema().Owned(ME); |