]> granicus.if.org Git - clang/commitdiff
A correct fix for bug 6466.
authorSebastian Redl <sebastian.redl@getdesigned.at>
Fri, 7 May 2010 09:25:11 +0000 (09:25 +0000)
committerSebastian Redl <sebastian.redl@getdesigned.at>
Fri, 7 May 2010 09:25:11 +0000 (09:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103250 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaExpr.cpp

index 3ac4d133fe33917c7b63d624280c03da56d16ee4..03964587e9e80341e13e88b53777e8ad87a00915 100644 (file)
@@ -2668,6 +2668,9 @@ Sema::BuildMemberReferenceExpr(ExprArg BaseArg, QualType BaseType,
 
     if (Result.get())
       return move(Result);
+
+    // LookupMemberExpr can modify Base, and thus change BaseType
+    BaseType = Base->getType();
   }
 
   return BuildMemberReferenceExpr(ExprArg(*this, Base), BaseType,