Add test case for PR5868, and improve location information slightly for implicit "this" expressions

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92141 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index a9acf72..5902e37 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -564,7 +564,7 @@
                == Context.getCanonicalType(ThisType)) ||
             IsDerivedFrom(ThisType, AnonFieldType)) {
           // Our base object expression is "this".
-          BaseObjectExpr = new (Context) CXXThisExpr(SourceLocation(),
+          BaseObjectExpr = new (Context) CXXThisExpr(Loc,
                                                      MD->getThisType(Context));
           BaseObjectIsPointer = true;
         }
diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h
index 61b57e7..7db723b 100644
--- a/lib/Sema/TreeTransform.h
+++ b/lib/Sema/TreeTransform.h
@@ -959,6 +959,7 @@
       Expr *BaseExpr = Base.takeAs<Expr>();
       if (getSema().PerformObjectMemberConversion(BaseExpr, Member))
         return getSema().ExprError();
+
       MemberExpr *ME =
         new (getSema().Context) MemberExpr(BaseExpr, isArrow,
                                            Member, MemberLoc,