Files
clang-p2996/llvm/lib/Transforms/Utils
Chijun Sima e8263f33d9 [SimplifyCFG] Remove pointer from SmallPtrSet before deletion
Summary:
Previously, `eraseFromParent()` calls `delete` which invalidates the value of the pointer. Copying the value of the pointer later is undefined behavior in C++11 and implementation-defined (which may cause a segfault on implementations having strict pointer safety) in C++14.

This patch removes the BasicBlock pointer from related SmallPtrSet before `delete` invalidates it in the SimplifyCFG pass.

Reviewers: kuhar, dmgreen, davide, trentxintong

Reviewed By: kuhar, dmgreen

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D50717

llvm-svn: 339773
2018-08-15 13:56:21 +00:00
..
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00
2018-08-05 14:53:08 +00:00
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00
2018-07-30 19:41:25 +00:00