summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api
diff options
context:
space:
mode:
authorArtem Dergachev <artem.dergachev@gmail.com>2018-12-19 23:48:44 +0000
committerArtem Dergachev <artem.dergachev@gmail.com>2018-12-19 23:48:44 +0000
commit173f55693ee7e391f22b398f45130a9403b2aba2 (patch)
tree7fd1072f822f0f43be349c0e8e24c42fb88c0837 /lldb/packages/Python/lldbsuite/test/python_api
parent03bd18388383fa5e09a912085070f0f1e2608cab (diff)
downloadbcm5719-llvm-173f55693ee7e391f22b398f45130a9403b2aba2.tar.gz
bcm5719-llvm-173f55693ee7e391f22b398f45130a9403b2aba2.zip
[analyzer] pr38668: Do not attempt to cast loaded values of non-scalar types.
It is expected to have the same object (memory region) treated as if it has different types in different program points. The correct behavior for RegionStore when an object is stored as an object of type T1 but loaded as an object of type T2 is to store the object as if it has type T1 but cast it to T2 during load. Note that the cast here is some sort of a "reinterpret_cast" (even in C). For instance, if you store a float and load an integer, you won't have your float rounded to an integer; instead, you will have garbage. Admit that we cannot perform the cast as long as types we're dealing with are non-trivial (neither integers, nor pointers). Of course, if the cast is not necessary (eg, T1 == T2), we can still load the value just fine. Differential Revision: https://reviews.llvm.org/D55875 rdar://problem/45062567 llvm-svn: 349701
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud