+2018-04-10 Pedro Alves <palves@redhat.com>
+
+ * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
+ (scoped_finish_thread_state): New class.
+ * infcmd.c (run_command_1): Use it instead of finish_thread_state
+ cleanup.
+ * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
+ (fetch_inferior_event, normal_stop): Likewise.
+ * thread.c (finish_thread_state_cleanup): Delete.
+
+2018-04-09 Simon Marchi <simon.marchi@polymtl.ca>
+ Pedro Alves <palves@redhat.com>
+
+ * value.c: Include "selftest.h" and "common/array-view.h".
+ (struct range) <operator ==>: New.
+ (test_ranges_contain): New.
+ (check_ranges_vector): New.
+ (test_insert_into_bit_range_vector): New.
+ (_initialize_values): Register selftests.
+ * common/array-view.h (operator==, operator!=): New.
+
+2018-04-09 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * common/gdb_vecs.h (unordered_remove): Add overload that takes
+ an iterator.
+ * inline-frame.c: Include <algorithm>.
+ (struct inline_state): Add constructor.
+ (inline_state_s): Remove.
+ (DEF_VEC_O(inline_state_s)): Remove.
+ (inline_states): Change type to std::vector.
+ (find_inline_frame_state): Adjust to std::vector.
+ (allocate_inline_frame_state): Remove.
+ (clear_inline_frame_state): Adjust to std::vector.
+ (skip_inline_frames): Adjust to std::vector.
+
+2018-04-09 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * tracepoint.h (struct trace_state_variable): Add constructor.
+ <name>: Change type to std::string.
+ * tracepoint.c (tsv_s): Remove.
+ (DEF_VEC_O(tsv_s)): Remove.
+ (tvariables): Change to std::vector.
+ (create_trace_state_variable): Adjust to std::vector.
+ (find_trace_state_variable): Likewise.
+ (find_trace_state_variable_by_number): Likewise.
+ (delete_trace_state_variable): Likewise.
+ (trace_variable_command): Adjust to std::string.
+ (delete_trace_variable_command): Likewise.
+ (tvariables_info_1): Adjust to std::vector.
+ (save_trace_state_variables): Likewise.
+ (start_tracing): Likewise.
+ (merge_uploaded_trace_state_variables): Adjust to std::vector
+ and std::string.
+ * target.h (struct target_ops)
+ <to_download_trace_state_variable>: Pass reference to
+ trace_state_variable.
+ * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
+ * target-delegates.c: Re-generate.
+ * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
+ (mi_tsv_deleted): Likewise.
+ * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
+ * remote.c (remote_download_trace_state_variable): Change
+ pointer to reference and adjust.
+ * make-target-delegates (parse_argtypes): Handle references.
+ (write_function_header): Likewise.
+ (munge_type): Likewise.
+
+2018-04-09 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+ string_view-selftests.c.
+ * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
+ testsuite.
+ * unittests/basic_string_view/cons/char/1.cc: Likewise.
+ * unittests/basic_string_view/cons/char/2.cc: Likewise.
+ * unittests/basic_string_view/cons/char/3.cc: Likewise.
+ * unittests/basic_string_view/element_access/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/element_access/char/empty.cc:
+ Likewise.
+ * unittests/basic_string_view/element_access/char/front_back.cc:
+ Likewise.
+ * unittests/basic_string_view/inserters/char/2.cc: Likewise.
+ * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/modifiers/swap/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/compare/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/compare/char/13650.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/copy/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/data/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/find/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/find/char/2.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/find/char/3.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/find/char/4.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/rfind/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/rfind/char/2.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/rfind/char/3.cc:
+ Likewise.
+ * unittests/basic_string_view/operations/substr/char/1.cc:
+ Likewise.
+ * unittests/basic_string_view/operators/char/2.cc: Likewise.
+ * unittests/string_view-selftests.c: New file.
+
+2018-04-09 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * unittests/basic_string_view/capacity/1.cc: New file.
+ * unittests/basic_string_view/capacity/empty_neg.cc: New file.
+ * unittests/basic_string_view/cons/char/1.cc: New file.
+ * unittests/basic_string_view/cons/char/2.cc: New file.
+ * unittests/basic_string_view/cons/char/3.cc: New file.
+ * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
+ * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
+ * unittests/basic_string_view/element_access/char/1.cc: New file.
+ * unittests/basic_string_view/element_access/char/2.cc: New file.
+ * unittests/basic_string_view/element_access/char/empty.cc: New file.
+ * unittests/basic_string_view/element_access/char/front_back.cc: New file.
+ * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
+ * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
+ * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
+ * unittests/basic_string_view/include.cc: New file.
+ * unittests/basic_string_view/inserters/char/1.cc: New file.
+ * unittests/basic_string_view/inserters/char/2.cc: New file.
+ * unittests/basic_string_view/inserters/char/3.cc: New file.
+ * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
+ * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
+ * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
+ * unittests/basic_string_view/literals/types.cc: New file.
+ * unittests/basic_string_view/literals/values.cc: New file.
+ * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
+ * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
+ * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
+ * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/operations/compare/char/1.cc: New file.
+ * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
+ * unittests/basic_string_view/operations/compare/char/2.cc: New file.
+ * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
+ * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
+ * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
+ * unittests/basic_string_view/operations/copy/char/1.cc: New file.
+ * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/operations/data/char/1.cc: New file.
+ * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/operations/find/char/1.cc: New file.
+ * unittests/basic_string_view/operations/find/char/2.cc: New file.
+ * unittests/basic_string_view/operations/find/char/3.cc: New file.
+ * unittests/basic_string_view/operations/find/char/4.cc: New file.
+ * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
+ * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
+ * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
+ * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
+ * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
+ * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
+ * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
+ * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
+ * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
+ * unittests/basic_string_view/operations/substr/char/1.cc: New file.
+ * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/operators/char/2.cc: New file.
+ * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
+ * unittests/basic_string_view/range_access/char/1.cc: New file.
+ * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
+ * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
+ * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
+ * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
+ * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
+ * unittests/basic_string_view/requirements/typedefs.cc: New file.
+ * unittests/basic_string_view/typedefs.cc: New file.
+ * unittests/basic_string_view/types/1.cc: New file.
+
+2018-04-09 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * common/gdb_string_view.h: Remove libstdc++ implementation
+ details, adjust to gdb reality.
+ * common/gdb_string_view.tcc: Likewise.
+ * cli/cli-script.c (struct string_view): Remove.
+ (user_args) <m_args>: Change element type to gdb::string_view.
+ (user_args::insert_args): Adjust.
+
+2018-04-09 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * common/gdb_string_view.h: New file.
+ * common/gdb_string_view.tcc: New file.
+
+2018-04-09 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ax_cxx_compile_stdcxx.m4: Sync with upstream.
+ * configure: Re-generate.
+
+2018-04-09 Pedro Alves <palves@redhat.com>
+
+ * gdbarch.sh: Include "observable.h" instead of "observer.h".
+ (set_target_gdbarch): Call
+ gdb::observers::architecture_changed.notify instead of
+ observer_notify_architecture_changed.
+
+2018-04-07 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * tracepoint.c (struct current_traceframe_cleanup): Remove.
+ (do_restore_current_traceframe_cleanup): Remove.
+ (restore_current_traceframe_cleanup_dtor): Remove.
+ (make_cleanup_restore_current_traceframe): Remove.
+ (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
+ New.
+ * tracepoint.h (struct scoped_restore_current_traceframe): New.
+ * infrun.c (fetch_inferior_event): Use
+ scoped_restore_current_traceframe.
+
+2018-04-07 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
+ Remove.
+ <n_allocated_type_units>: Remove.
+ <all_type_units>: Change to std::vector.
+ * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
+ to std::vector change.
+ (dwarf2_per_objfile::get_cutu): Likewise.
+ (dwarf2_per_objfile::get_tu): Likewise.
+ (create_signatured_type_table_from_index): Likewise.
+ (create_signatured_type_table_from_debug_names): Likewise.
+ (dw2_symtab_iter_next): Likewise.
+ (dw2_print_stats): Likewise.
+ (dw2_expand_all_symtabs): Likewise.
+ (dw2_expand_marked_cus): Likewise.
+ (dw2_debug_names_iterator::next): Likewise.
+ (dwarf2_initialize_objfile): Likewise.
+ (add_signatured_type_cu_to_table): Likewise.
+ (create_all_type_units): Likewise.
+ (add_type_unit): Likewise.
+ (struct tu_abbrev_offset): Add constructor.
+ (build_type_psymtabs_1): Adjust to std::vector change.
+ (print_tu_stats): Likewise.
+ * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
+ (write_debug_names): Likewise.
+
+2018-04-07 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
+ Make an std::vector.
+ <n_comp_units>: Remove.
+ * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
+ to std::vector change.
+ (dwarf2_per_objfile::get_cutu): Likewise.
+ (dwarf2_per_objfile::get_cu): Likewise.
+ (create_cus_from_index): Likewise.
+ (create_addrmap_from_index): Likewise.
+ (create_addrmap_from_aranges): Likewise.
+ (dwarf2_read_index): Likewise.
+ (dw2_find_last_source_symtab): Likewise.
+ (dw2_map_symtabs_matching_filename): Likewise.
+ (dw2_symtab_iter_next): Likewise.
+ (dw2_print_stats): Likewise.
+ (dw2_expand_all_symtabs): Likewise.
+ (dw2_expand_symtabs_with_fullname): Likewise.
+ (dw2_expand_marked_cus): Likewise.
+ (dw2_map_symbol_filenames): Likewise.
+ (create_cus_from_debug_names): Likewise.
+ (dwarf2_read_debug_names): Likewise.
+ (dw2_debug_names_iterator::next): Likewise.
+ (dwarf2_initialize_objfile): Likewise.
+ (set_partial_user): Likewise.
+ (dwarf2_build_psymtabs_hard): Likewise.
+ (read_comp_units_from_section): Remove arguments, adjust to
+ std::vector change.
+ (create_all_comp_units): Adjust to std::vector and
+ read_comp_units_from_section changes.
+ (dwarf2_find_containing_comp_unit): Adjust to std::vector
+ change.
+ * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
+ (psyms_seen_size): Likewise.
+ (write_gdbindex): Likewise.
+ (write_debug_names): Likewise.
+
+2018-04-07 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
+ with dwarf2_per_objfile.
+ (create_cus_from_index): Likewise.
+ (create_signatured_type_table_from_index): Likewise.
+ (dwarf2_read_index): Likewise.
+ (dwarf2_initialize_objfile): Likewise.
+ (dwarf2_fetch_die_loc_sect_off): Get dwarf2_per_objfile from
+ per_cu rather than get_dwarf2_per_objfile.
+
+2018-04-07 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2read.h (struct signatured_type): Forward declare.
+ (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
+ New methods.
+ * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
+ (dw2_get_cutu): ...this.
+ (dwarf2_per_objfile::get_cu): Rename from...
+ (dw2_get_cu): ...this.
+ (dwarf2_per_objfile::get_tu): New.
+ (create_addrmap_from_index): Adjust.
+ (create_addrmap_from_aranges): Adjust.
+ (dw2_find_last_source_symtab): Adjust.
+ (dw2_map_symtabs_matching_filename): Adjust.
+ (dw2_symtab_iter_next): Adjust.
+ (dw2_print_stats): Adjust.
+ (dw2_expand_all_symtabs): Adjust.
+ (dw2_expand_symtabs_with_fullname): Adjust.
+ (dw2_expand_marked_cus): Adjust.
+ (dw_expand_symtabs_matching_file_matcher): Adjust.
+ (dw2_map_symbol_filenames): Adjust.
+ (dw2_debug_names_iterator::next): Adjust.
+ (dwarf2_initialize_objfile): Adjust.
+ (set_partial_user): Adjust.
+ (dwarf2_build_psymtabs_hard): Adjust.
+
2018-04-07 Simon Marchi <simon.marchi@polymtl.ca>
* dwarf2read.c (create_signatured_type_table_from_debug_names):