aboutsummaryrefslogtreecommitdiff
path: root/libiberty
AgeCommit message (Collapse)AuthorFilesLines
2004-01-02cp-demangle.c (d_encoding): When DMGL_PARAMS is not set...Ian Lance Taylor5-761/+1700
* 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. From-SVN: r75336
2003-12-26* cp-demangle.c (is_ctor_or_dtor): Fix error in last change.Kaveh R. Ghazi2-2/+5
From-SVN: r75030
2003-12-22re PR other/13272 (libiberty/lbasename.c has incorrect DIR_SEPARATOR)Daniel Jacobowitz3-20/+9
PR debug/13272 * Makefile.in (lbasename.o): Depend on filenames.h. * lbasename.c: Include "filenames.h" instead of defining its macros locally. From-SVN: r74943
2003-12-22cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supports dynamic arrays.Ian Lance Taylor2-291/+522
* 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. From-SVN: r74933
2003-12-20cp-demangle.c (d_identifier): In Java mode, skip an optional '$' after the ↵Ian Lance Taylor3-0/+17
identifier. * cp-demangle.c (d_identifier): In Java mode, skip an optional '$' after the identifier. * testsuite/demangle-expected: Add test case. From-SVN: r74885
2003-12-19re PR c++/13447 (Another demangler problem with method cv-qualifiers)Ian Lance Taylor3-10/+120
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. From-SVN: r74850
2003-12-15cp-demangle.c (d_print_function_type): Print the function parameters with no ↵Ian Lance Taylor3-1/+17
modifiers. * cp-demangle.c (d_print_function_type): Print the function parameters with no modifiers. * testsuite/demangle-expected: Add test case. From-SVN: r74652
2003-12-15cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't expect that ↵Ian Lance Taylor2-31/+40
we've read the entire string. * 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. From-SVN: r74651
2003-12-15Makefile.in (floatformat.o): Add dependency on config.h to accompany change ↵Brendan Kehoe2-1/+7
of 2003-12-03. * libiberty/Makefile.in (floatformat.o): Add dependency on config.h to accompany change of 2003-12-03. From-SVN: r74641
2003-12-15Fix handling of constructor/destructor of standard substitution:Ian Lance Taylor3-33/+129
* 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. From-SVN: r74632
2003-12-04re PR other/13304 (demangler bad output, "operator<<" insteads of "operator< <")Ian Lance Taylor3-125/+298
* 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. From-SVN: r74290
2003-12-03floatformat.c: Include "config.h" and <string.h> if available.Ian Lance Taylor2-38/+157
* 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. From-SVN: r74237
2003-12-01cp-demangle.c (d_demangle): Only return success if we consumed the entire ↵Ian Lance Taylor2-2/+17
demangled string. * cp-demangle.c (d_demangle): Only return success if we consumed the entire demangled string. (is_ctor_or_dtor): Likewise. From-SVN: r74129
2003-12-01demangle-expected: Revert one part of 2003-06-26 patch to restore expected ↵Ian Lance Taylor1-2/+13
result of EDG test case... * testsuite/demangle-expected: Revert one part of 2003-06-26 patch to restore expected result of EDG test case to original expected result. From-SVN: r74128
2003-11-26cp-demangle.c (struct d_print_mod): Add templates field.Ian Lance Taylor3-71/+176
* 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. From-SVN: r73970
2003-11-25cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to d_demangle.Ian Lance Taylor2-1/+6
* cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to d_demangle. From-SVN: r73931
2003-11-24cp-demangle.c (d_encoding): Add top_level parameter.Ian Lance Taylor2-14/+35
* 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. From-SVN: r73884
2003-11-21cp-demangle.c (has_return_type): Skip qualifiers when checking whether we ↵Ian Lance Taylor3-0/+32
have a template. * cp-demangle.c (has_return_type): Skip qualifiers when checking whether we have a template. * testsuite/demangle-expected: Add four new tests. From-SVN: r73819
2003-11-21demangle-expected: Minor changes to match output of new demangler...Ian Lance Taylor2-5/+9
* testsuite/demangle-expected: Minor changes to match output of new demangler: adjust whitespace in four tests, and change order of qualifiers in one test. From-SVN: r73813
2003-11-21* cp-demangle.c: Complete rewrite.Ian Lance Taylor2-3474/+2969
From-SVN: r73788
2003-11-20cp-demangle.c (demangle_type): Correct thinko in substitution processing.Mark Mitchell2-3/+10
* cp-demangle.c (demangle_type): Correct thinko in substitution processing. From-SVN: r73751
2003-11-19cp-demangle.c (demangle_operator_name): Remove space before "sizeof".Ian Lance Taylor2-20/+134
* 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. From-SVN: r73723
2003-11-18test-demangle.c (main): Don't pass DMGL_VERBOSE to cplus_demangle.Ian Lance Taylor2-1/+4
* testsuite/test-demangle.c (main): Don't pass DMGL_VERBOSE to cplus_demangle. From-SVN: r73709
2003-11-18* testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.Ian Lance Taylor2-1/+5
From-SVN: r73708
2003-10-31* floatformat.c (floatformat_always_valid): Add unused attribute.Andreas Jaeger2-2/+6
From-SVN: r73119
2003-10-30Jan Hubicka <jh@suse.cz>Josef Zlomek2-5/+19
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. From-SVN: r73098
2003-10-30hashtab.c (htab_find_slot_with_hash): Decrease n_deleted instead of ↵Josef Zlomek2-2/+7
increasing n_elements when inserting to deleted slot. * hashtab.c (htab_find_slot_with_hash): Decrease n_deleted instead of increasing n_elements when inserting to deleted slot. From-SVN: r73090
2003-10-20cplus-dem.c (demangle_template): Register a new Btype only when needed.J. Brobecker3-4/+16
* cplus-dem.c (demangle_template): Register a new Btype only when needed. * testsuite/demangle-expected: Add a new test. From-SVN: r72729
2003-10-16demangle-expected: Update the expected output of _GLOBAL__I__Z2fnv.H.J. Lu2-1/+6
2003-10-16 H.J. Lu <hongjiu.lu@intel.com> * testsuite/demangle-expected: Update the expected output of _GLOBAL__I__Z2fnv. From-SVN: r72552
2003-10-02strerror.c: Revert last change.Daniel Jacobowitz2-8/+7
* strerror.c: Revert last change. Declare static sys_nerr and sys_errlist using different names. From-SVN: r72046
2003-10-01strerror.c: Don't provide or reference sys_errlist if strerror is available.Daniel Jacobowitz2-1/+13
* strerror.c: Don't provide or reference sys_errlist if strerror is available. From-SVN: r72001
2003-10-01configure.in: Check if $MAKEINFO is missing.H.J. Lu3-17/+43
2003-10-01 H.J. Lu <hongjiu.lu@intel.com> * configure.in: Check if $MAKEINFO is missing. * configure: Regenerated. From-SVN: r71983
2003-09-25configure.in: Use AC_PROG_CPP_WERROR.Daniel Jacobowitz3-679/+424
* configure.in: Use AC_PROG_CPP_WERROR. * configure: Regenerated. From-SVN: r71775
2003-09-22floatformat.h (struct floatformat): Add field "is_valid".Andrew Cagney2-46/+98
2003-09-22 Andrew Cagney <cagney@redhat.com> * floatformat.h (struct floatformat): Add field "is_valid". 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". From-SVN: r71659
2003-09-16Index: include/ChangeLogAndrew Cagney2-7/+14
2003-09-15 Andrew Cagney <cagney@redhat.com> * floatformat.h (floatformat_to_double): Make input buffer constant. (floatformat_from_double, floatformat_is_valid): Ditto. Index: libiberty/ChangeLog 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. From-SVN: r71422
2003-09-15floatformat.c (floatformat_is_valid): New function.Daniel Jacobowitz2-3/+41
* floatformat.c (floatformat_is_valid): New function. (get_field, put_field): Correct comments. From-SVN: r71405
2003-09-06fibheap.c (fibheap_replace_key_data): Change type of OKEY to FIBHEAPKEY_T.Josef Zlomek2-1/+6
* fibheap.c (fibheap_replace_key_data): Change type of OKEY to FIBHEAPKEY_T. From-SVN: r71129
2003-09-02ack, wrong date.DJ Delorie1-1/+1
From-SVN: r71010
2003-09-02re PR bootstrap/12100 (time.h:402: error: previous declaration of ↵John David Anglin3-27/+99
`clock'evious declaration of `clock') 2003-08-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR bootstrap/12100 * aclocal.m4 (AC_LANG_FUNC_LINK_TRY): Define. * configure: Rebuilt. From-SVN: r71009
2003-08-27aclocal.m4: Include acx.m4 and no-executables.m4.Daniel Jacobowitz4-2069/+5939
* aclocal.m4: Include acx.m4 and no-executables.m4. (libiberty_AC_FUNC_STRNCMP): Use AC_LIBOBJ. (LIB_AC_PROG_CC): Remove. * configure.in: Update AC_PREREQ to 2.57. Use GCC_NO_EXECUTABLES. Use AC_PROG_CC and set ac_libiberty_warn_cflags instead of using LIB_AC_PROG_CC. Use AC_LIBOBJ. Call AC_ISC_POSIX later, only if performing link tests. * configure: Regenerated. From-SVN: r70860
2003-08-12* cp-demangle.c: Clarify what package(s) this is part of.Nathanael Nerode2-2/+6
From-SVN: r70361
2003-07-05pex-win32.c (pexecute): Mark parameters this_pname and temp_base as unused.Danny Smith2-6/+14
* pex-win32.c (pexecute): Mark parameters this_pname and temp_base as unused. Remove unused variables retries, sleep_interval. Initialize org_stdin, org_stdout. (pwait): Mark parameter flags as unused. From-SVN: r68953
2003-07-03pex-win32.c (fix_argv): Ensure that the executable pathname uses Win32 ↵Danny Smith2-1/+13
backslashes. 2003-07-02 Danny Smith <dannysmith@users.source.forge.net> * pex-win32.c (fix_argv): Ensure that the executable pathname uses Win32 backslashes. (pexecute): Cast away constness when assigning *errmsg_arg. From-SVN: r68862
2003-06-26demangle-expected: Add more GNU V3 testcases.H.J. Lu2-1/+265
2003-06-26 H.J. Lu <hongjiu.lu@intel.com> * testsuite/demangle-expected: Add more GNU V3 testcases. From-SVN: r68540
2003-06-22safe-ctype.h (HC_UNKNOWN, [...]): Rename to HOST_CHARSET_UNKNOWN...Zack Weinberg5-18/+209
include: * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to HOST_CHARSET_UNKNOWN, HOST_CHARSET_ASCII, HOST_CHARSET_EBCDIC respectively. libiberty: * safe-ctype.c: Use HOST_CHARSET_ASCII and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC. Add documentation in form expected by gather-docs. * hex.c: Use HOST_CHARSET, not hand-coded check of character set. * Makefile.in, functions.texi: Regenerate. gcc: * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC. From-SVN: r68335
2003-06-21safe-ctype.h (HC_UNKNOWN, [...]): New #defines.Zack Weinberg2-10/+21
include: * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET): New #defines. libiberty: * safe-ctype.c: Separate out EOF==-1 check. Use HOST_CHARSET for charset determination. gcc: * aclocal.m4 (gcc_AC_C_CHARSET): Delete. * configure.in: Don't use gcc_AC_C_CHARSET. * configure, config.in: Regenerate. * config/i370/i370.c, config/i370/i370.h: Use (HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII) instead of HOST_EBCDIC or !HOST_EBCDIC. Clarify comments a tad. From-SVN: r68317
2003-06-19configure.in: Add check for malloc.h needed by m68k for function free().Dara Hazeghi5-10/+39
* configure.in: Add check for malloc.h needed by m68k for function free(). * configure: Regenerated. * config.in: Add HAVE_MALLOC_H. * hashtab.c: include malloc.h were available for free(). From-SVN: r68213
2003-06-09re PR bootstrap/10974 (Bootstrap failure)Albert Chin-A-Young5-62/+105
PR bootstrap/10974 * physmem.c: Update comment. * configure.in: Modify test for _system_configuration for older AIX systems. * config.in, configure: Regenerated. From-SVN: r67649
2003-06-05re PR other/10810 (gcc-3.3 fails make check: buffer overrun in test_demangle.c)John David Anglin2-1/+6
PR other/10810 * test-demangle.c (getline): Fix fence-post error. From-SVN: r67499
2003-06-03asprintf.c: Change comment to note that -1 is returned upon error.Nick Clifton4-7/+15
vasprintf.c: Likewise. (vasprintf): Return -1 upon error. functions.texi: Document changes to asprintf and vasprintf. From-SVN: r67395