+2017-07-26 Yao Qi <yao.qi@linaro.org>
+
+ * target-descriptions.c (tdesc_element_visitor): New class.
+ (tdesc_element): New class.
+ (tdesc_reg): Inherit from tdesc_element.
+ (tdesc_reg::accept): New function.
+ (tdesc_type): Inherit from tdesc_element.
+ (tdesc_type::accept): New function.
+ (tdesc_feature): Inherit from tdesc_element.
+ (tdesc_feature::accept): New function.
+ (target_desc): Inherit from tdesc_element.
+ (target_desc::target_desc): New.
+ (target_desc::~target_desc): New.
+ (target_desc::accept): New.
+ (allocate_target_description): Use new.
+ (free_target_description): Use delete.
+ (print_c_tdesc): New class.
+ (maint_print_c_tdesc_cmd): Adjust.
+
+ * features/aarch64.c: Re-generated.
+ * features/arc-arcompact.c: Re-generated.
+ * features/arc-v2.c: Re-generated.
+ * features/arm/arm-with-iwmmxt.c: Re-generated.
+ * features/arm/arm-with-m.c: Re-generated.
+ * features/arm/arm-with-m-fpa-layout.c: Re-generated.
+ * features/arm/arm-with-m-vfp-d16.c: Re-generated.
+ * features/arm/arm-with-neon.c: Re-generated.
+ * features/arm/arm-with-vfpv2.c: Re-generated.
+ * features/arm/arm-with-vfpv3.c: Re-generated.
+ * features/i386/amd64-avx-avx512.c: Re-generated.
+ * features/i386/amd64-avx-avx512-linux.c: Re-generated.
+ * features/i386/amd64-avx.c: Re-generated.
+ * features/i386/amd64-avx-linux.c: Re-generated.
+ * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
+ * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
+ * features/i386/amd64-avx-mpx.c: Re-generated.
+ * features/i386/amd64-avx-mpx-linux.c: Re-generated.
+ * features/i386/amd64.c: Re-generated.
+ * features/i386/amd64-linux.c: Re-generated.
+ * features/i386/amd64-mpx.c: Re-generated.
+ * features/i386/amd64-mpx-linux.c: Re-generated.
+ * features/i386/i386-avx-avx512.c: Re-generated.
+ * features/i386/i386-avx-avx512-linux.c: Re-generated.
+ * features/i386/i386-avx.c: Re-generated.
+ * features/i386/i386-avx-linux.c: Re-generated.
+ * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
+ * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
+ * features/i386/i386-avx-mpx.c: Re-generated.
+ * features/i386/i386-avx-mpx-linux.c: Re-generated.
+ * features/i386/i386.c: Re-generated.
+ * features/i386/i386-linux.c: Re-generated.
+ * features/i386/i386-mmx.c: Re-generated.
+ * features/i386/i386-mmx-linux.c: Re-generated.
+ * features/i386/i386-mpx.c: Re-generated.
+ * features/i386/i386-mpx-linux.c: Re-generated.
+ * features/i386/x32-avx-avx512.c: Re-generated.
+ * features/i386/x32-avx-avx512-linux.c: Re-generated.
+ * features/i386/x32-avx.c: Re-generated.
+ * features/i386/x32-avx-linux.c: Re-generated.
+ * features/i386/x32.c: Re-generated.
+ * features/i386/x32-linux.c: Re-generated.
+ * features/microblaze.c: Re-generated.
+ * features/microblaze-with-stack-protect.c: Re-generated.
+ * features/mips64-dsp-linux.c: Re-generated.
+ * features/mips64-linux.c: Re-generated.
+ * features/mips-dsp-linux.c: Re-generated.
+ * features/mips-linux.c: Re-generated.
+ * features/nds32.c: Re-generated.
+ * features/nios2.c: Re-generated.
+ * features/nios2-linux.c: Re-generated.
+ * features/rs6000/powerpc-32.c: Re-generated.
+ * features/rs6000/powerpc-32l.c: Re-generated.
+ * features/rs6000/powerpc-403.c: Re-generated.
+ * features/rs6000/powerpc-403gc.c : Re-generated.
+ * features/rs6000/powerpc-405.c: Re-generated.
+ * features/rs6000/powerpc-505.c: Re-generated.
+ * features/rs6000/powerpc-601.c: Re-generated.
+ * features/rs6000/powerpc-602.c: Re-generated.
+ * features/rs6000/powerpc-603.c: Re-generated.
+ * features/rs6000/powerpc-604.c: Re-generated.
+ * features/rs6000/powerpc-64.c: Re-generated.
+ * features/rs6000/powerpc-64l.c: Re-generated.
+ * features/rs6000/powerpc-7400.c: Re-generated.
+ * features/rs6000/powerpc-750.c: Re-generated.
+ * features/rs6000/powerpc-860.c: Re-generated.
+ * features/rs6000/powerpc-altivec32.c: Re-generated.
+ * features/rs6000/powerpc-altivec32l.c: Re-generated.
+ * features/rs6000/powerpc-altivec64.c: Re-generated.
+ * features/rs6000/powerpc-altivec64l.c: Re-generated.
+ * features/rs6000/powerpc-cell32l.c: Re-generated.
+ * features/rs6000/powerpc-cell64l.c: Re-generated.
+ * features/rs6000/powerpc-e500.c: Re-generated.
+ * features/rs6000/powerpc-e500l.c: Re-generated.
+ * features/rs6000/powerpc-isa205-32l.c: Re-generated.
+ * features/rs6000/powerpc-isa205-64l.c: Re-generated.
+ * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
+ * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
+ * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
+ * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
+ * features/rs6000/powerpc-vsx32.c: Re-generated.
+ * features/rs6000/powerpc-vsx32l.c: Re-generated.
+ * features/rs6000/powerpc-vsx64.c: Re-generated.
+ * features/rs6000/powerpc-vsx64l.c: Re-generated.
+ * features/rs6000/rs6000.c: Re-generated.
+ * features/s390-linux32.c: Re-generated.
+ * features/s390-linux32v1.c: Re-generated.
+ * features/s390-linux32v2.c: Re-generated.
+ * features/s390-linux64.c: Re-generated.
+ * features/s390-linux64v1.c: Re-generated.
+ * features/s390-linux64v2.c: Re-generated.
+ * features/s390-te-linux64.c: Re-generated.
+ * features/s390-tevx-linux64.c: Re-generated.
+ * features/s390-vx-linux64.c: Re-generated.
+ * features/s390x-linux64.c: Re-generated.
+ * features/s390x-linux64v1.c: Re-generated.
+ * features/s390x-linux64v2.c: Re-generated.
+ * features/s390x-te-linux64.c: Re-generated.
+ * features/s390x-tevx-linux64.c: Re-generated.
+ * features/s390x-vx-linux64.c: Re-generated.
+ * features/sparc/sparc32-solaris.c: Re-generated.
+ * features/sparc/sparc64-solaris.c: Re-generated.
+ * features/tic6x-c62x.c: Re-generated.
+ * features/tic6x-c62x-linux.c: Re-generated.
+ * features/tic6x-c64x.c: Re-generated.
+ * features/tic6x-c64x-linux.c: Re-generated.
+ * features/tic6x-c64xp.c: Re-generated.
+ * features/tic6x-c64xp-linux.c: Re-generated.
+
+2017-07-26 Yao Qi <yao.qi@linaro.org>
+
+ * i386-linux-tdep.c (i386_linux_read_description): New function.
+ (i386_linux_core_read_description): Call
+ i386_linux_read_description.
+ * i386-linux-tdep.h (i386_linux_read_description): Declare.
+ (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
+ (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
+ (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
+ (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
+ * x86-linux-nat.c (x86_linux_read_description): Call
+ i386_linux_read_description.
+
+2017-07-26 Yao Qi <yao.qi@linaro.org>
+
+ * NEWS: Mention it.
+ * features/Makefile (%.c: %.xml): Pass the xml file name to
+ command "maint print c-tdesc".
+ * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
+ name from 'arg'.
+
+2017-07-26 Yao Qi <yao.qi@linaro.org>
+
+ * target-descriptions.c (target_desc): Add ctor and dtor. Do
+ in-class initialization.
+ (tdesc_create_feature): Call new instead of XCNEW.
+ (free_target_description): Ue delete.
+
+2017-07-25 John Baldwin <jhb@FreeBSD.org>
+
+ * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
+
+2017-07-25 Yao Qi <yao.qi@linaro.org>
+
+ * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
+ constant.
+ (amd64_x32_init_abi): Likewise.
+ * amd64-tdep.h (amd64_init_abi): Update declaration.
+ (amd64_x32_init_abi): Likewise.
+
+2017-07-25 Yao Qi <yao.qi@linaro.org>
+
+ PR tdep/21717
+ * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
+ condition for FPSCR.
+ (arm_linux_store_inferior_registers): Likewise.
+
+2017-07-22 Tom Tromey <tom@tromey.com>
+
+ * break-catch-syscall.c (struct catch_syscall_inferior_data)
+ <syscalls_counts>: Now a std::vector.
+ (get_catch_syscall_inferior_data): Use "new".
+ (catch_syscall_inferior_data_cleanup): Use "delete".
+ (insert_catch_syscall, remove_catch_syscall)
+ (clear_syscall_counts): Update.
+
+2017-07-22 Tom Tromey <tom@tromey.com>
+
+ * break-catch-syscall.c (syscall_catchpoint)
+ <syscalls_to_be_caught>: Now a std::vector<int>
+ (~syscall_catchpoint): Remove.
+ (insert_catch_syscall, remove_catch_syscall)
+ (breakpoint_hit_catch_syscall, print_one_catch_syscall)
+ (print_mention_catch_syscall, print_recreate_catch_syscall):
+ Update.
+ (create_syscall_event_catchpoint): Change type of "filter"
+ parameter.
+ (catch_syscall_split_args): Return a std::vector.
+ (catch_syscall_command_1, catching_syscall_number_1): Update.
+
+2017-07-22 Tom Tromey <tom@tromey.com>
+
+ * break-catch-throw.c (struct exception_catchpoint)
+ <exception_rx>: Now a std::string.
+ (~exception_catchpoint): Remove.
+ (print_one_detail_exception_catchpoint): Update.
+ (handle_gnu_v3_exceptions): Change type of except_rx.
+ (extract_exception_regexp): Return a std::string.
+ (catch_exception_command_1): Update.
+
+2017-07-22 Tom Tromey <tom@tromey.com>
+
+ * break-catch-sig.c (gdb_signal_type): Remove typedef.
+ (struct signal_catchpoint) <signals_to_be_caught>: Now a
+ std::vector.
+ <catch_all>: Now a bool.
+ (~signal_catchpoint): Remove.
+ (signal_catchpoint_insert_location)
+ (signal_catchpoint_remove_location)
+ (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
+ (signal_catchpoint_print_mention)
+ (signal_catchpoint_print_recreate)
+ (signal_catchpoint_explains_signal): Update.
+ (create_signal_catchpoint): Change type of "filter" and
+ "catch_all".
+ (catch_signal_split_args): Return a std::vector. Change type of
+ "catch_all".
+ (catch_signal_command): Update.
+
+2017-07-20 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_language_defn): Make extern.
+ (_initialize_ada_language): Remove add_language call.
+ * c-lang.c (c_language_defn, cplus_language_defn)
+ (asm_language_defn, minimal_language_defn): Make extern.
+ (_initialize_c_language): Delete.
+ * completer.c (compare_cstrings): Delete, moved to utils.h.
+ * d-lang.c (d_language_defn): Make extern.
+ (_initialize_d_language): Remove add_language calls.
+ * defs.h (enum language): Add comment.
+ * f-lang.c (f_language_defn): Make extern.
+ (_initialize_f_language): Remove add_language call.
+ * go-lang.c (go_language_defn): Make extern.
+ (_initialize_go_language): Remove add_language call.
+ * language.c: Include <algorithm>.
+ (languages): Redefine as const array.
+ (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
+ (set_language_command): Handle "local". Use for-range loop.
+ (set_language): Remove loop.
+ (language_enum): Rewrite.
+ (language_def, language_str): Remove loops.
+ (add_language): Delete.
+ (add_set_language_command): New, based on add_languages.
+ (skip_language_trampoline): Adjust.
+ (local_language_defn): Delete.
+ (language_gdbarch_post_init): Adjust.
+ (_initialize_language): Remove add_language calls. Call
+ add_set_language_command.
+ * language.h (add_language): Delete.
+ (auto_language_defn)
+ (unknown_language_defn, minimal_language_defn, ada_language_defn)
+ (asm_language_defn, c_language_defn, cplus_language_defn)
+ (d_language_defn, f_language_defn, go_language_defn)
+ (m2_language_defn, objc_language_defn, opencl_language_defn)
+ (pascal_language_defn, rust_language_defn): Declare.
+ * m2-lang.c (m2_language_defn): Make extern.
+ (_initialize_m2_language): Remove add_language call.
+ * objc-lang.c (objc_language_defn): Make extern.
+ (_initialize_objc_language): Remove add_language call.
+ * opencl-lang.c (opencl_language_defn): Make extern.
+ (_initialize_opencl_language): Remove add_language call.
+ * p-lang.c (pascal_language_defn): Make extern.
+ (_initialize_pascal_language): Delete.
+ * rust-lang.c (rust_language_defn): Make extern.
+ (_initialize_rust_language): Delete.
+ * utils.h (compare_cstrings): New static inline function.
+
+2017-07-20 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_to_fixed_type_1): Adjust.
+ (get_var_value): Constify parameters.
+ (get_int_var_value): Change prototype.
+ (to_fixed_range_type): Adjust.
+ * ada-lang.h (get_int_var_value): Change prototype.
+
+2017-07-20 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (dw2_lookup_symbol): Use
+ SYMBOL_MATCHES_SEARCH_NAME.
+ * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
+
+2017-07-20 Pedro Alves <palves@redhat.com>
+
+ * block.c (block_iter_name_step, block_iter_name_first)
+ (block_iter_name_next): Delete.
+ (block_lookup_symbol_primary): Adjust to use
+ dict_iter_match_first/dict_iter_match_next.
+ * block.h (block_iter_name_first, block_iter_name_next): Delete
+ declarations.
+ (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
+ dict_iter_match_first/dict_iter_match_next.
+
+2017-07-20 Pedro Alves <palves@redhat.com>
+
+ * cp-support.c (cp_find_first_component_aux): Add missing case for
+ end of string.
+
+2017-07-18 David Blaikie <dblaikie@gmail.com>
+
+ * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
+ of dwo_cu's dwo_file.
+
+2017-07-18 Yao Qi <yao.qi@linaro.org>
+
+ * remote.c (store_registers_using_G): Remove one line comment.
+
+2017-07-18 Yao Qi <yao.qi@linaro.org>
+
+ * regcache.c (regcache_cpy): Simplify it.
+ (regcache::cpy_no_passthrough): Remove it.
+ * regcache.h (cpy_no_passthrough): Remove it.
+ (regcache_dup, regcache_cpy): Update comments.
+
+2017-07-18 Pedro Alves <palves@redhat.com>
+
+ * remote-sim.c (sim_command_completer): Adjust to work with a
+ completion_tracker instead of a VEC.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * completer.c (complete_source_filenames): New function.
+ (complete_address_and_linespec_locations): New function.
+ (location_completer): Use complete_address_and_linespec_locations.
+ (completion_tracker::build_completion_result): Honor the tracker's
+ request to suppress append.
+ * completer.h (completion_tracker::suppress_append_ws)
+ (completion_tracker::set_suppress_append_ws): New methods.
+ (completion_tracker::m_suppress_append_ws): New field.
+ (complete_source_filenames): New declaration.
+ * linespec.c (linespec_complete_what): New.
+ (struct ls_parser) <complete_what, completion_word,
+ completion_quote_char, completion_quote_end, completion_tracker>:
+ New fields.
+ (string_find_incomplete_keyword_at_end): New.
+ (linespec_lexer_lex_string): Record quote char. If in completion
+ mode, don't throw.
+ (linespec_lexer_consume_token): Advance the completion word point.
+ (linespec_lexer_peek_token): Save/restore completion info.
+ (save_stream_and_consume_token): New.
+ (set_completion_after_number): New.
+ (linespec_parse_basic): Set what to complete next depending on
+ token. Handle function and label completions specially.
+ (parse_linespec): Disable objc shortcut in completion mode. Set
+ what to complete next depending on token type. Skip keyword if in
+ completion mode.
+ (complete_linespec_component, linespec_complete): New.
+ * linespec.h (linespec_complete): Declare.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
+ Handle 'operator<' / 'operator<<'.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * completer.c (collect_explicit_location_matches): Handle
+ MATCH_LABEL.
+ (convert_explicit_location_to_linespec): New, factored out from
+ ...
+ (convert_explicit_location_to_sals): ... this.
+ (complete_label): New.
+ (linespec_complete_label, find_label_symbols_in_block): New.
+ (find_label_symbols): Add completion_mode parameter and adjust to
+ call find_label_symbols_in_block.
+ * linespec.h (linespec_complete_label): Declare.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_collect_symbol_completion_matches): Add
+ complete_symbol_mode parameter.
+ * cli/cli-cmds.c (complete_command): Get the completion result out
+ of the handle_brkchars tracker if used a custom word point.
+ * completer.c: Include "linespec.h".
+ (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
+ (advance_to_expression_complete_word_point): New.
+ (completion_tracker::completes_to_completion_word): New.
+ (complete_files_symbols): Pass down
+ complete_symbol_mode::EXPRESSION.
+ (explicit_options, probe_options): New.
+ (collect_explicit_location_matches): Complete on the
+ explictit_loc->foo instead of word. Use
+ linespec_complete_function. Handle MATCH_LINE. Handle offering
+ keyword and options completions.
+ (backup_text_ptr): Delete.
+ (skip_keyword): New.
+ (complete_explicit_location): Remove 'word' parameter. Add
+ language, quoted_arg_start and quoted_arg_end parameters.
+ Rewrite, parsing left to right.
+ (location_completer): Rewrite.
+ (location_completer_handle_brkchars): New function.
+ (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
+ (enum complete_line_internal_reason): Adjust comments.
+ (completion_tracker::discard_completions): New.
+ (completer_handle_brkchars_func_for_completer): Handle
+ location_completer.
+ (gdb_custom_word_point_brkchars)
+ (gdb_org_rl_basic_quote_characters): New.
+ (gdb_completion_word_break_characters_throw)
+ (completion_find_completion_word): Handle trackers that use a
+ custom word point.
+ (completion_tracker::advance_custom_word_point_by): New.
+ (completion_tracker::build_completion_result): Don't rely on
+ readline appending the quote char.
+ (gdb_rl_attempted_completion_function_throw): Handle trackers that
+ use a custom word point.
+ (gdb_rl_attempted_completion_function): Restore
+ rl_basic_quote_characters.
+ * completer.h (class completion_tracker): Extend intro comment.
+ (completion_tracker::set_quote_char)
+ (completion_tracker::quote_char)
+ (completion_tracker::set_use_custom_word_point)
+ (completion_tracker::use_custom_word_point)
+ (completion_tracker::custom_word_point)
+ (completion_tracker::set_custom_word_point)
+ (completion_tracker::advance_custom_word_point_by)
+ (completion_tracker::completes_to_completion_word)
+ (completion_tracker::discard_completions): New methods.
+ (completion_tracker::m_quote_char)
+ (completion_tracker::m_use_custom_word_point)
+ (completion_tracker::m_custom_word_point): New fields.
+ (advance_to_expression_complete_word_point): Declare.
+ * f-lang.c (f_collect_symbol_completion_matches): Add
+ complete_symbol_mode parameter.
+ * language.h (struct language_defn)
+ <la_collect_symbol_completion_matches>: Add complete_symbol_mode
+ parameter.
+ * linespec.c (linespec_keywords): Add NULL terminator. Make extern.
+ (linespec_complete_function): New function.
+ (linespec_lexer_lex_keyword): Adjust.
+ * linespec.h (linespec_keywords, linespec_complete_function): New
+ declarations.
+ * location.c (find_end_quote): New function.
+ (explicit_location_lex_one): Add explicit_completion_info
+ parameter. Save quoting info. Don't throw if being called for
+ completion. Don't handle Ada operators here.
+ (is_cp_operator, skip_op_false_positives, first_of)
+ (explicit_location_lex_one_function): New function.
+ (string_to_explicit_location): Replace 'dont_throw' parameter with
+ an explicit_completion_info pointer parameter. Handle it. Don't
+ use explicit_location_lex_one to lex function names. Use
+ explicit_location_lex_one_function instead.
+ * location.h (struct explicit_completion_info): New.
+ (string_to_explicit_location): Replace 'dont_throw' parameter with
+ an explicit_completion_info pointer parameter.
+ * symtab.c (default_collect_symbol_completion_matches_break_on):
+ Add complete_symbol_mode parameter. Handle LINESPEC mode.
+ (default_collect_symbol_completion_matches)
+ (collect_symbol_completion_matches): Add complete_symbol_mode
+ parameter.
+ (collect_symbol_completion_matches_type): Pass down
+ complete_symbol_mode::EXPRESSION.
+ (collect_file_symbol_completion_matches): Add complete_symbol_mode
+ parameter. Handle LINESPEC mode.
+ * symtab.h (complete_symbol_mode): New.
+ (default_collect_symbol_completion_matches_break_on)
+ (default_collect_symbol_completion_matches)
+ (collect_symbol_completion_matches)
+ (collect_file_symbol_completion_matches): Add complete_symbol_mode
+ parameter.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * utils.c (enum class strncmp_iw_mode): New.
+ (strcmp_iw): Rename to ...
+ (strncmp_iw_with_mode): ... this. Add string2_len and mode
+ parameters. Handle them.
+ (strncmp_iw): New.
+ (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
+ * utils.h (strncmp_iw): Declare.
+ (strcmp_iw): Move describing comments here.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
+ CP_OPERATOR_STR.
+ * c-typeprint.c (is_type_conversion_operator): Use
+ CP_OPERATOR_STR.
+ * cp-support.c (LENGTH_OF_OPERATOR): Delete.
+ (cp_find_first_component_aux): Use CP_OPERATOR_STR and
+ CP_OPERATOR_LEN.
+ * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
+ * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
+ * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
+ * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
+ CP_OPERATOR_STR.
+ * location.c: Include "cp-support.h".
+ (explicit_location_lex_one): Use CP_OPERATOR_LEN and
+ CP_OPERATOR_STR.
+ * symtab.c (operator_chars): Use CP_OPERATOR_STR and
+ CP_OPERATOR_LEN.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-cmds.c (complete_command): Use a completion tracker
+ along with completion_find_completion_word for handle_brkchars
+ phase.
+ * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
+ (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
+ (struct gdb_rl_completion_word_info): New.
+ (gdb_rl_find_completion_word): New.
+ (completion_find_completion_word): New.
+ * completer.h (completion_find_completion_word): Declare.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (symbol_completion_match): Adjust comments.
+ (symbol_completion_add): Replace vector parameter with
+ completion_tracker parameter. Use it.
+ (ada_make_symbol_completion_list): Rename to...
+ (ada_collect_symbol_completion_matches): ... this. Add
+ completion_tracker parameter and use it.
+ (ada_language_defn): Adjust.
+ * break-catch-syscall.c (catch_syscall_completer): Adjust
+ prototype and work with completion_tracker instead of VEC.
+ * breakpoint.c (condition_completer): Adjust prototype and work
+ with completion_tracker instead of VEC.
+ * c-lang.c (c_language_defn, cplus_language_defn)
+ (asm_language_defn, minimal_language_defn): Adjust to renames.
+ * cli/cli-cmds.c (complete_command): Rework using
+ completion_tracker. Catch exceptions when completing.
+ * cli/cli-decode.c (integer_unlimited_completer)
+ (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
+ with completion_tracker instead of VEC.
+ * command.h (struct completion_tracker): Forward declare.
+ (completer_ftype, completer_handle_brkchars_ftype): Change
+ types.
+ (complete_on_cmdlist, complete_on_enum): Adjust.
+ * completer.c: Include <algorithm>.
+ (struct gdb_completer_state): New.
+ (current_completion): New global.
+ (readline_line_completion_function): Delete.
+ (noop_completer, filename_completer)
+ (filename_completer_handle_brkchars, complete_files_symbols)
+ (linespec_location_completer): Adjust to work with a
+ completion_tracker instead of a VEC.
+ (string_or_empty): New.
+ (collect_explicit_location_matches): Adjust to work with a
+ completion_tracker instead of a VEC.
+ (explicit_location_completer): Rename to ...
+ (complete_explicit_location): ... this and adjust to work with a
+ completion_tracker instead of a VEC.
+ (location_completer): Adjust to work with a completion_tracker
+ instead of a VEC.
+ (add_struct_fields): Adjust to work with a completion_list instead
+ of VEC.
+ (expression_completer): Rename to ...
+ (complete_expression): ... this and adjust to work with a
+ completion_tracker instead of a VEC. Use complete_files_symbols.
+ (expression_completer): Reimplement on top of complete_expression.
+ (symbol_completer): Adjust to work with a completion_tracker
+ instead of a VEC.
+ (enum complete_line_internal_reason): Add describing comments.
+ (complete_line_internal_normal_command): Adjust to work with a
+ completion_tracker instead of a VEC.
+ (complete_line_internal): Rename to ...
+ (complete_line_internal_1): ... this and adjust to work with a
+ completion_tracker instead of a VEC. Assert TEXT is NULL in the
+ handle_brkchars phase.
+ (new_completion_tracker): Delete.
+ (complete_line_internal): Reimplement as TRY/CATCH wrapper around
+ complete_line_internal_1.
+ (free_completion_tracker): Delete.
+ (INITIAL_COMPLETION_HTAB_SIZE): New.
+ (completion_tracker::completion_tracker)
+ (completion_tracker::~completion_tracker): New.
+ (maybe_add_completion): Delete.
+ (completion_tracker::maybe_add_completion)
+ (completion_tracker::add_completion)
+ (completion_tracker::add_completions): New.
+ (throw_max_completions_reached_error): Delete.
+ (complete_line): Adjust to work with a completion_tracker instead
+ of a VEC. Don't create a completion_tracker_t or check for max
+ completions here.
+ (command_completer, command_completer_handle_brkchars)
+ (signal_completer, reg_or_group_completer_1)
+ (reg_or_group_completer, default_completer_handle_brkchars):
+ Adjust to work with a completion_tracker.
+ (gdb_completion_word_break_characters_throw): New.
+ (gdb_completion_word_break_characters): Reimplement.
+ (line_completion_function): Delete.
+ (completion_tracker::recompute_lowest_common_denominator)
+ (expand_preserving_ws)
+ (completion_tracker::build_completion_result)
+ (completion_result::completion_result)
+ (completion_result::completion_result)
+ (completion_result::~completion_result)
+ (completion_result::completion_result)
+ (completion_result::release_match_list, compare_cstrings)
+ (completion_result::sort_match_list)
+ (completion_result::reset_match_list)
+ (gdb_rl_attempted_completion_function_throw)
+ (gdb_rl_attempted_completion_function): New.
+ * completer.h (completion_list, struct completion_result)
+ (class completion_tracker): New.
+ (complete_line): Add completion_tracker parameter.
+ (readline_line_completion_function): Delete.
+ (gdb_rl_attempted_completion_function): New.
+ (noop_completer, filename_completer, expression_completer)
+ (location_completer, symbol_completer, command_completer)
+ (signal_completer, reg_or_group_completer): Update prototypes.
+ (completion_tracker_t, new_completion_tracker)
+ (make_cleanup_free_completion_tracker): Delete.
+ (enum maybe_add_completion_enum): Delete.
+ (maybe_add_completion): Delete.
+ (throw_max_completions_reached_error): Delete.
+ * corefile.c (complete_set_gnutarget): Adjust to work with a
+ completion_tracker instead of a VEC.
+ * cp-abi.c (cp_abi_completer): Adjust to work with a
+ completion_tracker instead of a VEC.
+ * d-lang.c (d_language_defn): Adjust.
+ * disasm.c (disassembler_options_completer): Adjust to work with a
+ completion_tracker instead of a VEC.
+ * f-lang.c (f_make_symbol_completion_list): Rename to ...
+ (f_collect_symbol_completion_matches): ... this. Adjust to work
+ with a completion_tracker instead of a VEC.
+ (f_language_defn): Adjust.
+ * go-lang.c (go_language_defn): Adjust.
+ * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
+ Adjust to work with a completion_tracker instead of a VEC.
+ * infrun.c (handle_completer): Likewise.
+ * interps.c (interpreter_completer): Likewise.
+ * interps.h (interpreter_completer): Likewise.
+ * language.c (unknown_language_defn, auto_language_defn)
+ (local_language_defn): Adjust.
+ * language.h (language_defn::la_make_symbol_completion_list):
+ Rename to ...
+ (language_defn::la_collect_symbol_completion_matches): ... this
+ and adjust to work with a completion_tracker instead of a VEC.
+ * m2-lang.c (m2_language_defn): Adjust.
+ * objc-lang.c (objc_language_defn): Adjust.
+ * opencl-lang.c (opencl_language_defn): Adjust.
+ * p-lang.c (pascal_language_defn): Adjust.
+ * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
+ (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
+ with a completion_tracker.
+ * rust-lang.c (rust_language_defn): Adjust.
+ * symtab.c (free_completion_list, do_free_completion_list)
+ (return_val, completion_tracker): Delete.
+ (completion_list_add_name, completion_list_add_symbol)
+ (completion_list_add_msymbol, completion_list_objc_symbol)
+ (completion_list_add_fields, add_symtab_completions): Add
+ completion_tracker parameter and use it.
+ (default_make_symbol_completion_list_break_on_1): Rename to...
+ (default_collect_symbol_completion_matches_break_on): ... this.
+ Add completion_tracker parameter and use it instead of allocating
+ a completion tracker here.
+ (default_make_symbol_completion_list_break_on): Delete old
+ implementation.
+ (default_make_symbol_completion_list): Delete.
+ (default_collect_symbol_completion_matches): New.
+ (make_symbol_completion_list): Delete.
+ (collect_symbol_completion_matches): New.
+ (make_symbol_completion_type): Rename to ...
+ (collect_symbol_completion_matches_type): ... this. Add
+ completion_tracker parameter and use it instead of VEC.
+ (make_file_symbol_completion_list_1): Rename to...
+ (collect_file_symbol_completion_matches): ... this. Add
+ completion_tracker parameter and use it instead of VEC.
+ (make_file_symbol_completion_list): Delete.
+ (add_filename_to_list): Use completion_list instead of a VEC.
+ (add_partial_filename_data::list): Now a completion_list.
+ (make_source_files_completion_list): Work with a completion_list
+ instead of a VEC.
+ * symtab.h: Include "completer.h".
+ (default_make_symbol_completion_list_break_on)
+ (default_make_symbol_completion_list, make_symbol_completion_list)
+ (make_symbol_completion_type, make_file_symbol_completion_list)
+ (make_source_files_completion_list): Delete.
+ (default_collect_symbol_completion_matches_break_on)
+ (default_collect_symbol_completion_matches)
+ (collect_symbol_completion_matches)
+ (collect_symbol_completion_matches_type)
+ (collect_file_symbol_completion_matches)
+ (make_source_files_completion_list): New.
+ * top.c (init_main): Don't install a rl_completion_entry_function
+ hook. Install a rl_attempted_completion_function hook instead.
+ * tui/tui-layout.c (layout_completer): Adjust to work with a
+ completion_tracker.
+ * tui/tui-regs.c (tui_reggroup_completer):
+ * tui/tui-win.c (window_name_completer, focus_completer)
+ (winheight_completer): Adjust to work with a completion_tracker.
+ * value.c: Include "completer.h".
+ (complete_internalvar): Adjust to work with a completion_tracker.
+ * value.h (complete_internalvar): Likewise.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
+ renames.
+ * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
+ comments to completer_ftype's declaration.
+ <completer_handle_brkchars>: Change type to
+ completer_handle_brkchars_ftype.
+ * command.h (completer_ftype): Add describing comment and give
+ names to parameters.
+ (completer_ftype_void): Rename to ...
+ (completer_handle_brkchars_ftype) ... this. Add describing comment.
+ (set_cmd_completer_handle_brkchars): Adjust.
+ * completer.c (filename_completer_handle_brkchars): New function.
+ (complete_line_internal_normal_command): New function, factored
+ out from ...
+ (complete_line_internal): ... here.
+ (command_completer_handle_brkchars)
+ (default_completer_handle_brkchars)
+ (completer_handle_brkchars_func_for_completer): New functions.
+ * completer.h (set_gdb_completion_word_break_characters): Delete
+ declaration.
+ (completer_handle_brkchars_func_for_completer): New declaration.
+ * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
+ completer_handle_brkchars_func_for_completer.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * completer.c (symbol_completer): New function, based on
+ make_symbol_completion_list_fn.
+ * completer.h (symbol_completer): New declaration.
+ * guile/scm-cmd.c (cmdscm_completers): Adjust.
+ * python/py-cmd.c (completers): Adjust.
+ * symtab.c (make_symbol_completion_list_fn): Delete.
+ * symtab.h (make_symbol_completion_list_fn): Delete.
+ * cli/cli-decode.c (add_cmd): Adjust.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
+ * dwarf2read.c: Include "filename-seen-cache.h".
+ * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
+ (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
+ * filename-seen-cache.c: New file.
+ * filename-seen-cache.h: New file.
+ * symtab.c: Include "filename-seen-cache.h".
+ (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
+ (create_filename_seen_cache, clear_filename_seen_cache)
+ (delete_filename_seen_cache, filename_seen): Delete, parts moved
+ to filename-seen-cache.h/filename-seen-cache.c.
+ (output_source_filename, sources_info)
+ (maybe_add_partial_symtab_filename)
+ (make_source_files_completion_list): Adjust to use
+ filename_seen_cache.
+
+2017-07-17 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
+ fields.
+ (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
+ dwarf2_debug_sections*)): New.
+ (dwarf2_per_objfile::dwarf2_per_objfile(const
+ dwarf2_per_objfile&)): Declare as deleted.
+ (dwarf2_per_objfile::operator=): Declare as deleted.
+ (dwarf2_per_objfile::dwarf2_per_objfile)
+ (dwarf2_per_objfile::~dwarf2_per_objfile)
+ (dwarf2_per_objfile::free_cached_comp_units): New.
+ (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
+ ctor. Call dwarf2_per_objfile's ctor manually.
+ (dwarf2_locate_sections): Deleted/refactored as ...
+ (dwarf2_per_objfile::locate_sections): ... this new method.
+ (free_cached_comp_units): Defer to
+ dwarf2_per_objfile::free_cached_comp_units.
+ (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
+
+2017-07-14 Tom Tromey <tom@tromey.com>
+
+ PR rust/21764:
+ * rust-exp.y (convert_ast_to_expression): Add "want_type"
+ parameter.
+ <UNOP_SIZEOF>: Split into separate case.
+ <UNOP_VAR_VALUE>: Handle want_type. Add error case.
+
+2017-07-14 Tom Tromey <tom@tromey.com>
+
+ PR rust/21763:
+ * symtab.c (symbol_matches_domain): Add language_rust to special
+ case.
+ * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
+ treat LOC_TYPEDEF symbols as variables.
+
+2017-07-14 Pedro Alves <palves@redhat.com>
+
+ * symtab.c (make_file_symbol_completion_list_1): Iterate over
+ symtabs matching all symtabs with SRCFILE as file name instead of
+ only considering the first hit, with lookup_symtab.
+
+2017-07-14 Simon Marchi <simon.marchi@ericsson.com>
+
+ * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
+ operator_name parameters.
+ (gen_expr): Update function call.
+
+2017-07-14 Simon Marchi <simon.marchi@ericsson.com>
+
+ * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
+ parameter.
+ * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
+ Likewise.
+ * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
+ parameter, use agent_expr::gdbarch instead, update function
+ calls.
+ (locexpr_tracepoint_var_ref): Likewise.
+ (loclist_tracepoint_var_ref): Likewise.
+ * ax-gdb.c (gen_trace_static_fields): Likewise.
+ (gen_traced_pop): Likewise.
+ (gen_frame_args_address): Likewise.
+ (gen_frame_locals_address): Likewise.
+ (gen_var_ref): Likewise.
+ (gen_struct_ref_recursive): Likewise.
+ (gen_static_field): Likewise.
+ (gen_maybe_namespace_elt): Likewise.
+ (gen_expr): Likewise.
+ (gen_trace_for_var): Likewise.
+ (gen_trace_for_expr): Likewise.
+ (gen_trace_for_return_address): Likewise.
+
+2017-07-14 Simon Marchi <simon.marchi@ericsson.com>
+
+ * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
+ parameter.
+ (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
+
+2017-07-14 Simon Marchi <simon.marchi@ericsson.com>
+
+ * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
+ from ax, update calls.
+ (gen_usual_arithmetic): Likewise.
+ (gen_integral_promotions): Likewise.
+ (gen_bitfield_ref): Likewise.
+ (gen_primitive_field): Likewise.
+ (gen_struct_ref_recursive): Likewise.
+ (gen_struct_ref): Likewise.
+ (gen_maybe_namespace_elt): Likewise.
+ (gen_struct_elt_for_reference): Likewise.
+ (gen_namespace_elt): Likewise.
+ (gen_aggregate_elt_ref): Likewise.
+ (gen_expr): Get gdbarch from ax, update calls.
+ (gen_expr_binop_rest): Likewise.
+
+2017-07-13 Pedro Alves <palves@redhat.com>
+
+ * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
+ as default tdesc.
+ * amd64-dicos-tdep.c (amd64_dicos_init_abi):
+ * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
+ * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
+ tdesc_amd64_linux as default tdesc. Get final tdesc from the
+ tdep.
+ (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
+ Get final tdesc from the tdep.
+ * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
+ default tdesc.
+ * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
+ * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
+ * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
+ Use it as default tdesc.
+ (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
+ down to amd_init_abi. No longer handle fallback tdesc here.
+ * amd64-tdep.h (tdesc_x32): Declare.
+ (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
+ parameter.
+ * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
+ as default tdesc.
+
+2017-07-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * s390-linux-tdep.c (s390_process_record): Add support for
+ instructions new in arch12.
+
+2017-07-11 John Baldwin <jhb@FreeBSD.org>
+
+ * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
+ PT_GETFSBASE and PT_GETGSBASE.
+ (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
+ PT_SETGSBASE.
+
+2017-07-11 John Baldwin <jhb@FreeBSD.org>
+
+ * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
+ (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
+ (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
+ those rules.
+ * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
+ * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
+ * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
+ * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
+ * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
+ * features/i386/amd64.xml: Add 64bit-segments.xml.
+ * features/i386/amd64-avx-avx512.c: Regenerated.
+ * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
+ * features/i386/amd64-avx-mpx.c: Regenerated.
+ * features/i386/amd64-avx.c: Regenerated.
+ * features/i386/amd64-mpx.c: Regenerated.
+ * features/i386/amd64.c: Regenerated.
+ * regformats/i386/amd64-avx-avx512.dat: Regenerated.
+ * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
+ * regformats/i386/amd64-avx-mpx.dat: Regenerated.
+ * regformats/i386/amd64-avx.dat: Regenerated.
+ * regformats/i386/amd64-mpx.dat: Regenerated.
+ * regformats/i386/amd64.dat: Regenerated.
+
+2017-07-10 Yao Qi <yao.qi@linaro.org>
+
+ * features/i386/amd64-avx-avx512-linux.c: Re-generated.
+ * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
+
+2017-07-10 Anton Kolesov <Anton.Kolesov@synopsys.com>
+
+ * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
+ unsetenv.
+ * gnulib/aclocal.m4: Regenerate.
+ * gnulib/config.in: Regenerate.
+ * gnulib/configure: Regenerate.
+ * gnulib/import/Makefile.am: Regenerate.
+ * gnulib/import/Makefile.in: Regenerate.
+ * gnulib/import/m4/gnulib-cache.m4: Regenerate.
+ * gnulib/import/m4/gnulib-comp.m4: Regenerate.
+ * gnulib/import/m4/environ.m4: New file.
+ * gnulib/import/m4/setenv.m4: New file.
+ * gnulib/import/setenv.c: New file.
+ * gnulib/import/unsetenv.c: New file.
+
+2017-07-09 Simon Marchi <simon.marchi@ericsson.com>
+
+ * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
+ address when op is DW_OP_addr.
+
+2017-07-09 Tom Tromey <tom@tromey.com>
+
+ * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
+ check and apply to outer type.
+
+2017-07-07 John Baldwin <jhb@FreeBSD.org>
+
+ * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
+ (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
+ (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
+ (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
+
+2017-07-07 John Baldwin <jhb@FreeBSD.org>
+
+ * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
+
2017-07-07 John Baldwin <jhb@FreeBSD.org>
* corelow.c (get_core_siginfo): Remove.