+
+ * argv.c (dupargv): Allocate space of argv[argc], not
+ sizeof(char *) of that amount. Cast result to char *.
+
+
+ * regex.c (wcs_re_match_2_internal, byte_re_match_2_internal):
+ Replace not with negate.
+
+
+ * configure.ac: Check declarations for basename, ffs, asprintf,
+ vasprintf.
+ * configure: Regenerate.
+ * config.in: Likewise.
+
+
+ * Makefile.in (CFILES): Add fopen_unlocked.c.
+ (REQUIRED_OFILES): Add ./fopen_unlocked.o.
+ Regenerate dependencies.
+
+ * configure.ac: Check for stdio_ext.h and __fsetlocking.
+
+ * fopen_unlocked.c: New file.
+
+ * functions.texi, configure, config.in: Regenerate.
+
+
+ * testsuite/test-pexecute.c (TEST_PEX_RUN): Move variable
+ declaration before statement.
+
+
+ * bcmp.c: Fix warnings and implement using memcmp.
+ * bcopy.c: Fix warnings.
+ * bzero.c: Fix warnings and implement using memset.
+
+ * configure.ac (ac_libiberty_warn_cflags): Add -Wwrite-strings
+ -Wstrict-prototypes.
+ * configure, config.in: Regenerate.
+
+ * bsearch.c, index.c, rindex.c, strstr.c, strtol.c, waitpid.c: Fix
+ warnings and reconcile interfaces with relevant standards.
+
+
+ * cp-demangle.c: Update copyright.
+
+
+ * gettimeofday.c: Add "Supplemental" to @deftypefn.
+ * functions.texi: Regenerate.
+
+
+ * pex-common.c: New file.
+ * pex-one.c: New file.
+ * pexecute.c: New file.
+ * pex-common.h: Include <stdio.h>.
+ (struct pex_obj): Define.
+ (struct pex_funcs): Define.
+ (pex_init_common): Declare.
+ * pex-unix.c: Rewrite.
+ * pex-win32.c: Rewrite.
+ * pex-djgpp.c: Rewrite.
+ * pex-msdos.c: Rewrite.
+ * testsuite/text-pexecute.c: New file.
+ * pexecute.txh: Rewrite.
+ * configure.ac: Check for wait3 and wait4. Set CHECK to
+ really-check rather than check-cplus-dem.
+ * functions.texi: Rebuild.
+ * Makefile.in: Rebuild dependencies.
+ (CFILES): Add pexecute.c, pex-common.c, pex-one.c.
+ (REQUIRED_OFILES): Add pexecute.o, pex-common.o, pex-one.o.
+ * testsuite/Makefile.in (really-check): New target.
+ (check-pexecute, test-pexecute): New targets.
+ * configure: Rebuild.
+
+
+ * unlink-if-ordinary.c: Include <sys/types.h>.
+
+
+ Convert libiberty to use ISO C prototype style 7/n.
+ * regex.c (PARAMS): Remove definition.
+ (PREFIX): Unconditionaly define using ISO C ## operator.
+ (init_syntax_once, extract_number, extract_number_and_incr,
+ print_fastmap, print_partial_compiled_pattern,
+ print_compiled_pattern, print_double_string, printchar,
+ convert_mbs_to_wcs, re_set_syntax, regex_grow_registers,
+ regex_compile, store_op1, store_op2, insert_op1, insert_op2,
+ at_begline_loc_p, at_endline_p, group_in_compile_stack,
+ insert_space, wcs_compile_range, byte_compile_range,
+ truncate_wchar, re_compile_fastmap, re_compile_fastmap,
+ re_set_registers, re_search, re_search_2, re_search_3, re_match,
+ re_match_2, count_mbs_length, wcs_re_match_2_internal,
+ byte_re_match_2_internal, group_match_null_string_p,
+ alt_match_null_string_p, common_op_match_null_string_p,
+ bcmp_translate, re_compile_pattern, re_comp, re_exec, regcomp,
+ regexec, regerror, regfree): Use ISO C prototype style.
+ * partition.c: (elem_compare): Likewise.
+ * cp-demangle.c (print_usage): Likewise.
+
+
+ Convert libiberty to use ISO C prototype style 5/n.
+ * random.c (srandom, initstate, setstate, random): Use ISO C
+ prototypes.
+ * putenv.c (putenv): Likewise.
+ * physmem.c (physmem_available, physmem_total, main): Likewise.
+ * pex-win32.c (fix_argv, pexecute, pwait): Likewise.
+ * pex-unix.c (pexecute, pwait): Likewise.
+ * pex-msdos.c (pexecute, pwait): Likewise.
+ * pex-djgpp.c (pexecute, pwait): Likewise.
+ * partition.c (partition_new, partition_delete, partition_union)
+ (elem_compare, partition_print): Likewise.
+ * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
+ _obstack_allocated_p, _obstack_free, obstack_free,
+ _obstack_memory_used, print_and_abort, obstack_next_free,
+ obstack_object_size, obstack_base): Likewise. Remove codes
+ predicated on !defined(__STDC__).
+ * objalloc.c (objalloc_create, _objalloc_alloc, objalloc_free,
+ objalloc_free_block): Use ISO C prototypes.
+ * mkstemps.c (mkstemps): Likewise.
+ * memset.c (memset): Likewise.
+ * mempcpy.c (mempcpy): Likewise.
+ * rename.c (rename): Likewise.
+ * rindex.c (rindex): Likewise.
+ * setenv.c (setenv, unsetenv): Likewise.
+ * sigsetmask.c (sigsetmask): Likewise.
+ * snprintf.c (snprintf): Likewise.
+ * sort.c (sort_pointers, xmalloc): Likewise.
+ * spaces.c (spaces): Likewise.
+ * splay-tree.c (splay_tree_delete_helper,
+ splay_tree_splay_helper, splay_tree_splay,
+ splay_tree_foreach_helper, splay_tree_xmalloc_allocate,
+ splay_tree_new, splay_tree_xmalloc_allocate,
+ splay_tree_new_with_allocator, splay_tree_delete,
+ splay_tree_insert, splay_tree_remove, splay_tree_lookup,
+ splay_tree_max, splay_tree_min, splay_tree_predecessor,
+ splay_tree_successor, splay_tree_foreach,
+ splay_tree_compare_ints, splay_tree_compare_pointers): Likewise.
+ * stpcpy.c (stpcpy): Likewise.
+ * stpncpy.c (stpncpy): Likewise.
+ * strcasecmp.c (strcasecmp): Likewise.
+ * strchr.c (strchr): Likewise.
+ * strdup.c (strdup): Likewise.
+
+
+ Convert libiberty to use ISO C prototype style 6/n.
+ * strerror.c (init_error_tables, errno_max, strerror, strerrno,
+ strtoerrno, main): Use ISO C prototype style.
+ * strncasecmp.c (strncasecmp): Likewise.
+ * strncmp.c (strncmp): Likewise.
+ * strndup.c (strndup): Likewise.
+ * strrchr.c (strrchr): Likewise.
+ * strsignal.c (init_signal_tables, signo_max, strsignal,
+ strsigno, strtosigno, psignal, main): Likewise.
+ * strstr.c (strstr): Likewise.
+ * strtod.c (strtod, atof): Likewise.
+ * strtol.c (strtol): Likewise.
+ * strtoul.c (strtoul): Likewise.
+ * ternary.c (ternary_insert, ternary_cleanup, ternary_search,
+ ternary_recursivesearch): Likewise.
+ * tmpnam.c (tmpnam): Likewise.
+ * unlink-if-ordinary.c (unlink_if_ordinary): Likewise.
+ * vasprintf.c (int_vasprintf, vasprintf, checkit, main): Likewise.
+ * vfork.c (vfork): Likewise.
+ * vfprintf.c (vfprintf): Likewise.
+ * vprintf.c (vprintf): Likewise.
+ * vsnprintf.c (vsnprintf, checkit, main): Likewise.
+ * vsprintf.c (vsprintf): Likewise.
+ * waitpid.c (waitpid): Likewise.
+ * xatexit.c (xatexit, xatexit_cleanup): Likewise.
+ * xexit.c (xexit): Likewise.
+ * xmalloc.c (xmalloc_set_program_name, xmalloc_failed, xmalloc,
+ xcalloc, xrealloc): Likewise.
+ * xmemdup.c (xmemdup): Likewise.
+ * xstrdup.c (xstrdup): Likewise.
+ * xstrerror.c (xstrerror): Likewise.
+ * xstrndup.c (xstrndup): Likewise.
+
+
+ * configure.ac (ac_c_preproc_warn_flag): Remove -Wtraditional
+ flags.
+ * configure: Regenerated.
+
+
+ * getopt1.c (getopt_long_only): Fix thinko.
+
+
+ Convert libiberty to use ISO C prototype style 4/n.
+ * hashtab.c (higher_prime_index, hash_pointer, eq_pointer,
+ htab_size, htab_elements, htab_mod_1, htab_mod, htab_mod_m2,
+ htab_create_alloc, htab_set_functions_ex, htab_create,
+ htab_try_create, htab_delete, htab_empty,
+ find_empty_slot_for_expand, htab_expand, htab_find_with_hash,
+ htab_find, htab_find_slot_with_hash, htab_find_slot,
+ htab_remove_elt, htab_remove_elt_with_hash, htab_clear_slot,
+ htab_traverse_noresize, htab_traverse, htab_collisions,
+ htab_hash_string, iterative_hash): Use ISO C prototype.
+ * hex.c (hex_init): Likewise.
+ * index.c (index): Likewise.
+ * insque.c (insque, remque): Likewise.
+ * lbasename.c (lbasename): Likewise.
+ * lrealpath.c (lrealpath): Likewise.
+ * make-relative-prefix.c (save_string, split_directories,
+ free_split_directories, make_relative_prefix): Likewise.
+ * make-temp-file.c (try, choose_tmpdir, make_temp_file): Likewise.
+ * md5.c (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
+ md5_buffer, md5_process_bytes, md5_process_block): Likewise.
+ * memchr.c (memchr): Likewise.
+ * memcpy.c (memcpy): Likewise.
+ * memmove.c (memmove): Likewise.
+ * gettimeofday.c (gettimeofday): Likewise.
+ * getruntime.c (get_run_time): Likewise.
+ * getpwd.c (getpwd, getpwd): Likewise.
+ * getpagesize.c (getpagesize): Likewise.
+ * getopt1.c (getopt_long, getopt_long_only, main): Likewise.
+ * getopt.c (my_index, exchange, _getopt_initialize,
+ _getopt_internal, getopt, main): Likewise.
+ * getcwd.c (getcwd): Likewise.
+ * fnmatch.c (fnmatch): Likewise.
+ * floatformat.c (floatformat_always_valid,
+ floatformat_i387_ext_is_valid, get_field, floatformat_to_double,
+ put_field, floatformat_from_double, floatformat_is_valid,
+ ieee_test, main): Likewise.
+ * fibheap.c (fibheap_new, fibnode_new, fibheap_compare,
+ fibheap_comp_data, fibheap_insert, fibheap_min, fibheap_min_key,
+ fibheap_union, fibheap_extract_min, fibheap_replace_key_data,
+ fibheap_replace_key, fibheap_replace_data, fibheap_delete_node,
+ fibheap_delete, fibheap_empty, fibheap_extr_min_node,
+ fibheap_ins_root, fibheap_rem_root, fibheap_consolidate,
+ fibheap_link, fibheap_cut, fibheap_cascading_cut,
+ fibnode_insert_after, fibnode_remove): Likewise.
+ * ffs.c (ffs): Likewise.
+ * fdmatch.c (fdmatch): Likewise.
+ * dyn-string.c (dyn_string_init, dyn_string_new,
+ dyn_string_delete, dyn_string_release, dyn_string_resize,
+ dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
+ dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
+ dyn_string_insert_cstr, dyn_string_insert_char,
+ dyn_string_append, dyn_string_append_cstr,
+ dyn_string_append_char, dyn_string_substring, dyn_string_eq):
+ Likewise.
+
+
+ Convert libiberty to use ISO C prototype style 3/n.
+ * cplus-dem.c (set_cplus_marker_for_demangling, consume_count,
+ consume_count_with_underscores, code_for_qualifier,
+ qualifier_string, demangle_qualifier, cplus_demangle_opname,
+ cplus_mangle_opname, cplus_demangle_set_style,
+ cplus_demangle_name_to_style, cplus_demangle, grow_vect,
+ ada_demangle, internal_cplus_demangle, squangle_mop_up,
+ work_stuff_copy_to_from, delete_non_B_K_work_stuff,
+ delete_work_stuff, mop_up, demangle_signature,
+ demangle_method_args, demangle_template_template_parm,
+ demangle_expression, demangle_integral_value,
+ demangle_real_value, demangle_template_value_parm,
+ demangle_template, arm_pt, demangle_arm_hp_template,
+ demangle_class_name, demangle_class, iterate_demangle_function,
+ demangle_prefix, gnu_special, recursively_demangle, arm_special,
+ demangle_qualified, get_count, do_type, demangle_fund_type,
+ do_hpacc_template_const_value, do_hpacc_template_literal,
+ snarf_numeric_literal, do_arg, remember_type, remember_Ktype,
+ register_Btype, remember_Btype, forget_B_and_K_types,
+ forget_types, demangle_args, demangle_nested_args,
+ demangle_function_name, string_need, string_delete, string_init,
+ string_clear, string_empty, string_append, string_appends,
+ string_appendn, string_prepend, string_prepends, string_prependn,
+ string_append_template_idx): Use ISO C prootype style.
+ * cp-demint.c (cplus_demangle_fill_component,
+ cplus_demangle_fill_builtin_type, cplus_demangle_fill_operator,
+ cplus_demangle_v3_components): Likewise.
+
+
+ Convert libiberty to use ISO C prototype style 2/n.
+ * cp-demangle.h: Remove uses of PARAMS.
+ * cp-demangle.c: Likewise.
+ (d_dump, cplus_demangle_fill_name,
+ cplus_demangle_fill_extended_operator, cplus_demangle_fill_ctor,
+ cplus_demangle_fill_dtor, d_make_empty, d_make_comp, d_make_name,
+ d_make_builtin_type, d_make_operator, d_make_extended_operator,
+ d_make_ctor, d_make_dtor, d_make_template_param, d_make_sub,
+ cplus_demangle_mangled_name, has_return_type,
+ is_ctor_dtor_or_conversion, d_encoding, d_name, d_nested_name,
+ d_prefix, d_unqualified_name, d_source_name, d_number,
+ d_identifier, d_operator_name, d_special_name, d_call_offset,
+ d_ctor_dtor_name, cplus_demangle_type, d_cv_qualifiers,
+ d_function_type, d_bare_function_type, d_class_enum_type,
+ d_array_type, d_pointer_to_member_type, d_template_param,
+ d_template_args, d_template_arg, d_expression, d_expr_primary,
+ d_local_name, d_discriminator, d_add_substitution,
+ d_substitution, d_print_resize, d_print_append_char,
+ d_print_append_buffer, d_print_error, cplus_demangle_print,
+ d_print_comp, d_print_java_identifier, d_print_mod_list,
+ d_print_mod, d_print_function_type, d_print_array_type,
+ d_print_expr_op, d_print_cast, cplus_demangle_init_info,
+ d_demangle, __cxa_demangle, cplus_demangle_v3, java_demangle_v3,
+ is_ctor_or_dtor, is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor,
+ print_usage, main):
+
+
+ Convert libiberty to ISO C prototype style 1/n.
+ * _doprnt.c: Remove conditional #include <varargs.h> on
+ ANSI_PROTOTYPES as the latter is always assumed.
+ (_doprnt, checkit, main): Use ISO C prototype.
+ * alloca.c (find_stack_direction, C_alloca): Use ISO C prototype.
+ * argv.c: Remove conditional #includes on ANSI_PROTOTYPES.
+ (dupargv, freeargv, buildargv, main): Use ISO C prototype.
+ * atexit.c (atexit): Likewise
+ * asprintf.c: Remove conditional include on ANSI_PROTOTYPES.
+ (asprintf): Use ISO C prototype.
+ * basename.c (basename): Likewise
+ * bcmp.c (bcmp): Likewise.
+ * bcopy.c (bcopy): Likewise.
+ * bzero.c (bzero): Likewise.
+ * bsearch.c (bsearch): Likewise. Improve const-correctness.
+ * choose-temp.c (choose_temp_base): Likewise.
+ * calloc.c: Remove conditional #include on ANSI_PROTOTYPES.
+ (calloc): Use ISO C prototype.
+ * clock.c (clock): Likewise.
+ * concat.c: Remove conditional #include on ANSI_PROTOTYPES.
+ (vconcat_length, vconcat_copy, concat_length, concat_copy,
+ concat_copy2, concat, reconcat, main): Use ISO C prototype.
+ * copysign.c (copysign): Likewise.
+
+
+ * Makefile.in (CFILES): Add strndup.c and xstrndup.c.
+ (REQUIRED_OFILES): Add xstrndup.o.
+ (CONFIGURED_OFILES): Add strndup.o.
+ Regenerate dependencies.
+
+ * configure.ac (funcs, AC_CHECK_FUNCS): Add strndup.
+
+ * strndup.c, xstrndup.c: New.
+
+ * config.in, configure, functions.texi: Regenerate.
+
+
+ * xmemdup.c, xstrdup.c: Expose the tail call.
+
+
+ * configure.ac (funcs): Add gettimeofday.
+ * configure: Regenerated.
+ * gettimeofday.c: New file.
+ * Makefile.in (CFILES): Add gettimeofday.
+ (CONFIGURED_OFILES): Add gettimeofday.o.
+ (./gettimeofday.o): New rule.
+
+
+ * pex-os2.c: Remove.
+ * configure.ac: Remove *-*-os2-emx* case when setting pexecute.
+ * Makefile.in (CFILES): Remove pex-os2.c.
+ (CONFIGURED_OFILES): Remove pex-os2.o.
+ (pex-os2.o): Remove target.
+ * configure: Rebuild.
+
+
+ * mpw-config.in: Remove.
+ * mpw-make.sed: Remove.
+ * mpw.c: Remove.
+ * Makefile.in (CFILES): Remove pex-mpw.c.
+ (CONFIGURED_OFILES): Remove pex-mpw.o.
+ (mpw.o, pex-mpw.o): Remove targets.
+ * maint-tool (undoc): Remove reference to mpw.c.
+
+
+ * configure.ac (target_header_dir): vfork is a stub under djgpp.
+ * configure: Regenerated.
+
+
+ * Makefile.in (CFILES): Add unlink-if-ordinary.c
+ (REQUIRED_OFILES): Add unlink-if-ordinary.o.
+ Add dependencies and rule for unlink-if-ordinary.o.
+ * unlink-if-ordinary.c: New.
+
+
+ * hashtab.c (htab_find_slot_with_hash): Make function
+ documentation clearer.
+
+
+ * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
+ arguments.
+
+
+ * hex.c (hex_value): Group 'unsigned int' together to get correct
+ markup.
+ * functions.texi: Regenerated.
+
+
+ * Makefile.in: Undo to 2004-12-17.
+ * aclocal.m4: Likewise.
+ * config.table: Likewise.
+ * configure.ac: Likewise.
+ * maint-tool: Likewise.
+ * configure: Likewise.
+
+
+ PR bootstrap/19072
+ * Makefile.in (enable_shared): New substitute.
+ (LTTARGETLIB): New.
+ (PREFIXTARGETLIB): New.
+ (LTTESTLIB): New.
+ (PREFIXTESTLIB): New.
+ (CCLD): New.
+ (LINK): New.
+ ($(TARGETLIB)): Use $(LINK) to create libraries and create
+ targets by hand.
+ ($(TESTLIB)): Likewise.
+ (mostlyclean): Don't remove .libs. Remove the libtool object
+ directory.
+
+ * config.table (enable_shared): Removed.
+
+ * configure.ac (enable_static): Set to yes.
+ (AC_PROG_LIBTOOL): Removed.
+ (AM_DISABLE_SHARED): Uncommented.
+ (AM_PROG_LIBTOOL): Likewise.
+ (LIBOBJS): Add `./' to avoid VPATH.
+ (LTLIBOBJS): Likewise.
+ (enable_shared): Substitute.
+ * configure: Regenerated.
+
+
+ * Makefile.in (top_builddir): Set to `.'.
+ (OUTPUT_OPTION): Removed.
+ (LIBTOOL): New.
+ (LTLIBOBJS): New.
+ (EXTRA_LTOFILES): New.
+ (FLAGS_TO_PASS): Add EXTRA_LTOFILES.
+ (all): Remove stamp-picdir.
+ (LTCOMPILE): New.
+ (.c.lo): New rule.
+ (REQUIRED_LTOFILES): New.
+ (CONFIGURED_LTOFILES): New.
+ ($(TARGETLIB)): Check .libs for PIC object files. Depend on
+ $(REQUIRED_LTOFILES) $(EXTRA_LTOFILES) $(LTLIBOBJS).
+ (stamp-picdir): Completely removed.
+ (maint-missing): Pass $(REQUIRED_LTOFILES)
+ $(CONFIGURED_LTOFILES) instead of (REQUIRED_OFILES)
+ $(CONFIGURED_OFILES)
+ (maint-buildall): Depend on $(REQUIRED_LTOFILES)
+ $(CONFIGURED_LTOFILES).
+ (mostlyclean): Also remove *.lo .libs.
+ Run "make maint-deps".
+
+ * aclocal.m4: Include ../libtool.m4.
+
+ * config.table: Don't check --enable-shared.
+
+ * configure.ac (AC_PROG_LIBTOOL): Add.
+ (AC_PROG_CC_C_O): Removed.
+ (OUTPUT_OPTION): Removed.
+ (NO_MINUS_C_MINUS_O): Removed.
+ (ltpexecute): New substitute.
+ (LIBOBJS): Cleanup.
+ * configure: Regenerated.
+
+ * maint-tool: Updated for .lo/libtool.
+
+
+ * configure.ac: Invoke AC_CHECK_SIZEOF for sizeof (int).
+ * configure: Regenerate.
+ * config.in: Likewise.
+
+
+ * splay-tree.c (splay_tree_delete_helper): Redesign the logic so
+ that recursion (and thus large stack space) is not needed.
+
+
+ * pex-unix.c: Fix the spelling of longjmp.
+
+
+ PR other/18623
+ * cp-demangle.c (d_call_offset): Remove useless local variables
+ offset and virtual_offset.
+ * cplus-dem.c (ada_demangle): Remove useless local variable
+ at_start_name.
+ (demangle_template): Remove useless local variable start.
+
+
+ * objalloc.c, strsignal.c, xstrerror.c: Include "config.h" before
+ "ansidecl.h" to avoid redeclaration errors with native compilers.
+ * regex.c: Protect config.h from multiple inclusion.
+
+
+ * Makefile.in (libiberty.html): Fix html generation.
+
+
+ * vasprintf.c: Accept __va_copy in addition to va_copy.
+
+
+ * configure: Regenerate.
+
+
+ * configure.ac: Do not enable multilibs for build-side libiberty.
+
+
+ * lrealpath.c (lrealpath): Add _WIN32 support.
+
+
+ * cp-demangle.h: Declare cplus_demangle_operators,
+ cplus_demangle_builtin_types, cplus_demangle_mangled_name, and
+ cplus_demangle_type as static if IN_GLIBCPP_V3.
+
+
+ PR other/16240
+ * cp-demangle.c (d_expr_primary): Check for a failure return from
+ cplus_demangle_type.
+ * testsuite/demangle-expected: Add test case.
+
+
+ * pex-win32.c (fix_argv): Expand comment.
+
+
+ * Makefile.in: Add .NOEXPORT.
+
+
+ * mkstemps.c (mkstemps) [VMS]: Remove special open option. Update
+ copyright.
+
+
+ * configure.ac (UNSIGNED_64BIT_TYPE): Unquote the definition.
+ * configure: Regenerate.
+
+
+ * hashtab.c: Include limits.h, stdint.h, ansidecl.h.
+ (CHAR_BIT): Provide default.
+ (struct prime_ent, prime_tab): New.
+ (higher_prime_index): Rename from higher_prime_number, return index.
+ (htab_mod_1): New.
+ (htab_mod, htab_mod_m2): Use it.
+ (htab_create_alloc, htab_create_alloc_ex): Store prime index.
+ (htab_expand): Likewise.
+ * configure.ac: Check for stdint.h.
+ (UNSIGNED_64BIT_TYPE): New define and checks to fill it in.
+ * config.in, configure: Rebuild.
+
+
+ * strerror.c: Include config.h, and redefine sys_nerr and
+ sys_errlist, before including ansidecl.h and libiberty.h.
+
+
+ * hashtab.c (htab_remove_elt_with_hash): New function.
+ (htab_remove_elt): Implement in terms of htab_remove_elt_with_hash.
+
+
+ * hashtab.c (htab_size): Move to top of file; mark inline.
+ (htab_elements): Likewise.
+ (htab_mod, htab_mod_m2): New.
+ (htab_delete): Refactor htab->size and htab->entries.
+ (htab_empty): Likewise.
+ (find_empty_slot_for_expand): Use htab_size, htab_mod, htab_mod_m2.
+ (htab_find_with_hash, htab_find_slot_with_hash): Likewise.
+ (htab_clear_slot): Use htab_size, htab_elements.
+ (htab_traverse_noresize, htab_traverse): Likewise.
+
+
+ * pex-unix.c (pexecute): Use vfork instead of fork, with
+ appropriate changes to make this safe.
+ * pex-common.h (STDERR_FILE_NO): Define.
+
+ * Makefile.in: Clean up REQUIRED_OFILES and CONFIGURED_OFILES for
+ an 80 column screen. Run maint-deps.
+
+
+ * configure.ac: Bump version to 2.59. Apply suggested autoupdates.
+ * acconfig.h: Delete redundant file.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+
+ * configure: Regenerate for config/accross.m4 correction.
+
+
+ * testsuite/test-demangle.c: Include <string.h> and <stdlib.h> for
+ prototypes.
+ (main): Initialize style.
+
+
+ * cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED,
+ D_PRINT_UNSIGNED_LONG, D_PRINT_LONG_LONG,
+ D_PRINT_UNSIGNED_LONG_LONG, D_PRINT_FLOAT.
+ * cp-demangle.c (cplus_demangle_builtin_types): Change char and
+ short types to D_PRINT_DEFAULT. Change other integer types to use
+ new D_PRINT_* values where appropriate. Change float types to
+ D_PRINT_FLOAT.
+ (d_print_comp) [LITERAL, LITERAL_NEG]: Handle new D_PRINT_*
+ values.
+ * testsuite/demangle-expected: Adjust two test cases.
+
+ * cp-demangle.c (d_print_function_type): Print a space before the
+ parenthesis around the function type in more cases.
+ * testsuite/demangle-expected: Adjust one test case.
+
+ * cp-demangle.c (d_print_comp) [UNARY]: Don't emit extra
+ parentheses around a cast.
+ * testsuite/demangle-expected: Adjust two test cases to match new
+ output.
+
+ * cp-demangle.c (__cxa_demangle): Pass DMGL_PARAMS to d_demangle.
+
+ * cp-demangle.c (d_print_comp) [RESTRICT, VOLATILE, CONST]: Don't
+ push more than one of the same CV-qualifier on the top of the
+ stack.
+ (d_print_comp) [ARRAY_TYPE]: If the array itself is CV-qualified,
+ move the CV-qualifiers to apply to the element type instead.
+ (d_print_array_type): When checking the modifiers, keep looking
+ past ones which have been printed already.
+ * testsuite/demangle-expected: Add three test cases.
+
+
+ * cp-demangle.c (__cxa_demangle): Adjust last patch to handle
+ empty string correctly.
+
+ * cp-demangle.c (__cxa_demangle): It is not an error if status is
+ not NULL. It is an error if the mangled name is the same as a
+ built-in type name.
+ (main): If IN_GLIBCPP_V3 is defined, test __cxa_demangle rather
+ than cplus_demangle_v3.
+
+ * dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
+ the associated #define of RETURN_ON_ALLOCATION_FAILURE.
+
+
+ * regex.c: Include <ansidecl.h>.
+ (regcomp): Cast i to int.
+ (regerror): Add ATTRIBUTE_UNUSED to parameter preg.
+
+
+ * configure.ac: Add m4_pattern_allow(LIBOBJS).
+ * configure: Regenerate.
+
+
+ * Makefile.in: Convert to ./ throughout. Rebuild dependencies
+ with explicit build rules.
+ (VPATH): Remove.
+ (.c.o): Poison.
+ * configure.ac (pexecute, LIBOBJS): Add ./ .
+ * maint-tool: Build dependencies with explicit rules.
+
+
+ * strdup.c (strdup): Constify the argument.
+
+
+ * Makefile.in (distclean): Remove config.cache.
+
+
+ * cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE
+ takes two parameters.
+ * cp-demint.c (cplus_demangle_fill_component): Likewise.
+
+
+ * cp-demangle.c: Include "cp-demangle.h". If IN_GLIBCPP_V3 is
+ defined, rename some functions which are to become static via
+ #define.
+ (CP_STATIC_IF_GLIBCPP_V3): Define.
+ (struct d_operator_info): Move definition to cp-demangle.h, and
+ rename to demangle_operator_info. Change all uses.
+ (enum d_builtin_type_print): Move definition to cp-demangle.h.
+ (struct d_builtin_type_info): Move definition to cp-demangle.h,
+ and rename to demangle_builtin_type_info. Change all uses.
+ (enum d_comp_type): Move definition to include/demangle.h, and
+ rename to demangle_component_type, and change all enums to start
+ with DEMANGLE_COMPONENT_ instead of D_. Change all uses.
+ (struct d_comp): Move definition to include/demangle.h, and rename
+ to demangle_component. Change all uses.
+ (struct d_info): Move definition to cp-demangle.h.
+ (cplus_demangle_fill_name): New function.
+ (cplus_demangle_fill_extended_operator): New function.
+ (cplus_demangle_fill_ctor): New function.
+ (cplus_demangle_fill_dtor): New function.
+ (d_make_empty): Remove type parameter. Change all callers.
+ (d_make_name): Use cplus_demangle_fill_name.
+ (d_make_extended_operator): Use
+ cplus_demangle_fill_extended_operator.
+ (d_make_ctor): Use cplus_demangle_fill_ctor.
+ (d_make_dtor): Use cplus_demangle_fill_dtor.
+ (cplus_demangle_mangled_name): Rename from d_mangled_name. Make
+ non-static by default. Change all callers.
+ (cplus_demangle_operators): Rename from d_operators. Change all
+ uses. Make non-static by default. Add sentinel at end of array.
+ (d_operator_name): Adjust initialization of high for new sentinel
+ in cplus_demangle_operators.
+ (cplus_demangle_builtin_types): Rename from d_builtin_types.
+ Change all uses. Make non-static by default. Change initializer
+ to use D_BUILTIN_TYPE_COUNT instead of magic number 26.
+ (cplus_demangle_type): Rename from d_type. Make non-static by
+ default. Change all callers.
+ (cplus_demangle_init_info): Rename from d_init_info. Make
+ non-static by default. Change all callers.
+ * cp-demangle.h: New file.
+ * cp-demint.c: New file.
+ * Makefile.in: Rebuild dependencies.
+ (CFILES): Add cp-demint.c.
+ (REQUIRED_OFILES): Add cp-demint.o.
+
+
+ * configure.in: Rename file to ...
+ * configure.ac: ... this.
+ * Makefile.in: Update a comment for above change.
+ * README: Likewise.
+ * config.in: Regenerate.
+
+
+ * cp-demangle.c (d_encoding): When DMGL_PARAMS is not set, strip
+ CV-qualifiers from D_COMP_LOCAL_NAME right subtree.
+ * cplus-dem.c (demangle_arm_hp_template): Set DMGL_PARAMS when
+ demangling template parameters.
+ * testsuite/test-demangle.c (fail): New static function.
+ (main): Support new options in input file: --no-params,
+ --is-v3-ctor, and --is-v3-dtor.
+ * testsuite/demangle-expected: Add --no-params to most tests, and
+ add the correct result when parameters are not demangled. Add
+ some simple tests for V3 constructor/destructor recognition.
+
+
+ * cp-demangle.c (is_ctor_or_dtor): Fix error in last change.
+
+
+ PR debug/13272
+ * Makefile.in (lbasename.o): Depend on filenames.h.
+ * lbasename.c: Include "filenames.h" instead of defining
+ its macros locally.
+
+
+ * cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supports
+ dynamic arrays.
+ (struct d_operator_info): Add len field.
+ (struct d_builtin_type_info): Add len and java_len fields.
+ (struct d_standard_sub_info): Add simple_len, full_len, and
+ set_last_name_len fields.
+ (struct d_comp): Add len field to s_string.
+ (struct d_info): Add send, did_subs, and expansion fields.
+ (d_append_string_constant): Define.
+ (d_append_string): Remove. Change all users to use
+ d_append_string_constant or d_append_buffer instead.
+ (d_make_sub): Add len parameter. Change all callers.
+ (d_name): Increase expansion when substituting std::.
+ (d_unqualified_name): Increase expansion for an operator.
+ (d_number): Don't use multiplication for negative numbers.
+ (d_identifier): Make sure there are enough characters in the
+ string for the specified length. Adjust expansion for an
+ anonymous namespace.
+ (d_operators): Initialize len field.
+ (d_special_name, d_ctor_dtor_name): Increase expansion.
+ (d_builtin_types): Initialize len and java_len fields.
+ (d_type): Increase expansion for a builtin type.
+ (d_cv_qualifiers): Increase expansion for each qualifier.
+ (d_bare_function_type): Decrease expansion when removing single
+ void parameter.
+ (d_template_param): Increment did_subs.
+ (d_expression): Increase expansion for an operator.
+ (d_expr_primary): Decrease expansion for a type we will print
+ specially.
+ (standard_subs): Initialize new fields.
+ (d_substitution): Increment did_subs when doing a normal
+ substitution. Increase expansion for a special substitution.
+ (d_print): Add estimate parameter. Change all callers.
+ (d_print_comp) [D_COMP_NAME]: Handle C++ case inline.
+ (d_print_comp) [D_COMP_BINARY]: Use length to avoid strcmp call.
+ (d_print_java_identifier): Rename from d_print_identifier. Handle
+ only Java case. Change caller.
+ (d_init_info): Change return type to void. Change all callers.
+ Initialize send, did_subs, and expansion fields. Do not
+ initialize comps and subs fields.
+ (d_demangle): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and subs
+ arrays on stack. Make an estimate of the length of the demangled
+ name. Ifdef CP_DEMANGLE_DEBUG, print estimation failures.
+ (is_ctor_or_dtor): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and
+ subs arrays on stack.
+
+
+ * cp-demangle.c (d_identifier): In Java mode, skip an optional '$'
+ after the identifier.
+ * testsuite/demangle-expected: Add test case.
+
+
+ Fix for PR c++/13447:
+ * cp-demangle.c (enum d_comp_type): Add D_COMP_LOCAL_NAME.
+ (d_dump, d_make_comp): Handle D_COMP_LOCAL_NAME.
+ (is_ctor_dtor_or_conversion): Handle D_COMP_LOCAL_NAME like
+ D_COMP_QUAL_NAME.
+ (is_ctor_or_dtor): Likewise.
+ (d_local_name): Use D_COMP_LOCAL_NAME rather than
+ D_COMP_QUAL_NAME.
+ (d_print_comp) [D_COMP_LOCAL_NAME]: New.
+ (d_prinT_comp) [D_COMP_TYPED_NAME]: If the left tree is
+ D_COMP_LOCAL_NAME, pull any qualifiers off its right subtree.
+ (d_print_mod_list): Handle D_COMP_LOCAL_NAME.
+ * testsuite/demangle-expected: Add two test cases.
+
+ * cp-demangle.c (d_print_function_type): Clear the global modifier
+ list when printing the modifiers, not just when printing the
+ function parameters.
+ * testsuite/demangle-expected: Add two test cases.
+
+
+ * cp-demangle.c (d_print_function_type): Print the function
+ parameters with no modifiers.
+ * testsuite/demangle-expected: Add test case.
+
+ * cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't
+ expect that we've read the entire string.
+ (is_ctor_or_dtor): Don't expect that we've read the entire
+ string--reverse patch of 2003-11-29.
+
+
+ * libiberty/Makefile.in (floatformat.o): Add dependency on
+ config.h to accompany change of 2003-12-03.
+
+
+ Fix handling of constructor/destructor of standard substitution:
+ * cp-demangle.c (struct d_standard_sub_info): Define.
+ (d_substitution): Add prefix argument. Change all callers.
+ Rework handling of standard substitutions to print full name when
+ qualifying a constructor/destructor, or when DMGL_VERBOSE is set.
+ * testsuite/demangle-expected: Add test case.
+
+ Fix handling of negative literal constants:
+ * cp-demangle.c (enum d_comp_type): Add D_COMP_LITERAL_NEG.
+ (d_dump, d_make_comp): Handle D_COMP_LITERAL_NEG.
+ (d_expr_primary): Use D_COMP_LITERAL_NEG for a negative number.
+ (d_print_comp): Handle D_COMP_LITERAL_NEG.
+ * testsuite/demangle-expected: Add test case.
+
+
+ * cp-demangle.c (IS_UPPER, IS_LOWER): Define.
+ (d_last_char): Define new macro.
+ (d_make_name): Reject an empty name.
+ (d_prefix, d_unqualified_name, d_type): Use new IS_* macros.
+ (d_substitution, d_print_identifier): Likewise.
+ (d_print_comp) [D_COMP_OPERATOR]: Likewise.
+ (d_print_comp) [D_COMP_TEMPLATE]: Use new d_last_char macro.
+ (d_print_mod) Use new d_last_char macro.
+ (d_print_cast): Use new d_last_char macro.
+ (is_ctor_or_dtor): Don't leak memory.
+
+ Fix handling of member function modifiers:
+ * cp-demangle.c (enum d_comp_type): Add D_COMP_RESTRICT_THIS,
+ D_COMP_VOLATILE_THIS, and D_COMP_CONST_THIS.
+ (d_dump): Dump new d_comp_type values.
+ (d_make_comp): Accept new d_comp_type values.
+ (has_return_type): Only accept _THIS variants of qualifiers.
+ (d_encoding): Without DMGL_PARAMS, only remove _THIS variants of
+ qualifiers.
+ (d_cv_qualifiers): Add member_fn parameter. Change all callers.
+ (d_print_comp) [D_COMP_TYPED_NAME]: Rather than removing
+ qualifiers and printing them at the end, add _THIS qualifiers to
+ the modifier list.
+ (d_print_comp) [D_COMP_*_THIS]: New cases.
+ (d_print_comp) [D_COMP_PTRMEM_TYPE]: Remove special handling of
+ qualifiers.
+ (d_print_mod_list): Add suffix parameter. Change all callers.
+ Keep walking the list even if the current modifier has been
+ printed.
+ (d_print_mod): Handle new _THIS qualifiers.
+ (d_print_function_type): Handle new _THIS qualifiers when deciding
+ whether to print a parenthesis. Put a space before the
+ parenthesis in some cases. Call d_print_mod_list again at the
+ end, passing suffix as 1.
+ (is_ctor_or_dtor): Look for new _THIS qualifiers.
+ * testsuite/demangle-expected: Add test case.
+
+ Fix for PR gcc/13304:
+ * cp-demangle.c (d_print_comp) [D_COMP_TEMPLATE]: If the character
+ before the '<' is itself a '<', insert a space.
+ (d_print_cast): Likewise.
+ * testsuite/demangle-expected: Add test case.
+
+ Fix for PR gcc/13244:
+ * cp-demangle.c (d_print_comp) [D_COMP_BINARY]: Wrap an expression
+ which uses the '>' operator in an extra layer of parens.
+ * testsuite/demangle-expected: Add test case.
+
+
+ * floatformat.c: Include "config.h" and <string.h> if available.
+ (INFINITY, NAN): Define if not defined by <math.h>.
+ (floatformat_to_double): Handle NaN, infinity, and denormalized
+ numbers.
+ (floatformat_from_double): Likewise.
+ (ieee_test): In debugging code, use little endian rather than big
+ endian. Correct tests to handle NaN and to check correct sign of
+ zero. Omit m68k extended test.
+ (main): Add more debugging cases.
+
+
+ * cp-demangle.c (d_demangle): Only return success if we consumed
+ the entire demangled string.
+ (is_ctor_or_dtor): Likewise.
+
+ * testsuite/demangle-expected: Revert one part of 2003-06-26 patch
+ to restore expected result of EDG test case to original expected
+ result.
+
+
+ * cp-demangle.c (struct d_print_mod): Add templates field.
+ (d_make_builtin_type): Check for NULL type.
+ (d_make_extended_operator): Check for NULL name.
+ (d_make_ctor, d_make_dtor): Likewise.
+ (d_mangled_name): Add top_level parameter. Change all callers.
+ (d_encoding): If DMGL_PARAMS is not set, strip off initial
+ CV-qualifiers.
+ (d_type): Check some return values we rely on.
+ (d_bare_function_type, d_array_type): Likewise.
+ (d_pointer_to_member_type, d_template_args): Likewise.
+ (d_add_substitution): Fail if argument is NULL.
+ (d_print_resize): Check whether buf is NULL.
+ (d_print_comp): Save current templates list with each modifier.
+ Don't pass the modifier list down when printing a template.
+ (d_print_cast): Don't pass the modifier list down when printing a
+ template.
+ (d_print_mod_list): Temporarily set templates list while printing
+ a modifier.
+ (d_print_mod): Check that buf is not NULL before using it.
+ (d_print_function_type): Print parens if there is no modifier.
+ (d_init_info): Permit as many substitutions as there are
+ characters in the mangled name.
+ * testsuite/demangle-expected: Add two new test cases.
+
+
+ * cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to
+ d_demangle.
+
+
+ * cp-demangle.c (d_encoding): Add top_level parameter. Change all
+ callers.
+ (print_usage): Display new -p option.
+ (long_options): Add --no-params.
+ (main): Accept and handle -p.
+
+
+ * cp-demangle.c (has_return_type): Skip qualifiers when checking
+ whether we have a template.
+ * testsuite/demangle-expected: Add four new tests.
+
+
+ * testsuite/demangle-expected: Minor changes to match output of
+ new demangler: adjust whitespace in four tests, and change order
+ of qualifiers in one test.
+
+ * cp-demangle.c: Complete rewrite.
+
* cp-demangle.c (demangle_type): Correct thinko in substitution
* testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.
-
- * testsuite/test-demangle.c (main): Don't pass DMGL_VERBOSE to
- cplus_demangle.
-
- * testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.
-
* floatformat.c (floatformat_always_valid): Add unused attribute.
+
+ * vasprintf.c (int_vasprintf): Pass va_list by value.
+ Use va_copy for copying va_list.
+ (vasprintf): Pass va_list by value.
+
* hashtab.c (htab_find_slot_with_hash): Decrease n_deleted
- * cp-demangle.c: Clarify what package(s) this is part of.
+ * cp-demangle.c: Clarify what package(s) this is part of.