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 | e35000a7f8be021459102751db7e0b7e2868b57e (patch) | |
tree | aa3a333c82cf88c9d3e542142cddca842f7898d2 /gdb/ChangeLog | |
parent | b4b49dcbff6b437fa8b4e2fc0c3f27b457f11310 (diff) | |
download | gdb-e35000a7f8be021459102751db7e0b7e2868b57e.zip gdb-e35000a7f8be021459102751db7e0b7e2868b57e.tar.gz gdb-e35000a7f8be021459102751db7e0b7e2868b57e.tar.bz2 |
gdb: recognize new DWARF attributes: defaulted, deleted, calling conv.
Extend GDB's internal representation of types to include the
DW_AT_calling_convention, DW_AT_defaulted, and DW_AT_deleted attributes
that were introduced in DWARF5.
These attributes will be helpful in a future patch about infcall'ing
functions with call-by-value parameters. GDB will use the attributes
to decide whether the type of a call-by-value parameter is implicitly
pass-by-reference.
gdb/ChangeLog:
2019-12-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
* dwarf2read.c (dwarf2_add_member_fn): Read the DW_AT_defaulted
and DW_AT_deleted attributes of a function.
(read_structure_type): Read the DW_AT_calling_convention attribute
of a type.
(is_valid_DW_AT_defaulted): New function.
(is_valid_DW_AT_calling_convention_for_type): New function.
* gdbtypes.h: Include dwarf2.h.
(struct fn_field)<defaulted>: New field to store the
DW_AT_defaulted attribute.
(struct fn_field)<is_deleted>: New field to store the
DW_AT_deleted attribute.
(struct cplus_struct_type)<calling_convention>: New field to store
the DW_AT_calling_convention attribute.
(TYPE_FN_FIELD_DEFAULTED): New macro.
(TYPE_FN_FIELD_DELETED): New macro.
(TYPE_CPLUS_CALLING_CONVENTION): New macro.
* gdbtypes.c (dump_fn_fieldlists): Update for the changes made
to the .h file.
(print_cplus_stuff): Likewise.
Change-Id: I54192f363115b78ec7435a8563b73fcace420765
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0f35def..5175ebc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,25 @@ +2019-12-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> + + * dwarf2read.c (dwarf2_add_member_fn): Read the DW_AT_defaulted + and DW_AT_deleted attributes of a function. + (read_structure_type): Read the DW_AT_calling_convention attribute + of a type. + (is_valid_DW_AT_defaulted): New function. + (is_valid_DW_AT_calling_convention_for_type): New function. + * gdbtypes.h: Include dwarf2.h. + (struct fn_field)<defaulted>: New field to store the + DW_AT_defaulted attribute. + (struct fn_field)<is_deleted>: New field to store the + DW_AT_deleted attribute. + (struct cplus_struct_type)<calling_convention>: New field to store + the DW_AT_calling_convention attribute. + (TYPE_FN_FIELD_DEFAULTED): New macro. + (TYPE_FN_FIELD_DELETED): New macro. + (TYPE_CPLUS_CALLING_CONVENTION): New macro. + * gdbtypes.c (dump_fn_fieldlists): Update for the changes made + to the .h file. + (print_cplus_stuff): Likewise. + 2019-12-20 Tom Tromey <tom@tromey.com> * tui/tui.c (tui_show_source): Remove. |