summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/call-function
diff options
context:
space:
mode:
authorRobert Lougher <rob.lougher@gmail.com>2019-04-25 17:00:01 +0000
committerRobert Lougher <rob.lougher@gmail.com>2019-04-25 17:00:01 +0000
commitd469133f95b7032268a4c5590a043e4e01bdafb5 (patch)
tree6fb67177078fc33abb8704b7280d0e8210889933 /lldb/packages/Python/lldbsuite/test/expression_command/call-function
parentba55767f516af95f8620e95e05e674071a10b6c1 (diff)
downloadbcm5719-llvm-d469133f95b7032268a4c5590a043e4e01bdafb5.tar.gz
bcm5719-llvm-d469133f95b7032268a4c5590a043e4e01bdafb5.zip
[Evaluator] Walk initial elements when handling load through bitcast
When evaluating a store through a bitcast, the evaluator tries to move the bitcast from the pointer onto the stored value. If the cast is invalid, it tries to "introspect" the type to get a valid cast by obtaining a pointer to the initial element (if the type is nested, this may require walking several initial elements). In some situations it is possible to get a bitcast on a load (e.g. with unions, where the bitcast may not be the same type as the store). However, equivalent logic to the store to introspect the type is missing. This patch add this logic. Note, when developing the patch I was unhappy with adding similar logic directly to the load case as it could get out of step. Instead, I have abstracted the "introspection" into a helper function, with the specifics being handled by a passed-in lambda function. Differential Revision: https://reviews.llvm.org/D60793 llvm-svn: 359205
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud