summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-10-25 00:41:24 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-10-25 00:41:24 +0000
commit841222ea75d8a27226aa20266c46888d53d79686 (patch)
treea986d416f79c1cf7c2c8f59cd2dfaaa2f1731c65 /clang/lib/Sema/TreeTransform.h
parente9482d3b7c0068634a26dccbd53b82a1cc21f3e7 (diff)
downloadbcm5719-llvm-841222ea75d8a27226aa20266c46888d53d79686.tar.gz
bcm5719-llvm-841222ea75d8a27226aa20266c46888d53d79686.zip
Don't forget the lvalue-to-rvalue conversion on the LHS of an -> when rebuilding
it during template instantiation, for a known RHS decl. llvm-svn: 142890
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r--clang/lib/Sema/TreeTransform.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index 03a1d78aa01..b4073eb650e 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -1485,6 +1485,11 @@ public:
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();
OpenPOWER on IntegriCloud