Support rvalue references in the gdb python module (includes doc/)
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index b5edb572f61438a3d556618470eab20e19cb9606..dfedc83e4a479514df44c8e4640b23e1da3babd6 100644 (file)
@@ -1,3 +1,325 @@
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
+       table of constants.
+       * python/lib/gdb/command/explore.py: Support exploring values
+       of rvalue reference types.
+       * python/lib/gdb/types.py: Implement get_basic_type() for
+       rvalue reference types.
+       * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
+       constant.
+       * python/py-value.c (valpy_getitem): Add an rvalue reference
+       check.
+       (valpy_reference_value): Add new parameter "refcode".
+       (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
+       New wrappers for valpy_reference_value().
+       * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
+       (gdbpy_invoke_xmethod): Likewise.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * dwarf2read.c (process_die, read_type_die_1): Handle the
+       DW_TAG_rvalue_reference_type DIE.
+       (read_tag_reference_type): Add new parameter "refcode".
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
+       (c_type_print_modifier, c_type_print_varspec_suffix)
+       (c_type_print_base): Support printing rvalue reference types.
+       * c-valprint.c (c_val_print, c_value_print): Support printing
+       rvalue reference values.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * cp-name-parser.y (ptr_operator): Handle the '&&' token in
+       typename.
+       * cp-support.c (replace_typedefs): Handle
+       DEMANGLE_COMPONENT_RVALUE_REFERENCE.
+       * python/py-type.c (typy_lookup_type): Likewise.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
+       * parse.c (insert_type): Change assert statement.
+       (follow_types): Handle rvalue reference types.
+       * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
+       constant.
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * ada-lang.c (ada_evaluate_subexp): Adhere to the new
+       value_ref() interface.
+       * c-valprint.c (c_value_print): Likewise.
+       * infcall.c (value_arg_coerce): Likewise.
+       * python/py-value.c (valpy_reference_value): Likewise.
+       * valops.c (value_cast, value_reinterpret_cast)
+       (value_dynamic_cast, typecmp): Likewise.
+       (value_ref): Parameterize by kind of return value reference type.
+       * value.h (value_ref): Add new parameter "refcode".
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * dwarf2read.c (read_tag_reference_type): Use
+       lookup_lvalue_reference_type() instead of lookup_reference_type().
+       * eval.c (evaluate_subexp_standard): Likewise.
+       * f-exp.y: Likewise.
+       * gdbtypes.c (make_reference_type, lookup_reference_type):
+       Generalize with rvalue reference types.
+       (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
+       convenience wrappers for lookup_reference_type().
+       * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
+       reference kind parameter.
+       (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
+       wrappers for lookup_reference_type().
+       * guile/scm-type.c (gdbscm_type_reference): Use
+       lookup_lvalue_reference_type() instead of lookup_reference_type().
+       * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
+       * parse.c (follow_types): Likewise.
+       * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
+       * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
+       Likewise.
+       * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
+       (gdbpy_invoke_xmethod): Likewise.
+       * stabsread.c: Provide extra argument to make_reference_type()
+       call.
+       * valops.c (value_ref, value_rtti_indirect_type): Use
+       lookup_lvalue_reference_type() instead of lookup_reference_type().
+
+2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
+
+       PR gdb/14441
+       * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
+       (TYPE_IS_REFERENCE): New macro.
+       (struct type): Add rvalue_reference_type field.
+       (TYPE_RVALUE_REFERENCE_TYPE): New macro.
+
+2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
+
+       * NEWS: Add an entry about new '-file-list-shared-libraries' command.
+       * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
+       New function definition.
+       * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
+       * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
+       New function declaration.
+       * mi/mi-interp.c (mi_output_solib_attribs): New Function.
+       * mi/mi-interp.h: New file.
+       * solib.c (info_sharedlibrary_command): Replace for loop with
+       ALL_SO_LIBS macro
+       * solib.h (update_solib_list): New function declaration.
+       (so_list_head): Move macro.
+       * solist.h (ALL_SO_LIBS): New macro.
+
+2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
+
+       * infcmd.c (post_create_inferior): Remove unused argument in
+       call to solib_add.
+       * remote.c (remote_start_remote): Likewise.
+       * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
+       * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
+       (enable_break): Likewise.
+       * solib.c (update_solib_list): Remove unused target argument
+       and its documentation.
+       (solib_add): Remove unused target argument.  Remove unused
+       argument in call to update_solib_list.
+       (info_sharedlibrary_command): Remove unused argument in call
+       to update_solib_list.
+       (sharedlibrary_command): Remove unused argument in call to
+       solib_add.
+       (handle_solib_event): Likewise.
+       (reload_shared_libraries): Likewise.
+       * solib.h (solib_add): Remove unused target argument.
+
+2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
+       (s390_displaced_step_fixup): Cover relative branches with the
+       default fixup handling.  This fixes lack of support for some
+       relative branch instructions.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
+       ptid from regcache.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
+       i386_darwin_store_inferior_registers): Use ptid from regcache.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
+       i386bsd_store_inferior_registers): Use ptid from regcache.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * hppa-obsd-nat.c (hppaobsd_fetch_registers,
+       hppaobsd_store_registers): Use ptid from regcache.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
+       hppanbsd_store_registers): Use ptid from regcache.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * hppa-linux-nat.c (fetch_register, store_register): Use ptid
+       from regcache.  Use get_ptrace_pid.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * corelow.c (get_core_register_section): Use ptid from regcache,
+       update doc.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * bsd-uthread.c (bsd_uthread_fetch_registers,
+       bsd_uthread_store_registers): Use ptid from regcache, set and
+       restore inferior_ptid.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
+       fetch_fp_regs, store_register, store_regs, store_fp_register,
+       store_fp_regs): Use ptid from regcache.
+
+2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
+       store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
+       store_vfp_regs): Use ptid from regcache.
+
+2017-03-17  Pedro Alves  <palves@redhat.com>
+
+       PR remote/21188
+       * ser-base.c (ser_base_wait_for): Add comment.
+       (do_ser_base_readchar): Improve comment based on the ser-unix.c's
+       version.
+       * ser-unix.c (hardwire_raw): Remove reference to
+       scb->current_timeout.
+       (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
+       (hardwire_ops): Install ser_base_readchar instead of
+       hardwire_readchar.
+       * serial.h (struct serial) <current_timeout, timeout_remaining>:
+       Remove fields.
+
+2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
+
+       PR gdb/19637
+       * python/lib/gdb/printer/bound_registers.py: Add support for
+       Python 3.
+
+2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
+       pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
+       (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
+       byte_offset to subobj_byte_offset.  Fix the handling of
+       DWARF_VALUE_STACK on big-endian targets when coming via an
+       implicit pointer.
+       (dwarf2_evaluate_loc_desc): Adjust call to
+       dwarf2_evaluate_loc_desc_full.
+       * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
+       * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
+
+2017-03-16  Yao Qi  <yao.qi@linaro.org>
+
+       * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
+       and REVSH instructions.
+
+2017-03-16  Yao Qi  <yao.qi@linaro.org>
+
+       * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
+       (arm_record_test): Declare.
+       (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
+       (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
+       align with the manual.
+       (thumb_record_misc): Adjust the code order to align with the
+       manual.
+       (thumb2_record_decode_insn_handler): Fix instruction matching.
+       (instruction_reader_thumb): New class.
+       (arm_record_test): New function.
+
+2017-03-16  Yao Qi  <yao.qi@linaro.org>
+
+       * arm-tdep.c (abstract_memory_reader): New class.
+       (instruction_reader): New class.
+       (extract_arm_insn): Add argument 'reader'.  Callers updated.
+       (decode_insn): Likewise.
+
+2017-03-16  Doug Evans  <dje@google.com>
+
+       * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
+       member.  Change type of TYPE member to SCM.  All uses updated.
+       (lsscm_make_lazy_string_smob): Add assert.
+       (lsscm_make_lazy_string): Flag bad length values.
+       (lsscm_elt_type): New function.
+       (gdbscm_lazy_string_to_value): Rewrite to use
+       lsscm_safe_lazy_string_to_value.
+       (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
+       * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
+       values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
+       in incoming type.
+       * guile/guile-internal.h (tyscm_scm_to_type): Declare.
+       * guile/scm-type.c (tyscm_scm_to_type): New function.
+
+2017-03-15  Doug Evans  <dje@google.com>
+
+       PR python/17728, python/18439, python/18779
+       * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
+       member.  Change type of TYPE member to PyObject *.  All uses updated.
+       (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
+       (gdbpy_create_lazy_string_object): Flag bad length values.
+       Handle TYPE_CODE_ARRAY with possibly different user-provided length.
+       Handle typedefs in incoming type.
+       (stpy_lazy_string_elt_type): New function.
+       (gdbpy_extract_lazy_string): Call it.
+       * python/py-value.c (valpy_lazy_string): Flag bad length values.
+       Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
+       typedefs in incoming type.
+
+2017-03-16  Doug Evans  <dje@google.com>
+
+       * guile/guile-internal.h (tyscm_scm_to_type): Declare.
+       * guile/scm-type.c (tyscm_scm_to_type): New function.
+
+2017-03-16  Jiong Wang  <jiong.wang@arm.com>
+
+       * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
+       "ULONGEST" for "skip".
+
+2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       PR gdb/21220
+       * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
+       TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
+       (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
+       over ptrace peek/poke until end of buffer or error.
+
+2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * parse.c (length_of_subexp): Make static.
+       * parser-defs.h (length_of_subexp): Remove.
+
+2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * linux-nat.c (linux_proc_xfer_partial): Handle write operations
+       as well.
+
+2017-03-14  Pedro Alves  <palves@redhat.com>
+
+       * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
+       (main): Use std::unique_ptr.  Remove calls to
+       cp_demangled_name_parse_free.
+
 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
This page took 0.030927 seconds and 4 git commands to generate.