diff options
author | Volodymyr Sapsai <vsapsai@apple.com> | 2017-09-21 17:58:27 +0000 |
---|---|---|
committer | Volodymyr Sapsai <vsapsai@apple.com> | 2017-09-21 17:58:27 +0000 |
commit | ddf524c031947ffd495ff4fda9f78be28b05959f (patch) | |
tree | bcafdae05a2496cc0283cc90ca1a1ab8b1410ed0 /clang/lib/Sema/TreeTransform.h | |
parent | 4c9e14f6c47a401d35e9e33bab19d5f36b1db2d2 (diff) | |
download | bcm5719-llvm-ddf524c031947ffd495ff4fda9f78be28b05959f.tar.gz bcm5719-llvm-ddf524c031947ffd495ff4fda9f78be28b05959f.zip |
[Sema] Fix using old initializer during switch statement transformation.
It fixes a crash in CodeGen when we are trying to generate code for
initializer expression created before template instantiation, like
CallExpr '<dependent type>'
|-UnresolvedLookupExpr '<overloaded function type>' lvalue (ADL) = 'parse'
`-DeclRefExpr 'Buffer<N>' lvalue ParmVar 'buffer' 'Buffer<N>'
rdar://problem/33888545
Reviewers: rsmith, ahatanak
Reviewed By: ahatanak
Subscribers: aemerson, kristof.beyls, cfe-commits
Differential Revision: https://reviews.llvm.org/D38009
llvm-svn: 313896
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index ee67e15b9ae..6fb9eca9a9c 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -6601,8 +6601,7 @@ TreeTransform<Derived>::TransformSwitchStmt(SwitchStmt *S) { // Rebuild the switch statement. StmtResult Switch - = getDerived().RebuildSwitchStmtStart(S->getSwitchLoc(), - S->getInit(), Cond); + = getDerived().RebuildSwitchStmtStart(S->getSwitchLoc(), Init.get(), Cond); if (Switch.isInvalid()) return StmtError(); |