diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-26 06:15:36 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-26 06:15:36 +0000 |
| commit | 3d5c1fa93facbd101c7571036c7efc3a6d5e409b (patch) | |
| tree | c72e14844c55f8e69f8e94c557e40ebf4ffab0ae /clang/lib | |
| parent | 82f4cf46aa52e927e734f05d46b3c4696dca9b47 (diff) | |
| download | bcm5719-llvm-3d5c1fa93facbd101c7571036c7efc3a6d5e409b.tar.gz bcm5719-llvm-3d5c1fa93facbd101c7571036c7efc3a6d5e409b.zip | |
UnresolvedMemberExprs need lvalue-to-rvalue conversions during template
instantiations too.
llvm-svn: 143016
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/TreeTransform.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 59c132caccd..7fb2d35c706 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -2145,6 +2145,13 @@ public: CXXScopeSpec SS; SS.Adopt(QualifierLoc); + if (BaseE && IsArrow) { + ExprResult BaseResult = getSema().DefaultLvalueConversion(BaseE); + if (BaseResult.isInvalid()) + return ExprError(); + BaseE = BaseResult.take(); + } + return SemaRef.BuildMemberReferenceExpr(BaseE, BaseType, OperatorLoc, IsArrow, SS, FirstQualifierInScope, |

