aboutsummaryrefslogtreecommitdiff
path: root/include/demangle.h
AgeCommit message (Collapse)AuthorFilesLines
2007-08-31mangle.c (write_type): Change mangling of rvalue reference from `RR' to `O'.Doug Gregor1-0/+3
2007-08-31 Douglas Gregor <doug.gregor@gmail.com> * mangle.c (write_type): Change mangling of rvalue reference from `RR' to `O'. 2007-08-31 Douglas Gregor <doug.gregor@gmail.com> * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_RVALUE_REFERENCE. 2007-08-31 Douglas Gregor <doug.gregor@gmail.com> * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_RVALUE_REFERENCE. (d_make_comp): Ditto. (cplus_demangle_type): Ditto. (d_print_comp): Ditto. (d_print_mod): Ditto. (d_print_function_type): Ditto. 2007-08-31 Douglas Gregor <doug.gregor@gmail.com> * testsuite/abi/demangle/cxx0x/rref.cc: New. From-SVN: r127999
2007-04-26* demangle.h: Change license to LGPL + exception.Mark Mitchell1-14/+23
From-SVN: r124174
2007-01-29demangle.h: New cplus_demangle_print_callback...Simon Baldwin1-5/+36
include/: * demangle.h: New cplus_demangle_print_callback, cplus_demangle_v3_callback, and java_demangle_v3_callback function prototypes, and demangle_callbackref type definition. libiberty/: * cp-demangle.h (cplus_demangle_operators): External definition suppressed if not building for libstdc++. * cp-demangle.c (__gcclibcxx_demangle_callback): Augmented interface to demangling, provides a malloc-less version of __cxa_demangle. (cplus_demangle_print_callback): Public callback version of cplus_demangle_print. (struct d_growable_string): New growable string structure. (d_growable_string_init): New function, provides support for growable strings separate from print info. (d_growable_string_resize): Likewise. (d_growable_string_append_buffer): Likewise. (d_growable_string_callback_adapter):): Likewise. (d_print_init): New print info initialization function. (d_print_error): Macro replace by inline function. (d_print_saw_error): Likewise. (d_append_char): Likewise. (d_append_buffer): Likewise. (d_append_string): New inline function, replaces the d_append_string_constant macro. (d_flush_buffer): New function, flushes buffer to callback. (d_demangle_callback, is_ctor_or_dtor): Malloc-based fallback for unsupported dynamic arrays replaced by alloca(). (d_demangle): Return string length estimating removed. (d_dump): Moved error case handling from call site into function. (d_print_resize): Function removed. (d_print_append_char): Likewise. (d_print_append_buffer): Likewise. (d_print_error): Likewise. (d_print_comp): Added special case handling for Java arrays. (java_demangle_v3): Removed string post-processing for Java arrays, now replaced by special case handling in d_print_comp. (cplus_demangle_v3_callback): Augmented interface to demangling, provides a malloc-less version of cplus_demangle_v3. (java_demangle_v3_callback): Augmented interface to demangling, provides a malloc-less version of java_demangle_v3. From-SVN: r121305
2005-12-11Fixes java/PR9861Terry Laurenzo1-0/+2
From-SVN: r108374
2005-05-25demangle.h (DEMANGLE_COMPONENT_HIDDEN_ALIAS): New.Richard Henderson1-0/+3
include/ * demangle.h (DEMANGLE_COMPONENT_HIDDEN_ALIAS): New. libiberty/ * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_HIDDEN_ALIAS. (d_make_comp, d_print_comp): Likewise. (d_special_name): Generate one. * testsuite/demangle-expected: Add a hidden alias test. From-SVN: r100174
2005-05-10Update the address and phone number of the FSF organization.Nick Clifton1-2/+2
From-SVN: r99518
2005-03-26demangle.h: Remove uses of PARAMS.Gabriel Dos Reis1-36/+34
include/ 2005-03-26 Gabriel Dos Reis <gdr@integrable-solutions.net> * demangle.h: Remove uses of PARAMS. * libiberty.h (ANSI_PROTOTYPES): Remove guard since ANSI_PROTOTYPES is always assumed. Remove uses of PARAMS throughout. libiberty/ 2005-03-26 Gabriel Dos Reis <gdr@integrable-solutions.net> 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): 2005-03-26 Gabriel Dos Reis <gdr@integrable-solutions.net> 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. From-SVN: r97085
2004-05-04demangle.h: Do not use C++ reserved keyword typename as parameter for...Andreas Jaeger1-1/+1
* demangle.h: Do not use C++ reserved keyword typename as parameter for cplus_demangle_fill_builtin_type. From-SVN: r81481
2004-01-13demangle.h: Instead of checking ANSI_PROTOTYPES, just include "libiberty.h".Ian Lance Taylor1-6/+1
2004-01-12 Ian Lance Taylor <ian@wasabisystems.com> * demangle.h: Instead of checking ANSI_PROTOTYPES, just include "libiberty.h". From-SVN: r75789
2004-01-13* demangle.h: If ANSI_PROTOTYPES is defined, include <stddef.h>.Ian Lance Taylor1-0/+5
From-SVN: r75783
2004-01-12demangle.h (enum demangle_component_type): Define.Ian Lance Taylor1-2/+364
* demangle.h (enum demangle_component_type): Define. (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. From-SVN: r75748
2003-07-06demangle.h: Support C++.H.J. Lu1-0/+8
2003-07-06 H.J. Lu <hongjiu.lu@intel.com> * demangle.h: Support C++. From-SVN: r69016
2002-06-25demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.Alan Modra1-2/+2
* demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>. * fibheap.h: Likewise. * hashtab.h: Likewise. * partition.h: Likewise. * sort.h: Likewise. * splay-tree.h: Likewise. From-SVN: r54974
2002-02-05demangle.h (cplus_demangle_v3): Add "options" parm.Jason Merrill1-6/+3
* demangle.h (cplus_demangle_v3): Add "options" parm. (cplus_demangle_v3_type): Remove prototype. (DMGL_VERBOSE): New macro. (DMGL_TYPES): New macro. * cplus-dem.c (flags): Add DMGL_VERBOSE (cplus_demangle_v3_p): Remove. (demangle_it): Add DMGL_TYPES to passed flags. * cp-demangle.c (cplus_demangle_v3_all): Remove. (cplus_demangle_v3_type): Remove. (cplus_demangle_v3): Add options parm. * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle. From-SVN: r49525
2002-02-02demangle.h (cplus_demangle_v3_type): New prototype.H.J. Lu1-0/+5
2002-02-02 H.J. Lu (hjl@gnu.org) * demangle.h (cplus_demangle_v3_type): New prototype. From-SVN: r49455
2001-12-06demangle.h (no_demangling): New.Richard Henderson1-0/+2
* demangle.h (no_demangling): New. (NO_DEMANGLING_STYLE_STRING): New. * cplus-dem.c (libiberty_demanglers): Add no_demangling case. (cplus_demangle): Support no_demangling. From-SVN: r47733
2001-10-07demangle.h (demangler_engine): Const-ify.Kaveh R. Ghazi1-5/+5
include: * demangle.h (demangler_engine): Const-ify. * libiberty.h (buildargv): Likewise. libiberty: * argv.c (buildargv, tests, main): Const-ify. * cp-demangle.c (operator_code): Likewise. * cplus-dem.c (optable, libiberty_demanglers, cplus_demangle_set_style, cplus_demangle_name_to_style, print_demangler_list): Likewise. * hashtab.c (higher_prime_number): Likewise. * strcasecmp.c (charmap): Likewise. * strerror.c (error_info, strerror, main): Likewise. * strncasecmp.c (charmap): Likewise. * strsignal.c (signal_info): Likewise. From-SVN: r46060
2001-05-08cp-demangle.c (demangle_v3_with_details, [...]): Use K+R style function ↵Zack Weinberg1-2/+4
definition. * cp-demangle.c (demangle_v3_with_details, is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor): Use K+R style function definition. * ternary.c: Use K+R style function definitions. Use PTR, not void *. Make arguments constant where possible. * demangle.h: Use PARAMS for all prototypes. * ternary.h: Use PARAMS for all prototypes. Use PTR, not void *. Make arguments constant where possible. From-SVN: r41910
2001-03-21demangle.h (enum gnu_v3_constructor_kinds, [...]): New declarations.Jim Blandy1-0/+26
* demangle.h (enum gnu_v3_constructor_kinds, is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds, is_gnu_v3_mangled_dtor): New declarations. From-SVN: r40709
2001-03-14Fix copyright datesNick Clifton1-1/+2
From-SVN: r40469
2001-02-02Add support for Java demangling under the v3 ABI:Bryce McKinlay1-1/+4
* cp-demangle.c (NAMESPACE_SEPARATOR): New define. (struct demangling_def): Add `style' field. (demangling_new): New parameter `style'. Set it in demangling_t. (demangle_prefix): Use NAMESPACE_SEPARATOR. (demangle_type_ptr): Don't emit pointer symbol if doing Java output. (cp_demangle): New parameter `style'. Pass it to demangling_new(). (main): Call cp_demangle with extra parameter. (java_demangle_v3): New function. (java_builtin_type_names): New. Table of primitive type names used for Java demangling. (demangle_builtin_type): Look up in java_builtin_type_names if doing Java output. * cplus-dem.c (cplus_demangle): Use java_demangle_v3 to do Java demangling. (long_options): Remove obsolete `java' option. (main): Remove explicit handling of `java' option. Instead, pass style parameter in cplus_demangle flags as gdb does. * testsuite/demangle.expected: Add some Java test cases. From-SVN: r39399
2000-12-05also tweak commentJason Merrill1-1/+1
From-SVN: r38034
2000-12-04* demangle.h: Change "new_abi" to "v3" everywhere.Richard Henderson1-6/+6
From-SVN: r38020
2000-11-15* demangle.h: Add gnat and java demangle styles.Kenneth Block1-2/+9
From-SVN: r37474
2000-06-07configure.in (ac_libiberty_warn_cflags): Add -pedantic.Kaveh R. Ghazi1-1/+1
libiberty: * configure.in (ac_libiberty_warn_cflags): Add -pedantic. * choose-temp.c (try, choose_temp_base, make_temp_file): Constify. * cp-demangle.c (demangle_char): Change parameter from char to int. (demangle_expression, demangle_expr_primary): Remove extra semi-colon in prototype. * dyn-string.c (dyn_string_append_char): Change parameter from char to int. * memcmp.c (memcmp): Constify. * mkstemps.c (gcc_uint64_t): Mark GNUC `long long' case with __extension__. * partition.c (elem_compare): Prototype. Don't cast away const-ness. * setenv.c (setenv): Use braces to avoid ambiguous `else'. include: * demangle.h (demangling_styles): Remove trailing comma in enum. * dyn-string.h (dyn_string_append_char): Change parameter from char to int. From-SVN: r34447
2000-06-05In include,Alex Samuel1-20/+30
* dyn-string.h: Move here from gcc/dyn-string.h. Add new functions. * demangle.h (DMGL_GNU_NEW_ABI): New macro. (DMGL_STYLE_MASK): Or in DMGL_GNU_NEW_ABI. (current_demangling_style): Add gnu_new_abi_demangling. (GNU_NEW_ABI_DEMANGLING_STYLE_STRING): New macro. (GNU_NEW_ABI_DEMANGLING): Likewise. (cplus_demangle_new_abi): New declaration. In libiberty, * Makefile.in (CFILES): Add cp-demangle.c and dyn-string.c. (REQUIRED_OFILES): Add cp-demangle.o and dyn-string.o. (cp-demangle.o): New dependency. (dyn-string.o): Likewise. * dyn-string.c: Move here from gcc/dyn-string.c. Add new functions. * cplus-dem.c (libiberty_demanglers): Add initializer for new-ABI demangler. (cplus_demangle): Call cplus_demangle_new_abi if in new-ABI demangling mode. (gnu_new_abi_symbol_characters): New function. (main): Use gnu_new_abi_symbol_characters. * cp-demangle.c: New file. * cp-demangle.c: New file. From-SVN: r34397
2000-05-04demangle.h (demangler_engine): Constify.Kaveh R. Ghazi1-2/+2
include: * demangle.h (demangler_engine): Constify. libiberty: * cplus-dem.c (cplus_demangle_opname, demangle_function_name): Cast the arguments to `islower' to `unsigned char'. (print_demangler_list): Prototype. From-SVN: r33679
2000-04-28* libiberty/cplus-dem.cKenneth Block1-0/+15
(libiberty_demanglers): new table for demangle styles (cplus_demangle_set_style): New function for setting style (cplus_demangle_name_to_style): New function to translate name * include/demangle.h (libiberty_demanglers): new table for different styles (cplus_demangle_set_style): New function for setting style (cplus_demangle_name_to_style): New function to translate name Co-Authored-By: Jason Merrill <jason@casey.cygnus.com> From-SVN: r33525
1998-12-14demangle.h: Don't check IN_GCC anymore.Kaveh R. Ghazi1-2/+0
* demangle.h: Don't check IN_GCC anymore. * splay-tree.h: Likewise. From-SVN: r24306
1998-12-07demangle.h: (DMGL_EDG): new macro for Kuck and AssociatesElena Zannoni1-3/+13
* demangle.h: (DMGL_EDG): new macro for Kuck and Associates (DMGL_STYLE_MASK): modify to include Kuck and Assoc style (demangling_styles): add new edg_demangling style (EDG_DEMANGLING_STYLE_STRING): new macro (EDG_DEMANGLING): new macro * demangle.h (DMGL_HP): new macro, for HP/aCC compiler. (DMGL_STYLE_MASK): modify to include new HP's style. (demangling_styles): add new hp_demangling value. (HP_DEMANGLING_STYLE_STRING): new macro. (ARM_DEMANGLING): coerce to int. (HP_DEMANGLING): new macro. From-SVN: r24173
1998-11-08ansidecl.h: Wrap problematic macros with !IN_GCC.Kaveh R. Ghazi1-4/+2
* ansidecl.h: Wrap problematic macros with !IN_GCC. * demangle.h: Never define PARAMS(). * splay-tree.h: Likewise. From-SVN: r23574
1998-11-07demangle.h: Don't include gansidecl.h.Kaveh R. Ghazi1-1/+0
* demangle.h: Don't include gansidecl.h. * splay-tree.h: Likewise. From-SVN: r23561
1997-08-21Initial revisionJason Merrill1-0/+90
From-SVN: r14877