mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-23 19:17:17 +00:00
ScalarEvolution: added tmp to avoid use-after-dtor in for loop.
Summary: For loop destroyed current instance before invoking next. Temporary variable added to prevent use-after-dtor when invoke destructor on current instance. Reviewers: eugenis Subscribers: llvm-commits, sanjoy Differential Revision: http://reviews.llvm.org/D12912 Rename temp var. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247867 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9b7b412516
commit
c6b5fe6ee7
@ -8394,8 +8394,11 @@ ScalarEvolution::ScalarEvolution(ScalarEvolution &&Arg)
|
||||
ScalarEvolution::~ScalarEvolution() {
|
||||
// Iterate through all the SCEVUnknown instances and call their
|
||||
// destructors, so that they release their references to their values.
|
||||
for (SCEVUnknown *U = FirstUnknown; U; U = U->Next)
|
||||
U->~SCEVUnknown();
|
||||
for (SCEVUnknown *U = FirstUnknown; U;) {
|
||||
SCEVUnknown *Tmp = U;
|
||||
U = U->Next;
|
||||
Tmp->~SCEVUnknown();
|
||||
}
|
||||
FirstUnknown = nullptr;
|
||||
|
||||
ValueExprMap.clear();
|
||||
|
Loading…
x
Reference in New Issue
Block a user