2012-04-18 Pedro Alves <palves@redhat.com>
[external/binutils.git] / gdb / ChangeLog
index f2db927..b1b5b79 100644 (file)
@@ -1,3 +1,484 @@
+2012-04-18  Pedro Alves  <palves@redhat.com>
+
+       Update gnulib from latest git.
+       (639ea5ae15e39fe48d43e04864b2997301e4b969)
+
+       * gnulib/Makefile.am: Update.
+       * gnulib/dummy.c: Update.
+       * gnulib/extra/arg-nonnull.h: Update.
+       * gnulib/extra/c++defs.h: Update.
+       * gnulib/extra/update-copyright: Update.
+       * gnulib/extra/warn-on-use.h: Update.
+       * gnulib/inttypes.in.h: Update.
+       * gnulib/m4/00gnulib.m4: Update.
+       * gnulib/m4/extensions.m4: Update.
+       * gnulib/m4/gnulib-cache.m4: Update.
+       * gnulib/m4/gnulib-common.m4: Update.
+       * gnulib/m4/gnulib-comp.m4: Update.
+       * gnulib/m4/gnulib-tool.m4: Update.
+       * gnulib/m4/include_next.m4: Update.
+       * gnulib/m4/inttypes-pri.m4: Update.
+       * gnulib/m4/inttypes.m4: Update.
+       * gnulib/m4/longlong.m4: Update.
+       * gnulib/m4/memchr.m4: Update.
+       * gnulib/m4/memmem.m4: Update.
+       * gnulib/m4/mmap-anon.m4: Update.
+       * gnulib/m4/multiarch.m4: Update.
+       * gnulib/m4/onceonly.m4: Update.
+       * gnulib/m4/stddef_h.m4: Update.
+       * gnulib/m4/stdint.m4: Update.
+       * gnulib/m4/string_h.m4: Update.
+       * gnulib/m4/warn-on-use.m4: Update.
+       * gnulib/m4/wchar_h.m4: Update.
+       * gnulib/m4/wchar_t.m4: Update.
+       * gnulib/m4/wint_t.m4: Update.
+       * gnulib/memchr.c: Update.
+       * gnulib/memmem.c: Update.
+       * gnulib/stddef.in.h: Update.
+       * gnulib/stdint.in.h: Update.
+       * gnulib/str-two-way.h: Update.
+       * gnulib/string.in.h: Update.
+       * gnulib/wchar.in.h: Update.
+
+       * gnulib/extra/arg-nonnull.h: Delete.
+       * gnulib/extra/c++defs.h: Delete.
+       * gnulib/extra/warn-on-use.h: Delete.
+       * gnulib/m4/wchar_h.m4: Delete.
+       * gnulib/m4/wint_t.m4: Delete.
+       * gnulib/wchar.in.h: Delete.
+
+       * gnulib/extra/snippets/arg-nonnull.h: New.
+       * gnulib/extra/snippets/c++defs.h: New.
+       * gnulib/extra/snippets/warn-on-use.h: New.
+
+       * aclocal.m4: Regenerate.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * gnulib/Makefile.in: Regenerate.
+
+       * gdbserver/aclocal.m4: Regenerate.
+       * gdbserver/config.in: Regenerate.
+       * gdbserver/configure: Regenerate.
+
+2012-04-18  Pedro Alves  <palves@redhat.com>
+
+       Reimport the update-copyright module from gnulib
+       (250b80067c1e1d8faa0c42fb572f721975b929c5).
+
+       * configure: Regenerate.
+       * gnulib/Makefile.am: Update.
+       * gnulib/Makefile.in: Regenerate.
+       * gnulib/extra/update-copyright: Update.
+       * gnulib/m4/gnulib-cache.m4: Update.
+       * gnulib/m4/gnulib-comp.m4: Update.
+
+2012-04-18  Tristan Gingold  <gingold@adacore.com>
+
+       * configure.ac (aix): Put -lpthread into libs.
+       * configure: Regenerate.
+
+2012-04-18  Tom Tromey  <tromey@redhat.com>
+
+       * linespec.c (convert_linespec_to_sals): Don't use
+       SYMBOL_OBJ_SECTION.
+       (compare_msymbols): Arguments are minsym_and_objfile, not
+       minimal_symbol*.  Don't use SYMBOL_OBJ_SECTION.
+
+2012-04-18  Pedro Alves  <palves@redhat.com>
+
+       Revert gnulib/ part of:
+       2011-01-01  Joel Brobecker  <brobecker@adacore.com>
+       Copyright year update in most files (performed by copyright.sh).
+
+2012-04-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Fix 64-bit constants on 32-bit hosts.
+       * dwarf2read.c (read_unsigned_leb128): Change declaration return type
+       from unsigned long to ULONGEST.
+       (read_signed_leb128): Change declaration return type from long to
+       LONGEST.
+       (dwarf2_const_value_attr): Change declaration parameter value from long
+       to LONGEST.
+       (dwarf2_compute_name): Change variable value from long to LONGEST.
+       (read_unsigned_leb128): Change return type, variable result and some
+       casts from unsigned long to ULONGEST.
+       (read_signed_leb128): Change return type, variable result and some
+       casts from long to LONGEST.
+       (dwarf2_const_value_data, dwarf2_const_value_attr): Change parameter
+       value from long to LONGEST.
+       (dwarf2_const_value): Change variable value from long to LONGEST.
+       * symmisc.c (print_symbol): Change SYMBOL_VALUE format strings to use
+       plongest and hex_string.
+       * symtab.h (struct general_symbol_info): Change ivalue from long to
+       LONGEST, remove the comment.
+       * tracepoint.c (validate_actionline, collect_symbol, scope_info):
+       Change SYMBOL_VALUE format strings to use plongest and hex_string.
+
+2012-04-18  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+       PR symtab/7259:
+       * ada-exp.y (convert_char_literal): Use TYPE_FIELD_ENUMVAL.
+       * ada-lang.c (ada_discrete_type_high_bound)
+       (ada_discrete_type_low_bound): Fix function comment.  Use
+       TYPE_FIELD_ENUMVAL for TYPE_CODE_ENUM.
+       (ada_identical_enum_types_p): Use TYPE_FIELD_ENUMVAL.
+       (pos_atr, value_val_atr): Use TYPE_FIELD_ENUMVAL for TYPE_CODE_ENUM.
+       * ada-typeprint.c (print_enum_type): Change variable lastval to LONGEST.
+       Use TYPE_FIELD_ENUMVAL.
+       * ada-valprint.c (print_optional_low_bound, ada_print_scalar)
+       (ada_val_print_1): Use TYPE_FIELD_ENUMVAL for TYPE_CODE_ENUM.
+       * c-typeprint.c (c_type_print_base): Move variable lastval to inner
+       block, change it to LONGEST.  Use TYPE_FIELD_ENUMVAL for
+       TYPE_CODE_ENUM.
+       * coffread.c (coff_read_enum_type): Use SET_FIELD_ENUMVAL.
+       * dwarf2read.c (process_enumeration_scope): Likewise.
+       * gdb-gdb.py (TypeFlagsPrinter): Use field.enumval instead of
+       field.bitpos.
+       (class StructMainTypePrettyPrinter): Support also
+       FIELD_LOC_KIND_ENUMVAL.
+       * gdbtypes.c (get_discrete_bounds): Use TYPE_FIELD_ENUMVAL for
+       TYPE_CODE_ENUM.
+       (recursive_dump_type): Use TYPE_FIELD_ENUMVAL for TYPE_CODE_ENUM.
+       (copy_type_recursive): Support also FIELD_LOC_KIND_ENUMVAL.
+       * gdbtypes.h (enum field_loc_kind): New FIELD_LOC_KIND_ENUMVAL.
+       (struct main_type.flds_bnds.fields.loc): Adjust bitpos comment.  New
+       field enumval.
+       (struct main_type.flds_bnds.bields): Adjust loc_kind and bitsize to
+       accommodate enumval.
+       (struct call_site): Adjust loc_kind to accommodate enumval.
+       (FIELD_ENUMVAL, FIELD_ENUMVAL_LVAL, SET_FIELD_ENUMVAL)
+       (TYPE_FIELD_ENUMVAL): New macros.
+       * m2-typeprint.c (m2_enum): Use TYPE_FIELD_ENUMVAL.
+       * mdebugread.c (parse_symbol): Use TYPE_FIELD_ENUMVAL for
+       TYPE_CODE_ENUM.
+       * p-typeprint.c (pascal_type_print_base): Likewise.
+       * python/lib/gdb/printing.py (class FlagEnumerationPrinter): Use
+       enumval.
+       * python/lib/gdb/types.py (make_enum_dict): Likewise.
+       * python/py-type.c (convert_field): New variable addrstring.  Use
+       TYPE_FIELD_ENUMVAL for TYPE_CODE_ENUM.
+       (check_types_equal): Support also FIELD_LOC_KIND_ENUMVAL.
+       * stabsread.c (read_enum_type): Use SET_FIELD_ENUMVAL.
+       * typepint.c (print_type_scalar): Use TYPE_FIELD_ENUMVAL for
+       TYPE_CODE_ENUM.
+       * valprint.c (generic_val_print): Likewise.
+
+2012-04-17  Doug Evans  <dje@google.com>
+
+       * dwarf2read.c (lookup_signatured_type): Return NULL instead of 0.
+
+       * dwarf2read.c: Whitespace fixes.
+       (lookup_signatured_type): Tweak comment.
+       (get_die_type_at_offset): Fix comment.
+
+2012-04-17  Joel Brobecker  <brobecker@adacore.com>
+
+       * xcoffread.c (xcoff_secnum_to_sections): New function.
+       (secnum_to_section, secnum_to_bfd_section): Reimplement
+       using xcoff_secnum_to_sections.  Rename "secnum" parameter
+       into "n_scnum".
+       (RECORD_MINIMAL_SYMBOL): Delete.
+       (record_minimal_symbol): New function.
+       (scan_xcoff_symtab): Replace uses of RECORD_MINIMAL_SYMBOL
+       by call to record_minimal_symbol and set misc_func_recorded
+       to 1.  Set last_csect_sec to the XCOFF section index instead
+       of GDB's section_offset index.  Update calls to
+       prim_record_minimal_symbol_and_info to pass the BFD section
+       as well.
+
+2012-04-17  Joel Brobecker  <brobecker@adacore.com>
+
+       * xcoffread.c (read_xcoff_symtab): Delete variables
+       last_csect_val and last_csect_sec and associated code.
+
+2012-04-17  Doug Evans  <dje@google.com>
+
+       * cleanups.c (make_my_cleanup,make_my_cleanup2): Make static.
+       (discard_my_cleanups,save_my_cleanups,restore_my_cleanups): Ditto.
+       * cleanups.h (make_my_cleanup,make_my_cleanup2): Delete
+       (discard_my_cleanups,save_my_cleanups,restore_my_cleanups): Delete.
+
+       * cleanups.h: New file.
+       * cleanups.c: New file.
+       * Makefile.in (SFILES): Add cleanups.c.
+       (HFILES_NO_SRCDIR): Add cleanups.h.
+       (COMMON_OBS): Add cleanups.o.
+       * defs.h (struct cleanup): Moved to cleanups.h.
+       (do_cleanups,do_final_cleanups): Ditto.
+       (discard_cleanups,discard_final_cleanups): Ditto
+       (make_cleanup,make_cleanup_dtor,make_final_cleanup): Ditto.
+       (save_cleanups,save_final_cleanups): Ditto.
+       (restore_cleanups,restore_final_cleanups): Ditto.
+       (null_cleanup): Ditto.
+       (make_my_cleanup,make_my_cleanup2): Ditto.
+       (discard_my_cleanups,save_my_cleanups,restore_my_cleanups): Ditto.
+       * utils.c (cleanup_chain,final_cleanup_chain): Moved to cleanups.c.
+       (do_cleanups,do_final_cleanups): Ditto.
+       (discard_cleanups,discard_final_cleanups): Ditto
+       (make_cleanup,make_cleanup_dtor,make_final_cleanup): Ditto.
+       (save_cleanups,save_final_cleanups): Ditto.
+       (restore_cleanups,restore_final_cleanups): Ditto.
+       (null_cleanup): Ditto.
+       (make_my_cleanup,make_my_cleanup2): Ditto.
+       (discard_my_cleanups,save_my_cleanups,restore_my_cleanups): Ditto.
+
+       * utils.c (make_cleanup_freeargv): Use make_cleanup instead of
+       make_my_cleanup.
+       (make_cleanup_dyn_string_delete): Ditto.
+       (make_cleanup_ui_file_delete): Ditto.
+       (make_cleanup_ui_out_redirect_pop): Ditto.
+       (make_cleanup_free_section_addr_info): Ditto.
+       (make_cleanup_restore_integer): Ditto.
+       (make_cleanup_unpush_target): Ditto.
+       (make_cleanup_value_free_to_mark): Ditto.
+       (make_cleanup_value_free): Ditto.
+       (make_cleanup_free_so): Ditto.
+
+2012-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       New option "set debug auto-load".
+       * NEWS: New commands "set debug auto-load" and "show debug auto-load".
+       * auto-load.c (debug_auto_load, show_debug_auto_load: New.
+       (auto_load_safe_path_vec_update)
+       (filename_is_in_auto_load_safe_path_vec): Call fprintf_unfiltered
+       if DEBUG_AUTO_LOAD.
+       (file_is_auto_load_safe): New parameters debug_fmt and ....
+       Call fprintf_unfiltered if DEBUG_AUTO_LOAD.
+       (source_gdb_script_for_objfile): Extend the file_is_auto_load_safe
+       caller by explanatory string.
+       (_initialize_auto_load): Register "set debug auto-load".
+       * auto-load.h (file_is_auto_load_safe): New parameters debug_fmt
+       and ....
+       * linux-thread-db.c (try_thread_db_load_from_pdir_1)
+       (try_thread_db_load_from_dir): Extend the file_is_auto_load_safe caller
+       by explanatory string.
+       * main.c (captured_main): Likewise.
+       * python/py-auto-load.c (gdbpy_load_auto_script_for_objfile)
+       (source_section_scripts): Likewise.
+
+2012-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       New option "set auto-load safe-path".
+       * NEWS: New commands "set auto-load safe-path"
+       and "show auto-load safe-path".
+       * auto-load.c: Include gdb_vecs.h, readline/tilde.h and completer.h.
+       (auto_load_safe_path, auto_load_safe_path_vec)
+       (auto_load_safe_path_vec_update, set_auto_load_safe_path)
+       (show_auto_load_safe_path, add_auto_load_safe_path, filename_is_in_dir)
+       (filename_is_in_auto_load_safe_path_vec, file_is_auto_load_safe): New.
+       (source_gdb_script_for_objfile): New variable is_safe.  Call
+       file_is_auto_load_safe.  Return if it is not.
+       (struct loaded_script): New field loaded.
+       (maybe_add_script): Add parameter loaded.  Initialize SLOT with it.
+       (print_script): Use LOADED indicator instead of FULL_PATH.  Change
+       output "Missing" to "No".
+       (_initialize_auto_load): New variable cmd.  Initialize
+       auto_load_safe_path.  Register "set auto-load safe-path",
+       "show auto-load safe-path" and "add-auto-load-safe-path".
+       * auto-load.h (maybe_add_script): Add parameter loaded.
+       (file_is_auto_load_safe): New declaration.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: New parameters --with-auto-load-safe-path
+       and --without-auto-load-safe-path.
+       * linux-thread-db.c (try_thread_db_load_from_pdir_1)
+       (try_thread_db_load_from_dir): Check file_is_auto_load_safe first.
+       * main.c (captured_main): Check file_is_auto_load_safe for
+       LOCAL_GDBINIT.
+       * python/py-auto-load.c (gdbpy_load_auto_script_for_objfile): New
+       variable is_safe.  Call file_is_auto_load_safe.  Return if it is not.
+       (source_section_scripts): Call file_is_auto_load_safe.  Return if it is
+       not.
+
+2012-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       auto-load: Implementation.
+       * NEWS: New descriptions for "info auto-load",
+       "info auto-load gdb-scripts", "info auto-load python-scripts",
+       "info auto-load local-gdbinit" and "info auto-load libthread-db".
+       Deprecate "info auto-load-scripts", "set auto-load-scripts on|off"
+       and "show auto-load-scripts".  New description for "set auto-load",
+       "show auto-load", "set auto-load gdb-scripts",
+       "show auto-load gdb-scripts", "set auto-load python-scripts",
+       "show auto-load python-scripts", "set auto-load local-gdbinit",
+       "show auto-load local-gdbinit", "set auto-load libthread-db" and
+       "show auto-load libthread-db".
+       * auto-load.c: Remove include python/python-internal.h.  Add includes
+       exceptions.h, cli/cli-script.h, gdbcmd.h, cli/cli-decode.h and
+       cli/cli-setshow.h.
+       (GDB_AUTO_FILE_NAME, source_gdb_script_for_objfile)
+       (auto_load_gdb_scripts, show_auto_load_gdb_scripts): New.
+       (gdbpy_global_auto_load): Rename to ...
+       (global_auto_load): ... here.
+       (auto_load_local_gdbinit, auto_load_local_gdbinit_pathname)
+       (auto_load_local_gdbinit_loaded, show_auto_load_local_gdbinit)
+       (script_language_gdb, source_gdb_script_for_objfile): New.
+       (struct loaded_script): New field language.
+       (hash_loaded_script_entry, eq_loaded_script_entry): Calculate also
+       LANGUAGE.
+       (maybe_add_script): Add parameter language.  Drop redundant
+       entry.full_path initialization.  Initialize entry.language and
+       (*slot)->language.
+       (auto_load_objfile_script): Change parameter suffix to language.
+       Remove the call of maybe_add_script.
+       Call language->source_script_for_objfile.
+       (load_auto_scripts_for_objfile, struct collect_matching_scripts_data):
+       New.
+       (collect_matching_scripts): Adjust it for
+       struct collect_matching_scripts_data.
+       (auto_load_info_scripts_pattern_nl): New variable.
+       (info_auto_load_scripts): Rename to ...
+       (auto_load_info_scripts): ... here, add parameter language.  Adjust it
+       for struct collect_matching_scripts_data.
+       (info_auto_load_gdb_scripts, info_auto_load_local_gdbinit)
+       (set_auto_load_cmd, auto_load_set_cmdlist_get, show_auto_load_cmd)
+       (auto_load_show_cmdlist_get, info_auto_load_cmd)
+       (auto_load_info_cmdlist_get): New.
+       (_initialize_auto_load): Move add_info of "auto-load-scripts" to
+       python/py-auto-load.c.  New installment for "set auto-load gdb-scripts",
+       "info auto-load gdb-scripts", "set auto-load local-gdbinit" and
+       "info auto-load local-gdbinit".
+       * auto-load.h (struct script_language): New.
+       (gdbpy_global_auto_load): Rename to ...
+       (global_auto_load): ... here.
+       (auto_load_local_gdbinit, auto_load_local_gdbinit_pathname)
+       (auto_load_local_gdbinit_loaded): New declarations.
+       (maybe_add_script): New parameter language.
+       (auto_load_objfile_script): Change parameter suffix to language.
+       (load_auto_scripts_for_objfile, auto_load_info_scripts_pattern_nl)
+       (auto_load_info_scripts, auto_load_set_cmdlist_get)
+       (auto_load_show_cmdlist_get, auto_load_info_cmdlist_get): New
+       declarations.
+       * linux-thread-db.c: Include auto-load.h and ctype.h.
+       (auto_load_thread_db, show_auto_load_thread_db): New.
+       (struct thread_db_info): New field filename.
+       (delete_thread_db_info): Call xfree for FILENAME.
+       (try_thread_db_load): Initialize FILENAME.
+       (try_thread_db_load_from_pdir, try_thread_db_load_from_dir): Return
+       if !AUTO_LOAD_THREAD_DB.
+       (info_auto_load_libthread_db_compare, info_auto_load_libthread_db): New.
+       (_initialize_thread_db): Install auto_load_thread_db
+       as "set auto-load libthread-db" and install info_auto_load_libthread_db
+       as "info auto-load libthread-db".
+       * main.c (captured_main): Rename gdbpy_global_auto_load to
+       global_auto_load.  Initialize AUTO_LOAD_LOCAL_GDBINIT_PATHNAME and
+       AUTO_LOAD_LOCAL_GDBINIT_LOADED.
+       (print_gdb_help): Extend the help for 'local init file'.
+       * python/py-auto-load.c: Remove a comment about gdb scripts extension.
+       (GDBPY_AUTO_SECTION_NAME): Extend the comment it is Python specific.
+       (auto_load_scripts): Rename to ...
+       (auto_load_python_scripts): ... here, update the comment.
+       (gdbpy_load_auto_script_for_objfile): New declaration.
+       (show_auto_load_python_scripts, script_language_python)
+       (gdbpy_load_auto_script_for_objfile): New.
+       (source_section_scripts): Refactor the code.
+       (load_auto_scripts_for_objfile): Rename to ...
+       (gdbpy_load_auto_scripts_for_objfile): ... here, update the
+       auto_load_objfile_script caller, drop GDBPY_GLOBAL_AUTO_LOAD checking.
+       (info_auto_load_python_scripts): New.
+       (gdbpy_initialize_auto_load): New variables cmd and cmd_name.
+       Rename "set auto-load-scripts" to "set auto-load python-scripts".
+       Register "set auto-load-scripts" as its deprecated alias.  Register
+       "info auto-load python-scripts".  Register "info auto-load-scripts" as
+       its deprecated alias.
+       (load_auto_scripts_for_objfile): Rename to ...
+       (gdbpy_load_auto_scripts_for_objfile): ... here.
+       * python/python.h (load_auto_scripts_for_objfile): Rename to ...
+       (gdbpy_load_auto_scripts_for_objfile): ... here.
+
+2012-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       auto-load: Move files.
+       * Makefile.in (SFILES): Add auto-load.c.
+       (HFILES_NO_SRCDIR): Add auto-load.h.
+       (COMMON_OBS): Add auto-load.o.
+       (distclean): Change .gdbinit for gdb-gdb.gdb.
+       * auto-load.c: New file, with parts from python/py-auto-load.c.
+       * auto-load.h: New file, with parts from python/python.h.
+       * configure: Regenerate.
+       * configure.ac (AC_OUTPUT): Change .gdbinit for gdb-gdb.gdb.
+       * gdb-gdb.gdb.in: New file, renamed from gdbinit.in.
+       * gdbinit.in: Remove file, rename it to gdb-gdb.gdb.in.
+       * main.c: Include auto-load.h.
+       * python/py-auto-load.c: Move include filenames.h, gdb_regex.h,
+       command.h, observer.h and progspace.h to auto-load.c.  Add include
+       auto-load.h.
+       (gdbpy_global_auto_load, struct auto_load_pspace_info)
+       (struct loaded_script, auto_load_pspace_data)
+       (auto_load_pspace_data_cleanup, get_auto_load_pspace_data)
+       (hash_loaded_script_entry, eq_loaded_script_entry)
+       (init_loaded_scripts_info, get_auto_load_pspace_data_for_loading)
+       (maybe_add_script): Move to auto-load.c.
+       (source_section_scripts): Change maybe_add_script parameters passing,
+       use script_not_found_warning_print.
+       (clear_section_scripts, auto_load_objfile_script)
+       (auto_load_new_objfile, loaded_script_ptr)
+       (DEF_VEC_P (loaded_script_ptr), collect_matching_scripts, print_script)
+       (sort_scripts_by_name, info_auto_load_scripts): Move to auto-load.c.
+       (gdbpy_initialize_auto_load): Move auto_load_pspace_data,
+       auto_load_new_objfile and info_auto_load_scripts initizations to
+       auto-load.c.
+       * python/python.h (gdbpy_global_auto_load): Move to auto-load.h.
+
+2012-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Code cleanup.
+       * charset.c (find_charset_names): Remove variables ix and elt.
+       Use free_char_ptr_vec.
+       * elfread.c (build_id_to_debug_filename): New variables debugdir_vec,
+       back_to and ix.  Use dirnames_to_char_ptr_vec.  Remove variable
+       debugdir_end.  New variable debugdir_len.
+       * gdb_vecs.h (free_char_ptr_vec, make_cleanup_free_char_ptr_vec)
+       (dirnames_to_char_ptr_vec_append, dirnames_to_char_ptr_vec): New
+       declarations.
+       * progspace.c (clear_program_space_solib_cache): Remove variables ix
+       and elt.  Use free_char_ptr_vec.
+       * source.c (add_path): Remove variables argv, arg and argv_index.
+       New variables dir_vec, back_to, ix and name.
+       Use dirnames_to_char_ptr_vec_append.  Use freeargv instead of
+       make_cleanup_freeargv.  Remove variable separator.  Simplify the code
+       no longer expecting DIRNAME_SEPARATOR.
+       (openp): Remove variable p, p1 and len.  New variables dir_vec,
+       back_to, ix and dir.  Use dirnames_to_char_ptr_vec.  Simplify the code
+       no longer expecting DIRNAME_SEPARATOR.
+       * symfile.c (find_separate_debug_file): New variables debugdir_vec,
+       back_to and ix.  Use dirnames_to_char_ptr_vec.  Remove variable
+       debugdir_end.
+       * utils.c (free_char_ptr_vec, do_free_char_ptr_vec)
+       (make_cleanup_free_char_ptr_vec, dirnames_to_char_ptr_vec_append)
+       (dirnames_to_char_ptr_vec): New functions.
+
+2012-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Code cleanup.
+       * source.c (add_path): Remove always true conditional 'p == 0' and
+       unindent its code block.
+
+2012-04-17  Pedro Alves  <palves@redhat.com>
+
+       * gdbtypes.h (FIELD_BITPOS): Rename to ...
+       (FIELD_BITPOS_LVAL): ... this.
+       (FIELD_BITPOS): New.
+       (SET_FIELD_BITPOS): Adjust to use FIELD_BITPOS_LVAL.
+       * dwarf2read.c (dwarf2_add_field): Use SET_FIELD_BITPOS.
+       * gdbtypes.c (append_composite_type_field_aligned): Adjust to use
+       SET_FIELD_BITPOS.
+       * gnu-v3-abi.c (build_gdb_vtable_type): Adjust to use
+       SET_FIELD_BITPOS.
+       * stabsread.c (read_cpp_abbrev, read_one_struct_field)
+       (read_baseclasses): Adjust to use SET_FIELD_BITPOS.
+       * target-descriptions.c (tdesc_gdb_type): Adjust to use
+       SET_FIELD_BITPOS.
+
+2012-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Do not rely on FIELD_LOC_KIND_BITPOS being zero.
+       * ada-lang.c (ada_template_to_fixed_record_type_1): Replace
+       TYPE_FIELD_BITPOS used as lvalue by SET_FIELD_BITPOS.
+       * gdbtypes.c (append_flags_type_flag): Likewise, twice.
+       * jv-lang.c (java_link_class_type): Likewise, once.
+       * stabsread.c (read_enum_type): Likewise.
+
 2012-04-16  Yao Qi  <yao@codesourcery.com>
 
        * common/agent.c (agent_run_command): Add one more parameter `len'.