diff options
author | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2019-12-20 17:43:06 +0100 |
---|---|---|
committer | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2019-12-20 17:43:06 +0100 |
commit | 62bf63d74d54482d42e9d78890ebc0dd4675e23b (patch) | |
tree | a55c8cb475dfa18494d139f454e5be69af72392a /libiberty/simple-object-elf.c | |
parent | 9d084466d740e40c655609f9c04b3bb2b9b9ca76 (diff) | |
download | gdb-62bf63d74d54482d42e9d78890ebc0dd4675e23b.zip gdb-62bf63d74d54482d42e9d78890ebc0dd4675e23b.tar.gz gdb-62bf63d74d54482d42e9d78890ebc0dd4675e23b.tar.bz2 |
infcall, c++: collect more pass-by-reference information
Walk through a given type to collect information about whether the
type is copy constructible, destructible, trivially copyable,
trivially copy constructible, trivially destructible. The previous
algorithm returned only a boolean result about whether the type is
trivially copyable. This patch computes more info. Additionally, it
utilizes DWARF attributes that were previously not taken into account;
namely, DW_AT_deleted, DW_AT_defaulted, and DW_AT_calling_convention.
gdb/ChangeLog:
2019-12-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
* gnu-v3-abi.c (enum definition_style): New enum type.
(get_def_style): New function.
(is_user_provided_def): New function.
(is_implicit_def): New function.
(is_copy_or_move_constructor_type): New function.
(is_copy_constructor_type): New function.
(is_move_constructor_type): New function.
(gnuv3_pass_by_reference): Collect language_pass_by_ref_info
for a given type.
Change-Id: Ic05bd98a962d07ec3c1ad041f709687eabda3bb9
Diffstat (limited to 'libiberty/simple-object-elf.c')
0 files changed, 0 insertions, 0 deletions