summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-09-28 06:39:30 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-09-28 06:39:30 +0000
commitbb51300970b7623f552560c99f9704b1b1884830 (patch)
tree7b3b36696179d25fae87c9e0c2d53a9b9aa12b89 /lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp
parent6578f9208bd0e45337b9a34bba712e19c7b6cb86 (diff)
downloadbcm5719-llvm-bb51300970b7623f552560c99f9704b1b1884830.tar.gz
bcm5719-llvm-bb51300970b7623f552560c99f9704b1b1884830.zip
CodeGen: Don't crash when initializing pointer-to-member fields in bases
Clang uses two types to talk about a C++ class, the NonVirtualBaseLLVMType and the LLVMType. Previously, we would allow one of these to be packed and the other not. This is problematic. If both don't agree on a common subset of fields, then routines like getLLVMFieldNo will point to the wrong field. Solve this by copying the 'packed'-ness of the complete type to the non-virtual subobject. For this to work, we need to take into account the non-virtual subobject's size and alignment when we are computing the layout of the complete object. This fixes PR21089. llvm-svn: 218577
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud