aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorLucas Prates <lucas.prates@arm.com>2020-03-27 11:53:49 +0000
committerLucas Prates <lucas.prates@arm.com>2020-04-02 11:55:20 +0100
commite6cb4b659af9f9c1a4c179093b187e7ad7cc5770 (patch)
tree2484574661da4725ba920ee67696203345294f5c /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parent37ced5a571066c11548c672f354c6091f5903991 (diff)
downloadllvm-e6cb4b659af9f9c1a4c179093b187e7ad7cc5770.zip
llvm-e6cb4b659af9f9c1a4c179093b187e7ad7cc5770.tar.gz
llvm-e6cb4b659af9f9c1a4c179093b187e7ad7cc5770.tar.bz2
[Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields
Summary: The construction of constants for structs/unions was conflicting the expected memory layout for over-sized bit-fields. When building the necessary bits for those fields, clang was ignoring the size information computed for the struct/union memory layout and using the original data from the AST's FieldDecl information. This caused an issue in big-endian targets, where the field's contant was incorrectly misplaced due to endian calculations. This patch aims to separate the constant value from the necessary padding bits, using the proper size information for each one of them. With this, the layout of constants for over-sized bit-fields matches the ABI requirements. Reviewers: rsmith, eli.friedman, efriedma Reviewed By: efriedma Subscribers: efriedma, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77048
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions