summaryrefslogtreecommitdiff
path: root/libiberty
Commit message (Collapse)AuthorAgeFilesLines
* * gcc.c (DELETE_IF_ORDINARY): New macro default definition.rupp2004-04-292-5/+6
| | | | | | | | | | | | (delete_if_ordinary): Use above macro. * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition. Update copyright. * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro. * libiberty/mkstemps.c (mkstemps) [VMS]: Remove special open option. Update copyright. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81290 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac (UNSIGNED_64BIT_TYPE): Unquote the definition.ian2004-04-263-43/+79
| | | | | | | * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81191 138bc75d-0d04-0410-961f-82ee72b054a4
* * hashtab.c: Include limits.h, stdint.h, ansidecl.h.rth2004-04-225-128/+425
| | | | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81029 138bc75d-0d04-0410-961f-82ee72b054a4
* * strerror.c: Include config.h, and redefine sys_nerr andian2004-04-132-3/+8
| | | | | | | sys_errlist, before including ansidecl.h and libiberty.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80650 138bc75d-0d04-0410-961f-82ee72b054a4
* * hashtab.c (htab_remove_elt_with_hash): New function.law2004-04-132-2/+21
| | | | | | | | | (htab_remove_elt): Implement in terms of htab_remove_elt_with_hash. * hashtab.h (htab_remove_elt_with_hash): Prototype new function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80641 138bc75d-0d04-0410-961f-82ee72b054a4
* * hashtab.c (htab_size): Move to top of file; mark inline.rth2004-04-012-49/+83
| | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80278 138bc75d-0d04-0410-961f-82ee72b054a4
* * pex-unix.c (pexecute): Use vfork instead of fork, withian2004-03-183-17/+73
| | | | | | | | appropriate changes to make this safe. * pex-common.h (STDERR_FILE_NO): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79617 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Clean up REQUIRED_OFILES and CONFIGURED_OFILES forian2004-03-182-27/+35
| | | | | | | an 80 column screen. Run maint-deps. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79616 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-03-09 Kelley Cook <kcook@gcc.gnu.org>kcook2004-03-095-71/+86
| | | | | | | | | | * configure.ac: Bump version to 2.59. Apply suggested autoupdates. * acconfig.h: Delete redundant file. * config.in: Regenerate. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79204 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure: Regenerate for config/accross.m4 correction.hp2004-03-092-369/+912
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79147 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/test-demangle.c: Include <string.h> and <stdlib.h> foraj2004-03-072-1/+13
| | | | | | | | prototypes. (main): Initialize style. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79062 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED,ian2004-02-254-84/+136
| | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78421 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_print_comp) [UNARY]: Don't emit extraian2004-02-253-5/+8
| | | | | | | | | parentheses around a cast. * testsuite/demangle-expected: Adjust two test cases to match new output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78416 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (__cxa_demangle): Pass DMGL_PARAMS to d_demangle.ian2004-02-242-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78355 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_print_comp) [RESTRICT, VOLATILE, CONST]: Don'tian2004-02-243-21/+115
| | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78354 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (__cxa_demangle): Adjust last patch to handleian2004-02-242-2/+5
| | | | | | | empty string correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78353 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-02-23 Ian Lance Taylor <ian@wasabisystems.com>ian2004-02-242-11/+52
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78348 138bc75d-0d04-0410-961f-82ee72b054a4
* * dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 andian2004-02-242-10/+6
| | | | | | | the associated #define of RETURN_ON_ALLOCATION_FAILURE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78347 138bc75d-0d04-0410-961f-82ee72b054a4
* * regex.c: Include <ansidecl.h>.kraai2004-02-172-2/+10
| | | | | | | | (regcomp): Cast i to int. (regerror): Add ATTRIBUTE_UNUSED to parameter preg. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77944 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Add m4_pattern_allow(LIBOBJS).ian2004-01-263-5/+21
| | | | | | | * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76619 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Convert to ./ throughout. Rebuild dependenciesdj2004-01-225-154/+715
| | | | | | | | | | | with explicit build rules. (VPATH): Remove. (.c.o): Poison. * configure.ac (pexecute, LIBOBJS): Add ./ . * maint-tool: Build dependencies with explicit rules. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76366 138bc75d-0d04-0410-961f-82ee72b054a4
* * strdup.c (strdup): Constify the argument.kazu2004-01-152-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75929 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (distclean): Remove config.cache.ljrittle2004-01-142-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75885 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLEdrow2004-01-133-2/+8
| | | | | | | | takes two parameters. * cp-demint.c (cplus_demangle_fill_component): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75819 138bc75d-0d04-0410-961f-82ee72b054a4
* * demangle.h (enum demangle_component_type): Define.ian2004-01-125-852/+1281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (struct demangle_operator_info): Declare. (struct demangle_builtin_type_info): Declare. (struct demangle_component): Define. (cplus_demangle_fill_component): Declare. (cplus_demangle_fill_name): Declare. (cplus_demangle_fill_builtin_type): Declare. (cplus_demangle_fill_operator): Declare. (cplus_demangle_fill_extended_operator): Declare. (cplus_demangle_fill_ctor, cplus_demangle_fill_dtor): Declare. (cplus_demangle_v3_components): Declare. (cplus_demangle_print): Declare. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75748 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-01-09 Kelley Cook <kcook@gcc.gnu.org>kcook2004-01-105-179/+224
| | | | | | | | | | | * configure.in: Rename file to ... * configure.ac: ... this. * Makefile.in: Update a comment for above change. * README: Likewise. * config.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75623 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_encoding): When DMGL_PARAMS is not set, stripian2004-01-025-761/+1700
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75336 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (is_ctor_or_dtor): Fix error in last change.ian2003-12-262-2/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75030 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/13272drow2003-12-223-20/+9
| | | | | | | | | * Makefile.in (lbasename.o): Depend on filenames.h. * lbasename.c: Include "filenames.h" instead of defining its macros locally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74943 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supportsian2003-12-222-291/+522
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74933 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_identifier): In Java mode, skip an optional '$'ian2003-12-203-0/+17
| | | | | | | | after the identifier. * testsuite/demangle-expected: Add test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74885 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR c++/13447:ian2003-12-193-10/+120
| | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74850 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_print_function_type): Print the functionian2003-12-153-1/+17
| | | | | | | | parameters with no modifiers. * testsuite/demangle-expected: Add test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74652 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don'tian2003-12-152-31/+40
| | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74651 138bc75d-0d04-0410-961f-82ee72b054a4
* * libiberty/Makefile.in (floatformat.o): Add dependency ondj2003-12-152-1/+7
| | | | | | | config.h to accompany change of 2003-12-03. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74641 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix handling of constructor/destructor of standard substitution:ian2003-12-153-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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74632 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (IS_UPPER, IS_LOWER): Define.ian2003-12-043-125/+298
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74290 138bc75d-0d04-0410-961f-82ee72b054a4
* * floatformat.c: Include "config.h" and <string.h> if available.ian2003-12-032-38/+157
| | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74237 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_demangle): Only return success if we consumedian2003-12-012-2/+17
| | | | | | | | the entire demangled string. (is_ctor_or_dtor): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74129 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/demangle-expected: Revert one part of 2003-06-26 patchian2003-12-011-2/+13
| | | | | | | | to restore expected result of EDG test case to original expected result. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74128 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (struct d_print_mod): Add templates field.ian2003-11-263-71/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73970 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS toian2003-11-252-1/+6
| | | | | | | d_demangle. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73931 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_encoding): Add top_level parameter. Change allian2003-11-242-14/+35
| | | | | | | | | | callers. (print_usage): Display new -p option. (long_options): Add --no-params. (main): Accept and handle -p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73884 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (has_return_type): Skip qualifiers when checkingian2003-11-213-0/+32
| | | | | | | | whether we have a template. * testsuite/demangle-expected: Add four new tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73819 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/demangle-expected: Minor changes to match output ofian2003-11-212-5/+9
| | | | | | | | new demangler: adjust whitespace in four tests, and change order of qualifiers in one test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73813 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c: Complete rewrite.ian2003-11-212-3474/+2969
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73788 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (demangle_type): Correct thinko in substitutionmmitchel2003-11-202-3/+10
| | | | | | | processing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73751 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (demangle_operator_name): Remove space beforeian2003-11-192-20/+134
| | | | | | | | | | | | | "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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73723 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/test-demangle.c (main): Don't pass DMGL_VERBOSE toian2003-11-182-1/+4
| | | | | | | cplus_demangle. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73709 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.ian2003-11-182-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73708 138bc75d-0d04-0410-961f-82ee72b054a4