]> granicus.if.org Git - clang/commit
Revert "[analyzer] Remove the "postponed" hack, deal with derived symbols..."
authorArtem Dergachev <artem.dergachev@gmail.com>
Wed, 6 Feb 2019 23:56:43 +0000 (23:56 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Wed, 6 Feb 2019 23:56:43 +0000 (23:56 +0000)
commit23cffd780f5647d02c6c12491f9b2c928757c798
tree1f2da3b45fe19b4f4b87b525ca119fee270db8f7
parentc84023369783115515075fa1b8f9ce3d4869b40f
Revert "[analyzer] Remove the "postponed" hack, deal with derived symbols..."

This reverts commit r341722.

The "postponed" mechanism turns out to be necessary in order to handle
situations when a symbolic region is only kept alive by implicit bindings
in the Store. Otherwise the region is never scanned by the Store's worklist
and the binding gets dropped despite being live, as demonstrated
by the newly added tests.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@353350 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
lib/StaticAnalyzer/Core/RegionStore.cpp
test/Analysis/malloc.c
test/Analysis/symbol-reaper.c