diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2019-03-29 00:23:20 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2019-03-29 00:23:20 +0000 |
commit | 8b8d36231369740746ed7e60233c69edd11b69ad (patch) | |
tree | 641f66bc581cfa0ca2f2a48f38fe8bb37eafb29d /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp | |
parent | 801cc3272a5fd460fbd9062f8a582726c73494d7 (diff) | |
download | bcm5719-llvm-8b8d36231369740746ed7e60233c69edd11b69ad.tar.gz bcm5719-llvm-8b8d36231369740746ed7e60233c69edd11b69ad.zip |
[CodeGen][ObjC] Adjust the addresses passed to calls to synthesized
copy/move constructor/assignment operator functions for non-trivial C
structs.
This commit fixes a bug where the offset of struct fields weren't being
taken into account when computing the addresses passed to calls to the
special functions.
For example, the copy constructor for S1 (__copy_constructor_8_8_s0_s8)
would pass the start addresses of the destination and source structs to
the call to S0's copy constructor (_copy_constructor_8_8_s0) without
adding the offset of field f1 to the addresses.
typedef struct {
id f0;
S0 f1;
} S1;
void test(S1 s1) {
S1 t = s1;
}
rdar://problem/49400610
llvm-svn: 357229
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions