aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
diff options
context:
space:
mode:
authorAlex Bradbury <asb@igalia.com>2022-08-19 18:16:24 +0100
committerAlex Bradbury <asb@igalia.com>2022-08-19 20:31:06 +0100
commitbc538320809fb52af12ec0366118c82201af4f40 (patch)
treefd7d274e5696194593a8f38830ad085b8460dad1 /lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
parentac6a0cdc2e85d69ec20fd31d29f30843db0943bd (diff)
downloadllvm-bc538320809fb52af12ec0366118c82201af4f40.zip
llvm-bc538320809fb52af12ec0366118c82201af4f40.tar.gz
llvm-bc538320809fb52af12ec0366118c82201af4f40.tar.bz2
[clang][RISCV] Fix incorrect ABI lowering for inherited structs under hard-float ABIs
The hard float ABIs have a rule that if a flattened struct contains either a single fp value, or an int+fp, or fp+fp then it may be passed in a pair of registers (if sufficient GPRs+FPRs are available). detectFPCCEligibleStruct and the helper it calls, detectFPCCEligibleStructHelper examine the type of the argument/return value to determine if it complies with the requirements for this ABI rule. As reported in bug #57084, this logic produces incorrect results for C++ structs that inherit from other structs. This is because only the fields of the struct were examined, but enumerating RD->fields misses any fields in inherited C++ structs. This patch corrects that issue by adding appropriate logic to enumerate any included base structs. Differential Revision: https://reviews.llvm.org/D131677
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lldbgdbclient.py')
0 files changed, 0 insertions, 0 deletions