summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/signals/main.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-06-20 04:32:05 +0000
committerCraig Topper <craig.topper@intel.com>2018-06-20 04:32:05 +0000
commit59da74370b6c304f1f7e1d36c23e7459b7266677 (patch)
treed6330b6170b69a4a0328ba7ee50e0b5d751c38c8 /lldb/packages/Python/lldbsuite/test/python_api/signals/main.cpp
parentd22ad8568c463157d0064611509c92d7e217c33b (diff)
downloadbcm5719-llvm-59da74370b6c304f1f7e1d36c23e7459b7266677.tar.gz
bcm5719-llvm-59da74370b6c304f1f7e1d36c23e7459b7266677.zip
[SelectionDAG] Don't crash on inline assembly errors when the inline assembly return type is a struct.
Summary: If we get an error building the SelectionDAG for inline assembly we try to continue and still build the DAG. But if the return type for the inline assembly is a struct we end up crashing because we try to create an UNDEF node with a struct type which isn't valid. Instead we need to create an UNDEF for each element of the struct and join them with merge_values. This patch relies on single operand merge_values being handled gracefully by getMergeValues. If the return type is void there will be no VTs returned by ComputeValueVTs and now we just return instead of calling setValue. Hopefully that's ok, I assumed nothing would need to look up the mapped value for void node. Fixes PR37359 Reviewers: rengolin, rovka, echristo, efriedma, bogner Reviewed By: efriedma Subscribers: craig.topper, llvm-commits Differential Revision: https://reviews.llvm.org/D46560 llvm-svn: 335093
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/signals/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud