Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
840edd8a |
| 12-Jan-2023 |
Balazs Benics <benicsbalazs@gmail.com> |
[analyzer] Don't escape local static memregions on bind
When the engine processes a store to a variable, it will eventually call `ExprEngine::processPointerEscapedOnBind()`. This function is suppose
[analyzer] Don't escape local static memregions on bind
When the engine processes a store to a variable, it will eventually call `ExprEngine::processPointerEscapedOnBind()`. This function is supposed to invalidate (put the given locations to an escape list) the locations which we cannot reason about.
Unfortunately, local static variables are also put into this list.
This patch relaxes the guard condition, so that beyond stack variables, static local variables are also ignored.
Differential Revision: https://reviews.llvm.org/D139534
show more ...
|