Move pending_blocks and pending_block_obstack to buildsym_compunit
[binutils-gdb.git] / gdb / ChangeLog
index d382384415a30f528a9fba3c0aacac11f4f08954..a8d20576e6e3b4945f7652333dd9f458f69db8c1 100644 (file)
@@ -1,3 +1,321 @@
+2018-07-20  Tom Tromey  <tom@tromey.com>
+
+       * buildsym.h (class scoped_free_pendings): Remove constructor.
+       * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
+       method.
+       <m_pending_block_obstack, m_pending_blocks>: New members.
+       (pending_block_obstack, pending_blocks): Remove.
+       (scoped_free_pendings::scoped_free_pendings): Default.
+       (~scoped_free_pendings): Update.
+       (free_pending_blocks): Remove.
+       (finish_block_internal, record_pending_block, make_blockvector)
+       (end_symtab_get_static_block, augment_type_symtab, push_context)
+       (buildsym_init): Update.
+
+2018-07-20  Tom Tromey  <tom@tromey.com>
+
+       * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
+       m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
+       members.
+       (pending_addrmap, pending_addrmap_obstack)
+       (pending_addrmap_interesting): Remove.
+       (scoped_free_pendings, record_block_range, make_blockvector)
+       (prepare_for_building, reset_symtab_globals, buildsym_init):
+       Update.
+
+2018-07-20  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (process_linenos): Update.
+       * stabsread.c (define_symbol, read_type, read_enum_type): Update.
+       * mdebugread.c (psymtab_to_symtab_1): Update.
+       * dwarf2read.c (setup_type_unit_groups)
+       (lnp_state_machine::handle_set_file, dwarf_record_line_p)
+       (lnp_state_machine::record_line, dwarf_decode_lines): Update.
+       * dbxread.c (process_one_symbol): Update.
+       * coffread.c (coff_symtab_read, enter_linenos)
+       (process_coff_symbol): Update.
+       * buildsym.h (current_subfile): Don't declare.
+       (get_current_subfile): Declare.
+       * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
+       member.
+       (start_subfile, free_buildsym_compunit, push_subfile)
+       (prepare_for_building, start_symtab): Update.
+       (get_current_subfile): New function.
+
+2018-07-20  Tom Tromey  <tom@tromey.com>
+
+       * coffread.c (coff_symtab_read): Update.
+       * xcoffread.c (read_xcoff_symtab): Update.
+       * dwarf2read.c (new_symbol): Update.
+       (read_func_scope, read_lexical_block_scope): Update.
+       * dbxread.c (process_one_symbol): Update.
+       * buildsym.h (context_stack, context_stack_depth): Don't declare.
+       (outermost_context_p): Remove macro.
+       (outermost_context_p, get_current_context_stack)
+       (get_context_stack_depth): Declare.
+       (pop_context): Return struct context_stack.
+       * buildsym.c (struct buildsym_compunit) <m_context_stack: New
+       member.
+       (context_stack_size): Remove.
+       (INITIAL_CONTEXT_STACK_SIZE): Remove.
+       (prepare_for_building, end_symtab_get_static_block)
+       (augment_type_symtab, push_context): Update.
+       (pop_context): Return struct context_stack.
+       (outermost_context_p, get_current_context_stack)
+       (get_context_stack_depth): New functions.
+       (buildsym_init): Update.
+
+2018-07-20  Tom Tromey  <tom@tromey.com>
+
+       * rust-exp.y: Now a pure parser.  Update all rules.
+       (%union): Move earlier.
+       (current_parser, work_obstack): Remove globals.
+       (rust_parser, ~rust_parser): Update.
+       (class rust_parser) <copy_name, concat3, crate_name, super_name,
+       lex_character, lex_number, lex_string, lex_identifier,
+       rust_lookup_type, convert_params_to_types, convert_ast_to_type,
+       convert_name, convert_params_to_expression,
+       convert_ast_to_expression, ast_basic_type, ast_operation,
+       ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
+       ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
+       ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
+       ast_array_type, ast_slice_type, ast_reference_type,
+       ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
+       (rust_parse): Update.
+       (rustyyerror, rustyylex): Add parser parameter.
+       (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
+       (rust_lex_stringish_test, rust_lex_test_sequence)
+       (rust_lex_test_trailing_dot, rust_lex_test_completion)
+       (rust_lex_test_push_back, rust_lex_tests): Update.
+
+2018-07-19  Pedro Alves  <palves@redhat.com>
+
+       * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
+       gdb::unique_xmalloc_ptr.
+       * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
+       Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
+       * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
+       copy-initialization.
+       * guile/scm-pretty-print.c (ppscm_print_children): Use
+       gdb::unique_xmalloc_ptr instead of cleanups.
+       (gdbscm_apply_val_pretty_printer): Remove cleanups.
+       * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
+       gdb::unique_xmalloc_ptr.
+       * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
+       Adjust to use gdb::unique_xmalloc_ptr.
+       * guile/scm-utils.c (extract_arg): Adjust.
+       * guile/scm-value.c (gdbscm_value_field): Adjust to use
+       gdb::unique_xmalloc_ptr instead of a cleanup.
+
+2018-07-19  Tom Tromey  <tom@tromey.com>
+
+       * utils.c (do_value_free_to_mark)
+       (make_cleanup_value_free_to_mark): Remove.
+       * utils.h (make_cleanup_value_free_to_mark): Remove.
+
+2018-07-19  Pedro Alves  <palves@redhat.com>
+
+       * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
+       forwarding reference.
+
+2018-07-18  Pedro Alves  <palves@redhat.com>
+
+       * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
+       gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
+       cleanup.
+
+2018-07-18  Pedro Alves  <palves@redhat.com>
+
+       * guile/guile-internal.h: Add comment about mixing GDB and Scheme
+       exceptions.
+       (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
+       (gdbscm_wrap): New.
+       * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
+       directly instead of a cleanup.
+       * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
+       (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
+       (vlscm_binop_gdbthrow): New, factored out from ...
+       (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
+       (vlscm_rich_compare): Use gdbscm_wrap.
+       * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
+       instead of a cleanup.
+       (gdbscm_lookup_global_symbol): Use xfree directly instead of a
+       cleanup.
+       * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
+       Use xfree directly instead of a cleanup.
+       * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
+       Adjust to use gdbscm_wrap and scoped_value_mark.
+       (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
+       (gdbscm_value_address, gdbscm_value_dereference)
+       (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
+       scoped_value_mark.
+       (gdbscm_value_dynamic_type): Use scoped_value_mark.
+       (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
+       scoped_value_mark.
+       (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
+       gdbscm_wrap and scoped_value_mark.
+       (gdbscm_value_to_string): Use xfree directly instead of a
+       cleanup.  Move 'buffer' unique_ptr to TRY scope.
+       (gdbscm_value_to_lazy_string): Use xfree directly instead of a
+       cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
+       scoped_value_mark.
+       (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
+       (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
+       scoped_value_mark.
+       (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
+       gdbscm_wrap.
+
+2018-07-18  Tom de Vries  <tdevries@suse.de>
+
+       * findvar.c (default_read_var_value): Also resolve dynamic type for
+       LOC_OPTIMIZED_OUT vars.
+
+2018-07-18  Maciej W. Rozycki  <macro@mips.com>
+
+       * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
+       decoding.
+
+2018-07-17  Tom Tromey  <tom@tromey.com>
+
+       * guile/scm-param.c (pascm_set_func, pascm_show_func)
+       (compute_enum_list, pascm_set_param_value_x)
+       (gdbscm_parameter_value): Update.
+       * guile/guile-internal.h (gdbscm_scm_to_string): Update.
+       (gdbscm_scm_to_host_string): Update.
+       * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
+       Update.
+       * guile/scm-cmd.c (cmdscm_add_completion): Update.
+       * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
+       * guile/scm-string.c (gdbscm_scm_to_string): Return
+       unique_xmalloc_ptr.
+       (gdbscm_scm_to_host_string): Likewise.
+
+2018-07-17  Tom Tromey  <tom@tromey.com>
+
+       * guile/guile.c (gdbscm_eval_from_control_command): Update.
+       * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
+       * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
+       * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
+       unique_xmalloc_ptr.
+
+2018-07-17  Tom Tromey  <tom@tromey.com>
+
+       * guile/scm-param.c (pascm_signal_setshow_error): Update.
+       * guile/guile-internal.h (gdbscm_exception_message_to_string):
+       Update.
+       * guile/scm-cmd.c (cmdscm_function): Update.
+       * guile/scm-pretty-print.c
+       (ppscm_print_exception_unless_memory_error): Update.
+       * guile/scm-exception.c (gdbscm_exception_message_to_string):
+       Return unique_xmalloc_ptr.
+
+2018-07-17  Tom Tromey  <tom@tromey.com>
+
+       * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
+       Use string_printf.
+
+2018-07-17  Jim Wilson  <jimw@sifive.com>
+
+       * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
+       set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
+       (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
+       unecessary braces after EF_RISCV_RVC test.  Delete call to
+       set_gdbarch_decr_pc_after_break.
+
+       * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
+       RISCV_LAST_FP_REGNUM + 1.
+       (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
+
+2018-07-17  Tom Tromey  <tom@tromey.com>
+
+       * configure.ac: Remove --disable-gdbcli.
+       * configure: Rebuild.
+       * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
+       (SUBDIR_CLI_CFLAGS): Remove.
+       (SFILES): Use SUBDIR_CLI_SRCS.
+       (COMMON_OBS): Use SUBDIR_CLI_OBS.
+
+2018-07-17  Tom Tromey  <tom@tromey.com>
+
+       PR gdb/18624:
+       * coffread.c (coff_symtab_read): Use scoped_free_pendings.
+
+2018-07-16  Jim Wilson  <jimw@sifive.com>
+
+       * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
+
+2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
+       variable.
+       (libunwind_frame_sniffer): Likewise.
+       (libunwind_frame_prev_register): Likewise.
+       (libunwind_sigtramp_frame_sniffer): Likewise.
+       * ia64-tdep.c (ia64_access_reg): Likewise.
+       (ia64_access_rse_reg): Likewise.
+       (ia64_libunwind_sigtramp_frame_this_id): Likewise.
+       * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
+
+2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
+
+2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * remote-sim.c (gdbsim_target::close,
+       gdbsim_target::mourn_inferior): Remove unused variables.
+
+2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * ia64-tdep.c (ktab_buf): New global.
+       (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
+       (get_kernel_table): Adjust.
+
+2018-07-16  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
+       * dwarf2read.c (using_directives, new_symbol): Use
+       outermost_context_p.
+       * dbxread.c (process_one_symbol): Use outermost_context_p.
+       * coffread.c (coff_symtab_read): Use outermost_context_p.
+
+2018-07-16  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2read.c (using_directives, read_func_scope)
+       (read_lexical_block_scope): Update.
+       * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
+       * buildsym.h (local_using_directives, global_using_directives):
+       Don't declare.
+       (get_local_using_directives, set_local_using_directives)
+       (get_global_using_directives): Declare.
+       * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
+       m_global_using_directives>: New members.
+       (finish_block_internal, prepare_for_building)
+       (reset_symtab_globals, end_symtab_get_static_block)
+       (push_context): Update.
+       (get_local_using_directives, set_local_using_directives)
+       (get_global_using_directives): New functions.
+       (buildsym_init): Update.
+
+2018-07-16  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (xcoff_initial_scan): Don't call
+       free_pending_blocks.
+       * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
+       * buildsym.h (class scoped_free_pendings): Add constructor.
+       (free_pending_blocks): Don't declare.
+       * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
+       (free_pending_blocks): Now static.
+
+2018-07-16  Tom Tromey  <tom@tromey.com>
+
+       * buildsym.h (push_subfile, pop_subfile): Update declarations.
+       * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
+       member.
+       (struct subfile_stack): Remove.
+       (subfile_stack): Remove.
+       (push_subfile, pop_subfile, buildsym_init): Update.
+
 2018-07-16  Tom Tromey  <tom@tromey.com>
 
        * buildsym.c (push_subfile): Use gdb_assert.