OSDN Git Service

* configure.ac: Add m4_pattern_allow(LIBOBJS).
[pf3gnuchains/gcc-fork.git] / libiberty / ChangeLog
index 3ea130d..10c7f46 100644 (file)
@@ -1,3 +1,456 @@
+2004-01-25  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * configure.ac: Add m4_pattern_allow(LIBOBJS).
+       * configure: Regenerate.
+
+2004-01-22  DJ Delorie  <dj@redhat.com>
+
+       * 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.
+
+2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * strdup.c (strdup): Constify the argument.
+
+2004-01-14  Loren J. Rittle  <ljrittle@acm.org>
+
+       * Makefile.in (distclean): Remove config.cache.
+
+2004-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+       * cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE
+       takes two parameters.
+       * cp-demint.c (cplus_demangle_fill_component): Likewise.
+
+2004-01-12  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2004-01-09  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * configure.in:  Rename file to ...
+       * configure.ac:  ... this.
+       * Makefile.in: Update a comment for above change.
+       * README: Likewise.
+       * config.in: Regenerate.
+
+2004-01-02  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-12-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cp-demangle.c (is_ctor_or_dtor): Fix error in last change.
+
+2003-12-22  Daniel Jacobowitz  <drow@mvista.com>
+
+       PR debug/13272
+       * Makefile.in (lbasename.o): Depend on filenames.h.
+       * lbasename.c: Include "filenames.h" instead of defining
+       its macros locally.
+
+2003-12-22  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-12-20  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * cp-demangle.c (d_identifier): In Java mode, skip an optional '$'
+       after the identifier.
+       * testsuite/demangle-expected: Add test case.
+
+2003-12-19  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       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.
+
+2003-12-15  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-12-15  Brendan Kehoe  <brendan@zen.org>
+
+       * libiberty/Makefile.in (floatformat.o): Add dependency on
+       config.h to accompany change of 2003-12-03.
+
+2003-12-15  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       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.
+
+2003-12-04  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-12-03  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-11-29  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-11-26  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-11-25  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to
+       d_demangle.
+
+2003-11-22  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-11-21  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * cp-demangle.c (has_return_type): Skip qualifiers when checking
+       whether we have a template.
+       * testsuite/demangle-expected: Add four new tests.
+
+2003-11-20  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * 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.
+
+2003-11-19  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-demangle.c (demangle_type): Correct thinko in substitution
+       processing.
+
+2003-11-18  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * cp-demangle.c (demangle_operator_name): Remove space before
+       "sizeof".
+       (demangle_type_ptr): Put qualifiers in the right place.  Handle
+       qualifiers in pointer to member specially.
+       (demangle_type): Handle qualifiers for pointer or reference
+       specially.  Handle function type.
+       (demangle_local_name): Save and restore caret around demangling of
+       initial encoding.
+
+       * testsuite/test-demangle.c (main): Don't pass DMGL_VERBOSE to
+       cplus_demangle.
+
+       * testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.
+
+2003-10-31  Andreas Jaeger  <aj@suse.de>
+
+       * floatformat.c (floatformat_always_valid): Add unused attribute.
+
+2003-10-30  Josef Zlomek  <zlomekj@suse.cz>
+
+       Jan Hubicka <jh@suse.cz>
+       * vasprintf.c (int_vasprintf): Pass va_list by value.
+       Use va_copy for copying va_list.
+       (vasprintf): Pass va_list by value.
+
+2003-10-30  Josef Zlomek  <zlomekj@suse.cz>
+
+       * hashtab.c (htab_find_slot_with_hash): Decrease n_deleted
+       instead of increasing n_elements when inserting to deleted slot.
+
+2003-10-20  J. Brobecker  <brobecker@gnat.com>
+
+       * cplus-dem.c (demangle_template): Register a new Btype only
+       when needed.
+       * testsuite/demangle-expected: Add a new test.
+
+2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/demangle-expected: Update the expected output of
+       _GLOBAL__I__Z2fnv.
+
+2003-10-02  Daniel Jacobowitz  <drow@mvista.com>
+
+       * strerror.c: Revert last change.  Declare static sys_nerr
+       and sys_errlist using different names.
+
+2003-10-01  Daniel Jacobowitz  <drow@mvista.com>
+
+       * strerror.c: Don't provide or reference sys_errlist if
+       strerror is available.
+
+2003-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure.in: Check if $MAKEINFO is missing.
+       * configure: Regenerated.
+
+2003-09-24  Daniel Jacobowitz  <drow@mvista.com>
+
+       * configure.in: Use AC_PROG_CPP_WERROR.
+       * configure: Regenerated.
+
+2003-09-22  Andrew Cagney  <cagney@redhat.com>
+
+       * floatformat.c (floatformat_i387_ext_is_valid): New function.
+       (floatformat_always_valid): New function.
+       (floatformat_i387_ext): Initialize new "is_valid" field to
+       "floatformat_i387_ext_is_valid".
+       (floatformat_ieee_single_little): Initialize "is_valid" field to
+       floatformat_always_valid.
+       (floatformat_ieee_double_big): Ditto.
+       (floatformat_ieee_double_little): Ditto.
+       (floatformat_ieee_double_little): Ditto.
+       (floatformat_ieee_double_littlebyte_bigword): Ditto.
+       (floatformat_i960_ext): Ditto.
+       (floatformat_m88110_ext): Ditto.
+       (floatformat_m88110_harris_ext): Ditto.
+       (floatformat_arm_ext_big): Ditto.
+       (floatformat_arm_ext_littlebyte_bigword): Ditto.
+       (floatformat_ia64_spill_big): Ditto.
+       (floatformat_ia64_spill_little): Ditto.
+       (floatformat_ia64_quad_big): Ditto.
+       (floatformat_ia64_quad_little): Ditto.
+       (floatformat_ia64_quad_little): Ditto.
+       (floatformat_is_valid): Call "is_valid".
+
+2003-09-15  Andrew Cagney  <cagney@redhat.com>
+
+       * floatformat.c (get_field): Make "data" constant.
+       (floatformat_is_valid, floatformat_to_double): Make "from"
+       constant, fix casts.
+       (floatformat_from_double): Make "from" constant.
+
+2003-09-15  Daniel Jacobowitz  <drow@mvista.com>
+
+       * floatformat.c (floatformat_is_valid): New function.
+       (get_field, put_field): Correct comments.
+
+2003-09-06  Josef Zlomek  <zlomekj@suse.cz>
+
+       * fibheap.c (fibheap_replace_key_data): Change type of OKEY to
+       FIBHEAPKEY_T.
+
+2003-09-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR bootstrap/12100
+       * aclocal.m4 (AC_LANG_FUNC_LINK_TRY): Define.
+       * configure: Rebuilt.
+
 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
 
        * aclocal.m4: Include acx.m4 and no-executables.m4.