merge from gcc
authorDJ Delorie <dj@redhat.com>
Fri, 2 Jan 2004 21:11:34 +0000 (21:11 +0000)
committerDJ Delorie <dj@redhat.com>
Fri, 2 Jan 2004 21:11:34 +0000 (21:11 +0000)
include/ChangeLog
libiberty/ChangeLog
libiberty/cp-demangle.c
libiberty/cplus-dem.c
libiberty/testsuite/demangle-expected
libiberty/testsuite/test-demangle.c

index 33163834229ec22f6b0f92e53e2a5048b0844d7f..ff08e82d9ab08d7db407435362d71c322f3af2b2 100644 (file)
@@ -1,3 +1,597 @@
+2003-12-19  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * include/fibheap.h (fibnode): Use __extension__ for
+       bit-fields mark and degree if __GNUC__.
+
+2003-12-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * include/fibheap.h (fibnode): Use unsigned long int for
+       bit-fields if __GNUC__ is defined.
+
+2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * obstack.h: Merge the following change from gnulib:
+       2003-10-21  Paul Eggert  <eggert@twinsun.com>
+       * obstack.h (obstack_1grow_fast): Properly parenthesize arg.
+       (obstack_ptr_grow_fast, obstack_int_grow_fast):
+       Don't use lvalue casts, as GCC plans to remove support for them
+       in GCC 3.5.  Reported by Joseph S. Myers.  This bug
+       was also present in the non-GCC version, indicating that this
+       code had always been buggy and had never been widely used.
+       (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
+       Use the fast variant of each macro, rather than copying the
+       definiens of the fast variant; that way, we'll be more likely to
+       catch future bugs in the fast variants.
+
+2003-09-22  Andrew Cagney  <cagney@redhat.com>
+
+       * floatformat.h (struct floatformat): Add field "is_valid".
+
+2003-09-15  Andrew Cagney  <cagney@redhat.com>
+
+       * floatformat.h (floatformat_to_double): Make input buffer constant.
+       (floatformat_from_double, floatformat_is_valid): Ditto.
+
+2003-09-15  Andrew Cagney  <cagney@redhat.com>
+
+       * floatformat.h (struct floatformat): Make "exp_bias" signed.
+
+2003-09-15  Daniel Jacobowitz  <drow@mvista.com>
+
+       * floatformat.h (floatformat_is_valid): Add prototype.
+
+2003-07-09  Bob Wilson  <bob.wilson@acm.org>
+
+       * xtensa-config.h: Undef all macros before defining them.
+
+2003-07-06  H.J. Lu <hongjiu.lu@intel.com>
+
+       * demangle.h: Support C++.
+
+2003-07-01  Zack Weinberg  <zack@codesourcery.com>
+
+       * filenames.h: New file imported from binutils.
+
+2003-06-30  Bob Wilson  <bob.wilson@acm.org>
+
+       * xtensa-config.h: New file imported from binutils.
+
+2003-06-22  Zack Weinberg  <zack@codesourcery.com>
+
+       * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to
+       HOST_CHARSET_UNKNOWN, HOST_CHARSET_ASCII, HOST_CHARSET_EBCDIC
+       respectively.
+
+2003-06-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET):
+       New #defines.
+
+2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support.
+
+2003-05-15  Jim Blandy  <jimb@redhat.com>
+
+       * libiberty.h (hex_value): Make the value an unsigned int, to
+       avoid unexpected sign-extension when cast to unsigned types larger
+       than int --- like bfd_vma, on some platforms.
+       (_hex_value): Update declaration.
+
+2003-05-07  Jason Merrill  <jason@redhat.com>
+
+       * hashtab.h (iterative_hash): Prototype.
+       (iterative_hash_object): New macro.
+
+2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF,
+       ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2,
+       ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4,
+       ATTRIBUTE_NULL_PRINTF_5): New.
+       (ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL.
+
+2003-03-17  Jan Hubicka  <jh@suse.cz>
+
+       * hashtab.h (htab_traverse_noresize): Declare.
+
+2003-02-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libiberty.h: Document return value of physmem routines.
+
+2003-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libiberty.h (physmem_total, physmem_available): Prototype.
+
+2003-02-20  Daniel Jacobowitz  <drow@mvista.com>
+
+       * libiberty.h (lrealpath): Add declaration.
+
+2003-01-26  Daniel Jacobowitz  <drow@mvista.com>
+
+       * hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
+       (struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f.
+       (htab_create_alloc_ex): New prototype.
+       (htab_set_functions_ex): New prototype.
+
+2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
+
+       * splay-tree.h (GTY): Define if undefined.
+       (splay_tree_allocate_fn): Return PTR for compatibility, not void *.
+       (struct splay_tree_node_s): Support gengtype.
+       (struct splay_tree_s): Likewise.  Make allocate_data a PTR,
+       not a void *.
+
+2002-11-23  Simon Burge  <simonb@wasabisystems.com>
+
+       * libiberty.h (basename): Add NetBSD to the list.
+
+2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
+
+       * libiberty.h (make_relative_prefix): Add prototype.
+
+2002-10-26  Roger Sayle  <roger@eyesopen.com>
+
+       * partition.h:  Close the extern "C" scope when compiling with C++.
+
+2002-10-26  Roger Sayle  <roger@eyesopen.com>
+           DJ Delorie <dj@redhat.com>
+
+       PR bootstrap/8351
+       * getopt.h: Avoid prototyping getopt with no arguments in C++.
+
+2002-10-24  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+       * ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the
+       list of platform compilers that may look, smell and act
+       like __STDC__ but that may not define it.
+
+2002-10-11  David O'Brien  <obrien@FreeBSD.org>
+
+       * getopt.h: getopt is in unistd.h (based on SUSv2).
+
+2002-09-19  Alexandre Oliva  <aoliva@redhat.com>
+
+       * libiberty.h (asprintf, vasprintf): Don't declare them if the
+       corresponding HAVE_DECL_ macro is 1.
+
+2002-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+       * 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.
+
+2002-06-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME.
+       * getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT.
+
+2002-06-06  DJ Delorie  <dj@redhat.com>
+
+       * hashtab.h (htab): Rearrange new members for backward
+       compatibility.
+       (htab_create): Don't use a macro that requires other headers.
+
+2002-06-05  Geoffrey Keating  <geoffk@redhat.com>
+
+       * hashtab.h (htab_create): Restore prototype for backward
+       compatibility.
+       (htab_try_create): Likewise.
+
+2002-05-22  Geoffrey Keating  <geoffk@redhat.com>
+
+       * hashtab.h (struct htab): Update for change to length specifier.
+
+2002-05-10  Geoffrey Keating  <geoffk@redhat.com>
+
+       * hashtab.h (GTY): Define if undefined.
+       (htab_alloc): New typedef.
+       (htab_free): New typedef.
+       (struct htab): Support gengtype; allow user-specified memory
+       allocation.
+       (htab_create_alloc): New.
+       (htab_create): Replace with #define.
+       (htab_try_create): Delete.
+
+2002-04-16  David S. Miller  <davem@redhat.com>
+
+       * xregex2.h (__restrict_arr): Define to __restrict on GCC
+       3.1 and later.  Do not redefine.
+
+2002-04-01  Phil Edwards  <pme@gcc.gnu.org>
+
+       * dyn-string.h:  Also allow IN_GLIBCPP_V3 to redefine names.
+
+2002-03-06  Andrew Cagney  <ac131313@redhat.com>
+
+       * floatformat.h (floatformat_arm_ext): Delete declaration.
+
+2002-02-22  Jim Blandy  <jimb@redhat.com>
+
+       Allow the user to specify functions for allocating memory for
+       splay tree roots and nodes.
+       * splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn):
+       New types.
+       (splay_tree): New fields: `allocate', `deallocate', and
+       `allocate_data'.
+       (splay_tree_new_with_allocator): New function declaration.
+
+2002-02-05  Jason Merrill  <jason@redhat.com>
+
+       * demangle.h (cplus_demangle_v3): Add "options" parm.
+       (cplus_demangle_v3_type): Remove prototype.
+       (DMGL_VERBOSE): New macro.
+       (DMGL_TYPES): New macro.
+
+2002-02-02  H.J. Lu  (hjl@gnu.org)
+
+       * demangle.h (cplus_demangle_v3_type): New prototype.
+
+2002-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC.
+
+2001-12-06  Richard Henderson  <rth@redhat.com>
+
+       * demangle.h (no_demangling): New.
+       (NO_DEMANGLING_STYLE_STRING): New.
+
+2001-10-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New.
+
+2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libiberty.h (hex_init): Revert delete.
+
+       * libiberty.h (_hex_value): Const-ify.
+       (hex_init): Delete.
+
+2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * demangle.h (demangler_engine): Const-ify.
+       * libiberty.h (buildargv): Likewise.
+
+2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libiberty.h (reconcat): New function.
+
+2001-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libiberty.h (concat, concat_length, concat_copy, concat_copy2,
+       ACONCAT): Improve comments.
+
+2001-09-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * objalloc.h (OBJALLOC_ALIGN): Define using offsetof.
+
+2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libiberty.h (concat_length, concat_copy, concat_copy2,
+       libiberty_concat_ptr, ACONCAT): New.
+
+       * libiberty.h (ASTRDUP): New macro.
+       libiberty_optr, libiberty_nptr, libiberty_len): Declare.
+
+2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ansidecl.h: Update comments reflecting previous change.
+
+2001-08-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
+
+2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
+
+       * dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h:
+       replace "GNU CC" with "GCC".
+
+2001-08-21  Richard Henderson  <rth@redhat.com>
+
+       * fibheap.h: Tidy formatting.
+       (fibnode_t): Limit degree to 31 bits to avoid warning.
+
+2001-08-20  Andrew Cagney  <ac131313@redhat.com>
+
+       * floatformat.h (floatformat_arm_ext): Document as deprecated.
+       (floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword)
+       (floatformat_ia64_spill_little, floatformat_ia64_quad_little)
+       (floatformat_ia64_spill_big, floatformat_ia64_quad_big)
+       (floatformat_m88110_harris_ext): Declare.
+
+2001-08-20  Daniel Berlin  <dan@cgsoftware.com>
+
+       * fibheap.h: New file. Fibonacci heap.
+
+2001-08-18  Zack Weinberg  <zackw@panix.com>
+
+       * ansidecl.h: Reorganize for readability, remove documentation
+       of obsolete macros, document PARAMS and VPARAMS.  Add new
+       macros VA_OPEN, VA_CLOSE, and VA_FIXEDARG for nicer variadic
+       function implementation.
+
+2001-08-16  Richard Henderson  <rth@redhat.com>
+
+       * hashtab.h (htab_hash_string): Declare.
+
+2001-08-10  Andrew Cagney  <ac131313@redhat.com>
+
+       * libiberty.h (lbasename): Change function declaration to return a
+       const char pointer.
+
+2001-08-02  Mark Kettenis  <kettenis@gnu.org>
+
+       * xregex.h (_REGEX_RE_COMP): Define.
+       (re_comp): Define to xre_comp.
+       (re_exec): Define to xre_exec.
+
+2001-07-18  Andreas Jaeger  <aj@suse.de>
+
+       * xregex2.h: Place under LGPL version 2.1.
+
+2001-07-10  Jeff Johnston  <jjohnstn@redhat.com>
+
+       * xregex.h: New file to support libiberty regex.
+       * xregex2.h: Ditto.
+
+2001-05-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+
+       * partition.h: Fix misspelling of `implementation'.
+
+2001-05-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ansidecl.h (NULL_PTR): Delete.
+
+2001-05-07  Zack Weinberg  <zackw@stanford.edu>
+
+       * demangle.h: Use PARAMS for all prototypes.
+       * ternary.h: Use PARAMS for all prototypes.  Use PTR, not void *.
+       Make arguments constant where possible.
+
+2001-05-07  Mark Mitchell  <mark@codesourcery.com>
+
+       * splay-tree.h (splay_tree_max): New function.
+       (splay_tree_min): Likewise.
+
+2001-04-15  Daniel Berlin  <dan@cgsoftware.com>
+
+       * ternary.h: New file - Ternary search tree header.
+
+2001-04-03  Zack Weinberg  <zackw@stanford.edu>
+
+       * ansidecl.h: All logic from gcc/gansidecl.h moved here.
+
+2001-03-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libiberty.h (alloca): Handle setting C_ALLOCA.
+
+2001-03-20  Jim Blandy  <jimb@redhat.com>
+
+       * demangle.h (enum gnu_v3_constructor_kinds,
+       is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds,
+       is_gnu_v3_mangled_dtor): New declarations.
+
+2001-03-14  Nick Clifton  <nickc@redhat.com>
+
+       * ansidecl.h: Fix copyright dates.
+       * demangle.h: Fix copyright dates.
+       * floatformat.h: Fix copyright dates.
+       * fnmatch.h: Fix copyright dates.
+       * getopt.h: Fix copyright dates.
+       * libiberty.h: Add FSF copyright notice.
+       * md5.h: Fix copyright dates.
+       * obstack.h: Fix copyright dates.
+       * splay-tree.h: Fix copyright dates.
+
+2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+           John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * libiberty.h: Add lbasename.
+
+2001-03-06  Zack Weinberg  <zackw@stanford.edu>
+
+       * libiberty.h: Prototype C_alloca; define alloca to either
+       __builtin_alloca or C_alloca as appropriate.
+
+2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc
+       compatibility.
+
+2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * COPYING: Update to current
+       ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
+       to 19yy as example year in copyright notice).
+
+2000-12-16  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+
+       * safe-ctype.h: Make code work on all targets and not just on
+       targets where a char is 8 bits.
+
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * safe-ctype.h: New file.
+
+2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
+
+       * getopt.h obstack.h: Standarize copyright statement.
+
+2000-12-04  Richard Henderson  <rth@redhat.com>
+
+       * demangle.h: Change "new_abi" to "v3" everywhere.
+
+2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * libiberty.h: Move #includes to top.  Prototype xmalloc_failed.
+
+2000-11-15  Kenneth Block  <kenneth.block@compaq.com>
+
+       * demangle.h: Add gnat and java demangle styles.
+
+2000-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * hashtab.h (struct htab): Add member return_allocation_failure.
+       (htab_try_create): New prototype.  Mention which functions may
+       return NULL when this is used.
+
+2000-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * hashtab.h: Change void * to PTR where necessary.
+
+2000-09-10  Mark Mitchell  <mark@codesourcery.com>
+
+       * splay-tree.h (splay_tree_predecessor): Declare.
+
+2000-09-05  John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+       * md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX.
+
+2000-09-04  Alex Samuel  <samuel@codesourcery.com>
+
+       * dyn-string.h: Adjust formatting.
+       (dyn_string_insert_char): New macro.  New declaration.
+
+2000-08-28  Jason Merrill  <jason@redhat.com>
+
+       * md5.h: New file.
+
+2000-08-24  Greg McGary  <greg@mcgary.org>
+
+       * libiberty.h (ARRAY_SIZE): New macro.
+
+2000-06-21  Alex Samuel  <samuel@codesourcery.com>
+
+       * dyn-string.h (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_append, dyn_string_append_cstr,
+       dyn_string_append_char, dyn_string_substring_dyn_string_eq):
+       Define as same name with __cxa_ prepended, if IN_LIBGCC2.
+       (dyn_string_init, dyn_string_copy, dyn_string_copy_cstr,
+       dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
+       dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
+       dyn_string_append_char, dyn_string_substring): Change return type
+       to int.
+
+2000-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * demangle.h (demangling_styles): Remove trailing comma in enum.
+
+       * dyn-string.h (dyn_string_append_char): Change parameter from
+       char to int.
+
+2000-06-04  Alex Samuel  <samuel@codesourcery.com>
+
+       * 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.
+
+Tue May 30 16:53:34 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * floatformat.h (struct floatformat): Add field name.
+
+2000-05-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * getopt.h (getopt): Also check HAVE_DECL_* when prototyping.
+
+       * libiberty.h (basename): Likewise.
+
+2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * ansidecl.h: #define __extension__ to nothing if
+       GCC_VERSION < 2008.
+
+2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * demangle.h (demangler_engine): Constify.
+
+Thu May  4 17:15:26 2000  Philippe De Muyter  <phdm@macqel.be>
+
+       * sort.h (sys/types.h): File included unconditionnaly.
+       (stddef.h): File include only #ifdef __STDC__.
+
+2000-05-03  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * symcat.h: Remove #endif label.
+
+2000-04-28  Kenneth Block  <block@zk3.dec.com>
+           Jason Merrill  <jason@casey.cygnus.com>
+
+       * 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.
+
+2000-04-24  Mark Mitchell  <mark@codesourcery.com>
+
+       * hashtab.h (hash_pointer): Declare.
+       (eq_pointer): Likewise.
+
+2000-04-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * sort.h: New file.
+
+Tue Apr 18 16:22:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * hashtab.h (enum insert_option): New type.
+       (htab_find_slot, htab_find_slot_with_hash): Use it.
+
+2000-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * symcat.h: Honor autoconf macro HAVE_STRINGIZE.  Add
+       comments/caveats with regard to traditional C behavior.
+
+2000-04-05  Richard Henderson  <rth@cygnus.com>
+
+       * splay-tree.h (splay_tree_remove): Declare.
+
+2000-03-30  Mark Mitchell  <mark@codesourcery.com>
+
+       * hashtab.h (hashval_t): New type.
+       (htab_find_with_hash): Use it as an argument.
+       (htab_find_slot_with_hash): Likewise.
+
+2000-03-14  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * hashtab.h (htab_trav): Modify type so that first arg is of type
+       void **.
+       (htab_find_with_hash, htab_find_slot_with_hash): Declare new
+       functions.
+
+2000-03-09  Alex Samuel  <samuel@codesourcery.com>
+
+       * partition.h: New file.
+
+2000-03-09  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * hashtab.h (struct htab): Add del_f.
+       (htab_del): New type.
+       (htab_create): Add fourth argument.
+
+2000-03-08  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * hashtab.h (hash_table_t): Rename to htab_t.
+       (struct hash_table): Rename to struct htab.  Shorten element
+       names.  Reorder elements by size.
+       (htab_hash, htab_eq, htab_trav): New typedefs for the callback
+       function pointers.
+       (hash_table_entry_t): Discard; just use void * for element
+       type.
+
+Sat Jan  1 19:06:52 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
+       to stringify argument s.
+
 
 For older changes see ChangeLog-9103
 \f
index ada155da9d1cec366a356939b3c38487a4b4633c..ee71aa1d7c8320daff57376f08f95aa608f1bf8a 100644 (file)
@@ -1,3 +1,16 @@
+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.
index 16871abaad35f12126211d3d7c74cae39e9e6fba..a5d18170536b95326c7b906c6ae1fe1abc27972d 100644 (file)
@@ -1,5 +1,5 @@
 /* Demangler for g++ V3 ABI.
-   Copyright (C) 2003 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@wasabisystems.com>.
 
    This file is part of the libiberty library, which is part of GCC.
@@ -1109,6 +1109,23 @@ d_encoding (di, top_level)
                 || dc->type == D_COMP_VOLATILE_THIS
                 || dc->type == D_COMP_CONST_THIS)
            dc = d_left (dc);
+
+         /* If the top level is a D_COMP_LOCAL_NAME, then there may
+            be CV-qualifiers on its right argument which really apply
+            here; this happens when parsing a class which is local to
+            a function.  */
+         if (dc->type == D_COMP_LOCAL_NAME)
+           {
+             struct d_comp *dcr;
+
+             dcr = d_right (dc);
+             while (dcr->type == D_COMP_RESTRICT_THIS
+                    || dcr->type == D_COMP_VOLATILE_THIS
+                    || dcr->type == D_COMP_CONST_THIS)
+               dcr = d_left (dcr);
+             dc->u.s_binary.right = dcr;
+           }
+
          return dc;
        }
 
index 5e2e7a7126c1321190b959164ebf8f07cf3b3d50..f3c4464f184ad9973e59ffd28273e47a585f1ba7 100644 (file)
@@ -1,6 +1,6 @@
 /* Demangler for GNU C++
    Copyright 1989, 1991, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001 Free Software Foundation, Inc.
+   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    Written by James Clark (jjc@jclark.uucp)
    Rewritten by Fred Fish (fnf@cygnus.com) for ARM and Lucid demangling
    Modified by Satish Pai (pai@apollo.hp.com) for HP demangling
@@ -2318,6 +2318,7 @@ demangle_arm_hp_template (work, mangled, n, declp)
   if (HP_DEMANGLING && ((*mangled)[n] == 'X'))
     {
       char *start_spec_args = NULL;
+      int hold_options;
 
       /* First check for and omit template specialization pseudo-arguments,
          such as in "Spec<#1,#1.*>" */
@@ -2330,6 +2331,12 @@ demangle_arm_hp_template (work, mangled, n, declp)
       string_init (&arg);
       if (work->temp_start == -1) /* non-recursive call */
         work->temp_start = declp->p - declp->b;
+
+      /* We want to unconditionally demangle parameter types in
+        template parameters.  */
+      hold_options = work->options;
+      work->options |= DMGL_PARAMS;
+
       string_append (declp, "<");
       while (1)
         {
@@ -2376,17 +2383,25 @@ demangle_arm_hp_template (work, mangled, n, declp)
       string_delete (&arg);
       if (**mangled == '_')
         (*mangled)++;
+      work->options = hold_options;
       return;
     }
   /* ARM template? (Also handles HP cfront extensions) */
   else if (arm_pt (work, *mangled, n, &p, &args))
     {
+      int hold_options;
       string type_str;
 
       string_init (&arg);
       string_appendn (declp, *mangled, p - *mangled);
       if (work->temp_start == -1)  /* non-recursive call */
        work->temp_start = declp->p - declp->b;
+
+      /* We want to unconditionally demangle parameter types in
+        template parameters.  */
+      hold_options = work->options;
+      work->options |= DMGL_PARAMS;
+
       string_append (declp, "<");
       /* should do error checking here */
       while (args < e) {
@@ -2430,7 +2445,10 @@ demangle_arm_hp_template (work, mangled, n, declp)
 
               /* Fail if we didn't make any progress: prevent infinite loop. */
               if (args == old_args)
-                return;
+               {
+                 work->options = hold_options;
+                 return;
+               }
             }
          }
        string_appends (declp, &arg);
@@ -2441,6 +2459,7 @@ demangle_arm_hp_template (work, mangled, n, declp)
       if (args >= e)
        --declp->p; /* remove extra comma */
       string_append (declp, ">");
+      work->options = hold_options;
     }
   else if (n>10 && strncmp (*mangled, "_GLOBAL_", 8) == 0
           && (*mangled)[9] == 'N'
index dd36b7a24fd1e016f729cc9382315d7df1d48890..25e88309b761df48f45403ef9cf3935b8462ac32 100644 (file)
 # This file holds test cases for the demangler.
-# Each test consists of three lines in succession.
-# The first line is arguments to pass to the test filter program.
-# The second line is the mangled string.
-# The third line is the expected output.
-# A line starting with `#' is ignore.
-# However blank lines in this file are NOT ignored.
-#
---format=gnu
+# Each test case looks like this:
+#  options
+#  input to be demangled
+#  expected output
+#
+#  Supported options:
+#    --format=<name>     Sets the demangling style.
+#    --no-params         There are two lines of expected output; the first
+#                        is with DMGL_PARAMS, the second is without it.
+#    --is-v3-ctor        Calls is_gnu_v3_mangled_ctor on input; expected
+#                        output is an integer representing ctor_kind.
+#    --is-v3-dtor        Likewise, but for dtors.
+#
+#  For compatibility, just in case it matters, the options line may be
+#  empty, to mean --format=auto.  If it doesn't start with --, then it
+#  may contain only a format name.
+#
+# A line starting with `#' is ignored.
+# However, blank lines in this file are NOT ignored.
+#
+--format=gnu --no-params
 AddAlignment__9ivTSolverUiP12ivInteractorP7ivTGlue
 ivTSolver::AddAlignment(unsigned int, ivInteractor *, ivTGlue *)
+ivTSolver::AddAlignment
 #
---format=gnu
+--format=gnu --no-params
 ArrowheadIntersects__9ArrowLineP9ArrowheadR6BoxObjP7Graphic
 ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &, Graphic *)
+ArrowLine::ArrowheadIntersects
 #
---format=gnu
+--format=gnu --no-params
 AtEnd__13ivRubberGroup
 ivRubberGroup::AtEnd(void)
+ivRubberGroup::AtEnd
 #
---format=gnu
+--format=gnu --no-params
 BgFilter__9ivTSolverP12ivInteractor
 ivTSolver::BgFilter(ivInteractor *)
+ivTSolver::BgFilter
 #
---format=gnu
+--format=gnu --no-params
 Check__6UArrayi
 UArray::Check(int)
+UArray::Check
 #
---format=gnu
+--format=gnu --no-params
 CoreConstDecls__8TextCodeR7ostream
 TextCode::CoreConstDecls(ostream &)
+TextCode::CoreConstDecls
 #
---format=gnu
+--format=gnu --no-params
 Detach__8StateVarP12StateVarView
 StateVar::Detach(StateVarView *)
+StateVar::Detach
 #
---format=gnu
+--format=gnu --no-params
 Done__9ComponentG8Iterator
 Component::Done(Iterator)
+Component::Done
 #
---format=gnu
+--format=gnu --no-params
 Effect__11RelateManipR7ivEvent
 RelateManip::Effect(ivEvent &)
+RelateManip::Effect
 #
---format=gnu
+--format=gnu --no-params
 FindFixed__FRP4CNetP4CNet
 FindFixed(CNet *&, CNet *)
+FindFixed
 #
---format=gnu
+--format=gnu --no-params
 Fix48_abort__FR8twolongs
 Fix48_abort(twolongs &)
+Fix48_abort
 #
---format=gnu
+--format=gnu --no-params
 GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveRiT2
 iv2_6_VScroller::GetBarInfo(ivPerspective *, int &, int &)
+iv2_6_VScroller::GetBarInfo
 #
---format=gnu
+--format=gnu --no-params
 GetBgColor__C9ivPainter
 ivPainter::GetBgColor(void) const
+ivPainter::GetBgColor
 #
---format=gnu
+--format=gnu --no-params
 InsertBody__15H_PullrightMenuii
 H_PullrightMenu::InsertBody(int, int)
+H_PullrightMenu::InsertBody
 #
---format=gnu
+--format=gnu --no-params
 InsertCharacter__9TextManipc
 TextManip::InsertCharacter(char)
+TextManip::InsertCharacter
 #
---format=gnu
+--format=gnu --no-params
 InsertToplevel__7ivWorldP12ivInteractorT1
 ivWorld::InsertToplevel(ivInteractor *, ivInteractor *)
+ivWorld::InsertToplevel
 #
---format=gnu
+--format=gnu --no-params
 InsertToplevel__7ivWorldP12ivInteractorT1iiUi
 ivWorld::InsertToplevel(ivInteractor *, ivInteractor *, int, int, unsigned int)
+ivWorld::InsertToplevel
 #
---format=gnu
+--format=gnu --no-params
 IsAGroup__FP11GraphicViewP11GraphicComp
 IsAGroup(GraphicView *, GraphicComp *)
+IsAGroup
 #
---format=gnu
+--format=gnu --no-params
 IsA__10ButtonCodeUl
 ButtonCode::IsA(unsigned long)
+ButtonCode::IsA
 #
---format=gnu
+--format=gnu --no-params
 ReadName__FR7istreamPc
 ReadName(istream &, char *)
+ReadName
 #
---format=gnu
+--format=gnu --no-params
 Redraw__13StringBrowseriiii
 StringBrowser::Redraw(int, int, int, int)
+StringBrowser::Redraw
 #
---format=gnu
+--format=gnu --no-params
 Rotate__13ivTransformerf
 ivTransformer::Rotate(float)
+ivTransformer::Rotate
 #
---format=gnu
+--format=gnu --no-params
 Rotated__C13ivTransformerf
 ivTransformer::Rotated(float) const
+ivTransformer::Rotated
 #
---format=gnu
+--format=gnu --no-params
 Round__Ff
 Round(float)
+Round
 #
---format=gnu
+--format=gnu --no-params
 SetExport__16MemberSharedNameUi
 MemberSharedName::SetExport(unsigned int)
+MemberSharedName::SetExport
 #
---format=gnu
+--format=gnu --no-params
 Set__14ivControlState13ControlStatusUi
 ivControlState::Set(ControlStatus, unsigned int)
+ivControlState::Set
 #
---format=gnu
+--format=gnu --no-params
 Set__5DFacePcii
 DFace::Set(char *, int, int)
+DFace::Set
 #
---format=gnu
+--format=gnu --no-params
 VConvert__9ivTSolverP12ivInteractorRP8TElementT2
 ivTSolver::VConvert(ivInteractor *, TElement *&, TElement *&)
+ivTSolver::VConvert
 #
---format=gnu
+--format=gnu --no-params
 VConvert__9ivTSolverP7ivTGlueRP8TElement
 ivTSolver::VConvert(ivTGlue *, TElement *&)
+ivTSolver::VConvert
 #
---format=gnu
+--format=gnu --no-params
 VOrder__9ivTSolverUiRP12ivInteractorT2
 ivTSolver::VOrder(unsigned int, ivInteractor *&, ivInteractor *&)
+ivTSolver::VOrder
 #
---format=gnu
+--format=gnu --no-params
 _10PageButton$__both
 PageButton::__both
+PageButton::__both
 #
---format=gnu
+--format=gnu --no-params
 _3RNG$singleMantissa
 RNG::singleMantissa
+RNG::singleMantissa
 #
---format=gnu
+--format=gnu --no-params
 _5IComp$_release
 IComp::_release
+IComp::_release
 #
---format=gnu
+--format=gnu --no-params
 _$_10BitmapComp
 BitmapComp::~BitmapComp(void)
+BitmapComp::~BitmapComp
 #
---format=gnu
+--format=gnu --no-params
 _$_9__io_defs
 __io_defs::~__io_defs(void)
+__io_defs::~__io_defs
 #
---format=gnu
+--format=gnu --no-params
 _$_Q23foo3bar
 foo::bar::~bar(void)
+foo::bar::~bar
 #
---format=gnu
+--format=gnu --no-params
 _$_Q33foo3bar4bell
 foo::bar::bell::~bell(void)
+foo::bar::bell::~bell
 #
---format=gnu
+--format=gnu --no-params
 __10ivTelltaleiP7ivGlyph
 ivTelltale::ivTelltale(int, ivGlyph *)
+ivTelltale::ivTelltale
 #
---format=gnu
+--format=gnu --no-params
 __10ivViewportiP12ivInteractorUi
 ivViewport::ivViewport(int, ivInteractor *, unsigned int)
+ivViewport::ivViewport
 #
---format=gnu
+--format=gnu --no-params
 __10ostrstream
 ostrstream::ostrstream(void)
+ostrstream::ostrstream
 #
---format=gnu
+--format=gnu --no-params
 __10ostrstreamPcii
 ostrstream::ostrstream(char *, int, int)
+ostrstream::ostrstream
 #
---format=gnu
+--format=gnu --no-params
 __11BitmapTablei
 BitmapTable::BitmapTable(int)
+BitmapTable::BitmapTable
 #
---format=gnu
+--format=gnu --no-params
 __12ViewportCodeP12ViewportComp
 ViewportCode::ViewportCode(ViewportComp *)
+ViewportCode::ViewportCode
 #
---format=gnu
+--format=gnu --no-params
 __12iv2_6_Borderii
 iv2_6_Border::iv2_6_Border(int, int)
+iv2_6_Border::iv2_6_Border
 #
---format=gnu
+--format=gnu --no-params
 __12ivBreak_Listl
 ivBreak_List::ivBreak_List(long)
+ivBreak_List::ivBreak_List
 #
---format=gnu
+--format=gnu --no-params
 __14iv2_6_MenuItemiP12ivInteractor
 iv2_6_MenuItem::iv2_6_MenuItem(int, ivInteractor *)
+iv2_6_MenuItem::iv2_6_MenuItem
 #
---format=gnu
+--format=gnu --no-params
 __20DisplayList_IteratorR11DisplayList
 DisplayList_Iterator::DisplayList_Iterator(DisplayList &)
+DisplayList_Iterator::DisplayList_Iterator
 #
---format=gnu
+--format=gnu --no-params
 __3fooRT0
 foo::foo(foo &)
+foo::foo
 #
---format=gnu
+--format=gnu --no-params
 __3fooiN31
 foo::foo(int, int, int, int)
+foo::foo
 #
---format=gnu
+--format=gnu --no-params
 __3fooiRT0iT2iT2
 foo::foo(int, foo &, int, foo &, int, foo &)
+foo::foo
 #
---format=gnu
+--format=gnu --no-params
 __6KeyMapPT0
 KeyMap::KeyMap(KeyMap *)
+KeyMap::KeyMap
 #
---format=gnu
+--format=gnu --no-params
 __8ArrowCmdP6EditorUiUi
 ArrowCmd::ArrowCmd(Editor *, unsigned int, unsigned int)
+ArrowCmd::ArrowCmd
 #
---format=gnu
+--format=gnu --no-params
 __9F_EllipseiiiiP7Graphic
 F_Ellipse::F_Ellipse(int, int, int, int, Graphic *)
+F_Ellipse::F_Ellipse
 #
---format=gnu
+--format=gnu --no-params
 __9FrameDataP9FrameCompi
 FrameData::FrameData(FrameComp *, int)
+FrameData::FrameData
 #
---format=gnu
+--format=gnu --no-params
 __9HVGraphicP9CanvasVarP7Graphic
 HVGraphic::HVGraphic(CanvasVar *, Graphic *)
+HVGraphic::HVGraphic
 #
---format=gnu
+--format=gnu --no-params
 __Q23foo3bar
 foo::bar::bar(void)
+foo::bar::bar
 #
---format=gnu
+--format=gnu --no-params
 __Q33foo3bar4bell
 foo::bar::bell::bell(void)
+foo::bar::bell::bell
 #
---format=gnu
+--format=gnu --no-params
 __aa__3fooRT0
 foo::operator&&(foo &)
+foo::operator&&
 #
---format=gnu
+--format=gnu --no-params
 __aad__3fooRT0
 foo::operator&=(foo &)
+foo::operator&=
 #
---format=gnu
+--format=gnu --no-params
 __ad__3fooRT0
 foo::operator&(foo &)
+foo::operator&
 #
---format=gnu
+--format=gnu --no-params
 __adv__3fooRT0
 foo::operator/=(foo &)
+foo::operator/=
 #
---format=gnu
+--format=gnu --no-params
 __aer__3fooRT0
 foo::operator^=(foo &)
+foo::operator^=
 #
---format=gnu
+--format=gnu --no-params
 __als__3fooRT0
 foo::operator<<=(foo &)
+foo::operator<<=
 #
---format=gnu
+--format=gnu --no-params
 __amd__3fooRT0
 foo::operator%=(foo &)
+foo::operator%=
 #
---format=gnu
+--format=gnu --no-params
 __ami__3fooRT0
 foo::operator-=(foo &)
+foo::operator-=
 #
---format=gnu
+--format=gnu --no-params
 __aml__3FixRT0
 Fix::operator*=(Fix &)
+Fix::operator*=
 #
---format=gnu
+--format=gnu --no-params
 __aml__5Fix16i
 Fix16::operator*=(int)
+Fix16::operator*=
 #
---format=gnu
+--format=gnu --no-params
 __aml__5Fix32RT0
 Fix32::operator*=(Fix32 &)
+Fix32::operator*=
 #
---format=gnu
+--format=gnu --no-params
 __aor__3fooRT0
 foo::operator|=(foo &)
+foo::operator|=
 #
---format=gnu
+--format=gnu --no-params
 __apl__3fooRT0
 foo::operator+=(foo &)
+foo::operator+=
 #
---format=gnu
+--format=gnu --no-params
 __ars__3fooRT0
 foo::operator>>=(foo &)
+foo::operator>>=
 #
---format=gnu
+--format=gnu --no-params
 __as__3fooRT0
 foo::operator=(foo &)
+foo::operator=
 #
---format=gnu
+--format=gnu --no-params
 __cl__3fooRT0
 foo::operator()(foo &)
+foo::operator()
 #
---format=gnu
+--format=gnu --no-params
 __cl__6Normal
 Normal::operator()(void)
+Normal::operator()
 #
---format=gnu
+--format=gnu --no-params
 __cl__6Stringii
 String::operator()(int, int)
+String::operator()
 #
---format=gnu
+--format=gnu --no-params
 __cm__3fooRT0
 foo::operator, (foo &)
+foo::operator, 
 #
---format=gnu
+--format=gnu --no-params
 __co__3foo
 foo::operator~(void)
+foo::operator~
 #
---format=gnu
+--format=gnu --no-params
 __dl__3fooPv
 foo::operator delete(void *)
+foo::operator delete
 #
---format=gnu
+--format=gnu --no-params
 __dv__3fooRT0
 foo::operator/(foo &)
+foo::operator/
 #
---format=gnu
+--format=gnu --no-params
 __eq__3fooRT0
 foo::operator==(foo &)
+foo::operator==
 #
---format=gnu
+--format=gnu --no-params
 __er__3fooRT0
 foo::operator^(foo &)
+foo::operator^
 #
---format=gnu
+--format=gnu --no-params
 __ge__3fooRT0
 foo::operator>=(foo &)
+foo::operator>=
 #
---format=gnu
+--format=gnu --no-params
 __gt__3fooRT0
 foo::operator>(foo &)
+foo::operator>
 #
---format=gnu
+--format=gnu --no-params
 __le__3fooRT0
 foo::operator<=(foo &)
+foo::operator<=
 #
---format=gnu
+--format=gnu --no-params
 __ls__3fooRT0
 foo::operator<<(foo &)
+foo::operator<<
 #
---format=gnu
+--format=gnu --no-params
 __ls__FR7ostreamPFR3ios_R3ios
 operator<<(ostream &, ios &(*)(ios &))
+operator<<
 #
---format=gnu
+--format=gnu --no-params
 __ls__FR7ostreamR3Fix
 operator<<(ostream &, Fix &)
+operator<<
 #
---format=gnu
+--format=gnu --no-params
 __lt__3fooRT0
 foo::operator<(foo &)
+foo::operator<
 #
---format=gnu
+--format=gnu --no-params
 __md__3fooRT0
 foo::operator%(foo &)
+foo::operator%
 #
---format=gnu
+--format=gnu --no-params
 __mi__3fooRT0
 foo::operator-(foo &)
+foo::operator-
 #
---format=gnu
+--format=gnu --no-params
 __ml__3fooRT0
 foo::operator*(foo &)
+foo::operator*
 #
---format=gnu
+--format=gnu --no-params
 __mm__3fooi
 foo::operator--(int)
+foo::operator--
 #
---format=gnu
+--format=gnu --no-params
 __ne__3fooRT0
 foo::operator!=(foo &)
+foo::operator!=
 #
---format=gnu
+--format=gnu --no-params
 __nt__3foo
 foo::operator!(void)
+foo::operator!
 #
---format=gnu
+--format=gnu --no-params
 __nw__3fooi
 foo::operator new(int)
+foo::operator new
 #
---format=gnu
+--format=gnu --no-params
 __oo__3fooRT0
 foo::operator||(foo &)
+foo::operator||
 #
---format=gnu
+--format=gnu --no-params
 __opPc__3foo
 foo::operator char *(void)
+foo::operator char *
 #
---format=gnu
+--format=gnu --no-params
 __opi__3foo
 foo::operator int(void)
+foo::operator int
 #
---format=gnu
+--format=gnu --no-params
 __or__3fooRT0
 foo::operator|(foo &)
+foo::operator|
 #
---format=gnu
+--format=gnu --no-params
 __pl__3fooRT0
 foo::operator+(foo &)
+foo::operator+
 #
---format=gnu
+--format=gnu --no-params
 __pp__3fooi
 foo::operator++(int)
+foo::operator++
 #
---format=gnu
+--format=gnu --no-params
 __rf__3foo
 foo::operator->(void)
+foo::operator->
 #
---format=gnu
+--format=gnu --no-params
 __rm__3fooRT0
 foo::operator->*(foo &)
+foo::operator->*
 #
---format=gnu
+--format=gnu --no-params
 __rs__3fooRT0
 foo::operator>>(foo &)
+foo::operator>>
 #
---format=gnu
+--format=gnu --no-params
 _new_Fix__FUs
 _new_Fix(unsigned short)
+_new_Fix
 #
---format=gnu
+--format=gnu --no-params
 _vt.foo
 foo virtual table
+foo virtual table
 #
---format=gnu
+--format=gnu --no-params
 _vt.foo.bar
 foo::bar virtual table
+foo::bar virtual table
 #
---format=gnu
+--format=gnu --no-params
 _vt$foo
 foo virtual table
+foo virtual table
 #
---format=gnu
+--format=gnu --no-params
 _vt$foo$bar
 foo::bar virtual table
+foo::bar virtual table
 #
---format=gnu
+--format=gnu --no-params
 append__7ivGlyphPT0
 ivGlyph::append(ivGlyph *)
+ivGlyph::append
 #
---format=gnu
+--format=gnu --no-params
 clearok__FP7_win_sti
 clearok(_win_st *, int)
+clearok
 #
---format=gnu
+--format=gnu --no-params
 complexfunc2__FPFPc_i
 complexfunc2(int (*)(char *))
+complexfunc2
 #
---format=gnu
+--format=gnu --no-params
 complexfunc3__FPFPFPl_s_i
 complexfunc3(int (*)(short (*)(long *)))
+complexfunc3
 #
---format=gnu
+--format=gnu --no-params
 complexfunc4__FPFPFPc_s_i
 complexfunc4(int (*)(short (*)(char *)))
+complexfunc4
 #
---format=gnu
+--format=gnu --no-params
 complexfunc5__FPFPc_PFl_i
 complexfunc5(int (*(*)(char *))(long))
+complexfunc5
 #
---format=gnu
+--format=gnu --no-params
 complexfunc6__FPFPi_PFl_i
 complexfunc6(int (*(*)(int *))(long))
+complexfunc6
 #
---format=gnu
+--format=gnu --no-params
 complexfunc7__FPFPFPc_i_PFl_i
 complexfunc7(int (*(*)(int (*)(char *)))(long))
+complexfunc7
 #
---format=gnu
+--format=gnu --no-params
 foo__FiN30
 foo(int, int, int, int)
+foo
 #
---format=gnu
+--format=gnu --no-params
 foo__FiR3fooiT1iT1
 foo(int, foo &, int, foo &, int, foo &)
+foo
 #
---format=gnu
+--format=gnu --no-params
 foo___3barl
 bar::foo_(long)
+bar::foo_
 #
---format=gnu
+--format=gnu --no-params
 insert__15ivClippingStacklRP8_XRegion
 ivClippingStack::insert(long, _XRegion *&)
+ivClippingStack::insert
 #
---format=gnu
+--format=gnu --no-params
 insert__16ChooserInfo_ListlR11ChooserInfo
 ChooserInfo_List::insert(long, ChooserInfo &)
+ChooserInfo_List::insert
 #
---format=gnu
+--format=gnu --no-params
 insert__17FontFamilyRepListlRP15ivFontFamilyRep
 FontFamilyRepList::insert(long, ivFontFamilyRep *&)
+FontFamilyRepList::insert
 #
---format=gnu
+--format=gnu --no-params
 leaveok__FP7_win_stc
 leaveok(_win_st *, char)
+leaveok
 #
---format=gnu
+--format=gnu --no-params
 left_mover__C7ivMFKitP12ivAdjustableP7ivStyle
 ivMFKit::left_mover(ivAdjustable *, ivStyle *) const
+ivMFKit::left_mover
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__FSc
 overload1arg(signed char)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__FUc
 overload1arg(unsigned char)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__FUi
 overload1arg(unsigned int)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__FUl
 overload1arg(unsigned long)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__FUs
 overload1arg(unsigned short)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__Fc
 overload1arg(char)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__Fd
 overload1arg(double)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__Ff
 overload1arg(float)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__Fi
 overload1arg(int)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__Fl
 overload1arg(long)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__Fs
 overload1arg(short)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overload1arg__Fv
 overload1arg(void)
+overload1arg
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fi
 overloadargs(int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fii
 overloadargs(int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiii
 overloadargs(int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiiii
 overloadargs(int, int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiiiii
 overloadargs(int, int, int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiiiiii
 overloadargs(int, int, int, int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiiiiiii
 overloadargs(int, int, int, int, int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiiiiiiii
 overloadargs(int, int, int, int, int, int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiiiiiiiii
 overloadargs(int, int, int, int, int, int, int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiiiiiiiiii
 overloadargs(int, int, int, int, int, int, int, int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 overloadargs__Fiiiiiiiiiii
 overloadargs(int, int, int, int, int, int, int, int, int, int, int)
+overloadargs
 #
---format=gnu
+--format=gnu --no-params
 poke__8ivRasterUlUlffff
 ivRaster::poke(unsigned long, unsigned long, float, float, float, float)
+ivRaster::poke
 #
---format=gnu
+--format=gnu --no-params
 polar__Fdd
 polar(double, double)
+polar
 #
---format=gnu
+--format=gnu --no-params
 scale__13ivTransformerff
 ivTransformer::scale(float, float)
+ivTransformer::scale
 #
---format=gnu
+--format=gnu --no-params
 sgetn__7filebufPci
 filebuf::sgetn(char *, int)
+filebuf::sgetn
 #
---format=gnu
+--format=gnu --no-params
 shift__FP5_FrepiT0
 shift(_Frep *, int, _Frep *)
+shift
 #
---format=gnu
+--format=gnu --no-params
 test__C6BitSeti
 BitSet::test(int) const
+BitSet::test
 #
---format=gnu
+--format=gnu --no-params
 test__C6BitSetii
 BitSet::test(int, int) const
+BitSet::test
 #
---format=gnu
+--format=gnu --no-params
 text_source__8Documentl
 Document::text_source(long)
+Document::text_source
 #
---format=gnu
+--format=gnu --no-params
 variance__6Erlangd
 Erlang::variance(double)
+Erlang::variance
 #
---format=gnu
+--format=gnu --no-params
 view__14DocumentViewerP8ItemViewP11TabularItem
 DocumentViewer::view(ItemView *, TabularItem *)
+DocumentViewer::view
 #
---format=gnu
+--format=gnu --no-params
 xy_extents__11ivExtensionffff
 ivExtension::xy_extents(float, float, float, float)
+ivExtension::xy_extents
 #
---format=gnu
+--format=gnu --no-params
 zero__8osMemoryPvUi
 osMemory::zero(void *, unsigned int)
+osMemory::zero
 #
---format=gnu
+--format=gnu --no-params
 _2T4$N
 T4::N
+T4::N
 #
---format=gnu
+--format=gnu --no-params
 _Q22T42t1$N
 T4::t1::N
+T4::t1::N
 #
---format=gnu
+--format=gnu --no-params
 get__2T1
 T1::get(void)
+T1::get
 #
---format=gnu
+--format=gnu --no-params
 get__Q22T11a
 T1::a::get(void)
+T1::a::get
 #
---format=gnu
+--format=gnu --no-params
 get__Q32T11a1b
 T1::a::b::get(void)
+T1::a::b::get
 #
---format=gnu
+--format=gnu --no-params
 get__Q42T11a1b1c
 T1::a::b::c::get(void)
+T1::a::b::c::get
 #
---format=gnu
+--format=gnu --no-params
 get__Q52T11a1b1c1d
 T1::a::b::c::d::get(void)
+T1::a::b::c::d::get
 #
---format=gnu
+--format=gnu --no-params
 put__2T1i
 T1::put(int)
+T1::put
 #
---format=gnu
+--format=gnu --no-params
 put__Q22T11ai
 T1::a::put(int)
+T1::a::put
 #
---format=gnu
+--format=gnu --no-params
 put__Q32T11a1bi
 T1::a::b::put(int)
+T1::a::b::put
 #
---format=gnu
+--format=gnu --no-params
 put__Q42T11a1b1ci
 T1::a::b::c::put(int)
+T1::a::b::c::put
 #
---format=gnu
+--format=gnu --no-params
 put__Q52T11a1b1c1di
 T1::a::b::c::d::put(int)
+T1::a::b::c::d::put
 #
---format=gnu
+--format=gnu --no-params
 bar__3fooPv
 foo::bar(void *)
+foo::bar
 #
---format=gnu
+--format=gnu --no-params
 bar__C3fooPv
 foo::bar(void *) const
+foo::bar
 #
---format=gnu
+--format=gnu --no-params
 __eq__3fooRT0
 foo::operator==(foo &)
+foo::operator==
 #
---format=gnu
+--format=gnu --no-params
 __eq__C3fooR3foo
 foo::operator==(foo &) const
+foo::operator==
 #
---format=gnu
+--format=gnu --no-params
 elem__t6vector1Zdi
 vector<double>::elem(int)
+vector<double>::elem
 #
---format=gnu
+--format=gnu --no-params
 elem__t6vector1Zii
 vector<int>::elem(int)
+vector<int>::elem
 #
---format=gnu
+--format=gnu --no-params
 __t6vector1Zdi
 vector<double>::vector(int)
+vector<double>::vector
 #
---format=gnu
+--format=gnu --no-params
 __t6vector1Zii
 vector<int>::vector(int)
+vector<int>::vector
 #
---format=gnu
+--format=gnu --no-params
 _$_t6vector1Zdi
 vector<double>::~vector(int)
+vector<double>::~vector
 #
---format=gnu
+--format=gnu --no-params
 _$_t6vector1Zii
 vector<int>::~vector(int)
+vector<int>::~vector
 #
---format=gnu
+--format=gnu --no-params
 __nw__t2T11ZcUi
 T1<char>::operator new(unsigned int)
+T1<char>::operator new
 #
---format=gnu
+--format=gnu --no-params
 __nw__t2T11Z1tUi
 T1<t>::operator new(unsigned int)
+T1<t>::operator new
 #
---format=gnu
+--format=gnu --no-params
 __dl__t2T11ZcPv
 T1<char>::operator delete(void *)
+T1<char>::operator delete
 #
---format=gnu
+--format=gnu --no-params
 __dl__t2T11Z1tPv
 T1<t>::operator delete(void *)
+T1<t>::operator delete
 #
---format=gnu
+--format=gnu --no-params
 __t2T11Zci
 T1<char>::T1(int)
+T1<char>::T1
 #
---format=gnu
+--format=gnu --no-params
 __t2T11Zc
 T1<char>::T1(void)
+T1<char>::T1
 #
---format=gnu
+--format=gnu --no-params
 __t2T11Z1ti
 T1<t>::T1(int)
+T1<t>::T1
 #
---format=gnu
+--format=gnu --no-params
 __t2T11Z1t
 T1<t>::T1(void)
+T1<t>::T1
 #
---format=gnu
+--format=gnu --no-params
 __Q2t4List1Z10VHDLEntity3Pix
 List<VHDLEntity>::Pix::Pix(void)
+List<VHDLEntity>::Pix::Pix
 #
---format=gnu
+--format=gnu --no-params
 __Q2t4List1Z10VHDLEntity3PixPQ2t4List1Z10VHDLEntity7element
 List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::element *)
+List<VHDLEntity>::Pix::Pix
 #
---format=gnu
+--format=gnu --no-params
 __Q2t4List1Z10VHDLEntity3PixRCQ2t4List1Z10VHDLEntity3Pix
 List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::Pix const &)
+List<VHDLEntity>::Pix::Pix
 #
---format=gnu
+--format=gnu --no-params
 __Q2t4List1Z10VHDLEntity7elementRC10VHDLEntityPT0
 List<VHDLEntity>::element::element(VHDLEntity const &, List<VHDLEntity>::element *)
+List<VHDLEntity>::element::element
 #
---format=gnu
+--format=gnu --no-params
 __Q2t4List1Z10VHDLEntity7elementRCQ2t4List1Z10VHDLEntity7element
 List<VHDLEntity>::element::element(List<VHDLEntity>::element const &)
+List<VHDLEntity>::element::element
 #
---format=gnu
+--format=gnu --no-params
 __cl__C11VHDLLibraryGt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
 VHDLLibrary::operator()(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >) const
+VHDLLibrary::operator()
 #
---format=gnu
+--format=gnu --no-params
 __cl__Ct4List1Z10VHDLEntityRCQ2t4List1Z10VHDLEntity3Pix
 List<VHDLEntity>::operator()(List<VHDLEntity>::Pix const &) const
+List<VHDLEntity>::operator()
 #
---format=gnu
+--format=gnu --no-params
 __ne__FPvRCQ2t4List1Z10VHDLEntity3Pix
 operator!=(void *, List<VHDLEntity>::Pix const &)
+operator!=
 #
---format=gnu
+--format=gnu --no-params
 __ne__FPvRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
 operator!=(void *, PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
+operator!=
 #
---format=gnu
+--format=gnu --no-params
 __t4List1Z10VHDLEntityRCt4List1Z10VHDLEntity
 List<VHDLEntity>::List(List<VHDLEntity> const &)
+List<VHDLEntity>::List
 #
---format=gnu
+--format=gnu --no-params
 __t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
 PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(void)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
 #
---format=gnu
+--format=gnu --no-params
 __t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityP14VHDLLibraryRepGQ2t4List1Z10VHDLEntity3Pix
 PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(VHDLLibraryRep *, List<VHDLEntity>::Pix)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
 #
---format=gnu
+--format=gnu --no-params
 __t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
 PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
 #
---format=gnu
+--format=gnu --no-params
 nextE__C11VHDLLibraryRt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
 VHDLLibrary::nextE(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > &) const
+VHDLLibrary::nextE
 #
---format=gnu
+--format=gnu --no-params
 next__Ct4List1Z10VHDLEntityRQ2t4List1Z10VHDLEntity3Pix
 List<VHDLEntity>::next(List<VHDLEntity>::Pix &) const
+List<VHDLEntity>::next
 #
---format=gnu
+--format=gnu --no-params
 _GLOBAL_$D$set
 global destructors keyed to set
+global destructors keyed to set
 #
---format=gnu
+--format=gnu --no-params
 _GLOBAL_$I$set
 global constructors keyed to set
+global constructors keyed to set
 #
---format=gnu
+--format=gnu --no-params
 __as__t5ListS1ZUiRCt5ListS1ZUi
 ListS<unsigned int>::operator=(ListS<unsigned int> const &)
+ListS<unsigned int>::operator=
 #
---format=gnu
+--format=gnu --no-params
 __cl__Ct5ListS1ZUiRCQ2t5ListS1ZUi3Vix
 ListS<unsigned int>::operator()(ListS<unsigned int>::Vix const &) const
+ListS<unsigned int>::operator()
 #
---format=gnu
+--format=gnu --no-params
 __cl__Ct5SetLS1ZUiRCQ2t5SetLS1ZUi3Vix
 SetLS<unsigned int>::operator()(SetLS<unsigned int>::Vix const &) const
+SetLS<unsigned int>::operator()
 #
---format=gnu
+--format=gnu --no-params
 __t10ListS_link1ZUiRCUiPT0
 ListS_link<unsigned int>::ListS_link(unsigned int const &, ListS_link<unsigned int> *)
+ListS_link<unsigned int>::ListS_link
 #
---format=gnu
+--format=gnu --no-params
 __t10ListS_link1ZUiRCt10ListS_link1ZUi
 ListS_link<unsigned int>::ListS_link(ListS_link<unsigned int> const &)
+ListS_link<unsigned int>::ListS_link
 #
---format=gnu
+--format=gnu --no-params
 __t5ListS1ZUiRCt5ListS1ZUi
 ListS<unsigned int>::ListS(ListS<unsigned int> const &)
+ListS<unsigned int>::ListS
 #
---format=gnu
+--format=gnu --no-params
 next__Ct5ListS1ZUiRQ2t5ListS1ZUi3Vix
 ListS<unsigned int>::next(ListS<unsigned int>::Vix &) const
+ListS<unsigned int>::next
 #
---format=gnu
+--format=gnu --no-params
 __ne__FPvRCQ2t5SetLS1ZUi3Vix
 operator!=(void *, SetLS<unsigned int>::Vix const &)
+operator!=
 #
---format=gnu
+--format=gnu --no-params
 __t8ListElem1Z5LabelRt4List1Z5Label
 ListElem<Label>::ListElem(List<Label> &)
+ListElem<Label>::ListElem
 #
---format=gnu
+--format=gnu --no-params
 __t8BDDHookV1ZPcRCPc
 BDDHookV<char *>::BDDHookV(char *const &)
+BDDHookV<char *>::BDDHookV
 #
---format=gnu
+--format=gnu --no-params
 _vt$t8BDDHookV1ZPc
 BDDHookV<char *> virtual table
+BDDHookV<char *> virtual table
 #
---format=gnu
+--format=gnu --no-params
 __ne__FPvRCQ211BDDFunction4VixB
 operator!=(void *, BDDFunction::VixB const &)
+operator!=
 #
---format=gnu
+--format=gnu --no-params
 __eq__FPvRCQ211BDDFunction4VixB
 operator==(void *, BDDFunction::VixB const &)
+operator==
 #
---format=gnu
+--format=gnu --no-params
 relativeId__CQ36T_phi210T_preserve8FPC_nextRCQ26T_phi210T_preserveRC10Parameters
 T_phi2::T_preserve::FPC_next::relativeId(T_phi2::T_preserve const &, Parameters const &) const
+T_phi2::T_preserve::FPC_next::relativeId
 #
---format=lucid
+--format=lucid --no-params
 WS__FR7istream
 WS(istream &)
+WS
 #
---format=lucid
+--format=lucid --no-params
 __aa__3fooFR3foo
 foo::operator&&(foo &)
+foo::operator&&
 #
---format=lucid
+--format=lucid --no-params
 __aad__3fooFR3foo
 foo::operator&=(foo &)
+foo::operator&=
 #
---format=lucid
+--format=lucid --no-params
 __ad__3fooFR3foo
 foo::operator&(foo &)
+foo::operator&
 #
---format=lucid
+--format=lucid --no-params
 __adv__3fooFR3foo
 foo::operator/=(foo &)
+foo::operator/=
 #
---format=lucid
+--format=lucid --no-params
 __adv__7complexF7complex
 complex::operator/=(complex)
+complex::operator/=
 #
---format=lucid
+--format=lucid --no-params
 __aer__3fooFR3foo
 foo::operator^=(foo &)
+foo::operator^=
 #
---format=lucid
+--format=lucid --no-params
 __als__3fooFR3foo
 foo::operator<<=(foo &)
+foo::operator<<=
 #
---format=lucid
+--format=lucid --no-params
 __amd__3fooFR3foo
 foo::operator%=(foo &)
+foo::operator%=
 #
---format=lucid
+--format=lucid --no-params
 __ami__3fooFR3foo
 foo::operator-=(foo &)
+foo::operator-=
 #
---format=lucid
+--format=lucid --no-params
 __amu__3fooFR3foo
 foo::operator*=(foo &)
+foo::operator*=
 #
---format=lucid
+--format=lucid --no-params
 __amu__7complexF7complex
 complex::operator*=(complex)
+complex::operator*=
 #
---format=lucid
+--format=lucid --no-params
 __aor__3fooFR3foo
 foo::operator|=(foo &)
+foo::operator|=
 #
---format=lucid
+--format=lucid --no-params
 __apl__3fooFR3foo
 foo::operator+=(foo &)
+foo::operator+=
 #
---format=lucid
+--format=lucid --no-params
 __ars__3fooFR3foo
 foo::operator>>=(foo &)
+foo::operator>>=
 #
---format=lucid
+--format=lucid --no-params
 __as__18istream_withassignFP9streambuf
 istream_withassign::operator=(streambuf *)
+istream_withassign::operator=
 #
---format=lucid
+--format=lucid --no-params
 __as__18istream_withassignFR7istream
 istream_withassign::operator=(istream &)
+istream_withassign::operator=
 #
---format=lucid
+--format=lucid --no-params
 __as__3fooFR3foo
 foo::operator=(foo &)
+foo::operator=
 #
---format=lucid
+--format=lucid --no-params
 __as__3iosFR3ios
 ios::operator=(ios &)
+ios::operator=
 #
---format=lucid
+--format=lucid --no-params
 __cl__3fooFR3foo
 foo::operator()(foo &)
+foo::operator()
 #
---format=lucid
+--format=lucid --no-params
 __cm__3fooFR3foo
 foo::operator, (foo &)
+foo::operator, 
 #
---format=lucid
+--format=lucid --no-params
 __co__3fooFv
 foo::operator~(void)
+foo::operator~
 #
---format=lucid
+--format=lucid --no-params
 __ct__10istrstreamFPc
 istrstream::istrstream(char *)
+istrstream::istrstream
 #
---format=lucid
+--format=lucid --no-params
 __ct__10istrstreamFPci
 istrstream::istrstream(char *, int)
+istrstream::istrstream
 #
---format=lucid
+--format=lucid --no-params
 __ct__10ostrstreamFPciT2
 ostrstream::ostrstream(char *, int, int)
+ostrstream::ostrstream
 #
---format=lucid
+--format=lucid --no-params
 __ct__10ostrstreamFv
 ostrstream::ostrstream(void)
+ostrstream::ostrstream
 #
---format=lucid
+--format=lucid --no-params
 __ct__10smanip_intFPFR3iosi_R3iosi
 smanip_int::smanip_int(ios &(*)(ios &, int), int)
+smanip_int::smanip_int
 #
---format=lucid
+--format=lucid --no-params
 __ct__11fstreambaseFi
 fstreambase::fstreambase(int)
+fstreambase::fstreambase
 #
---format=lucid
+--format=lucid --no-params
 __ct__11fstreambaseFiPcT1
 fstreambase::fstreambase(int, char *, int)
+fstreambase::fstreambase
 #
---format=lucid
+--format=lucid --no-params
 __ct__11fstreambaseFv
 fstreambase::fstreambase(void)
+fstreambase::fstreambase
 #
---format=lucid
+--format=lucid --no-params
 __ct__11smanip_longFPFR3iosl_R3iosl
 smanip_long::smanip_long(ios &(*)(ios &, long), long)
+smanip_long::smanip_long
 #
---format=lucid
+--format=lucid --no-params
 __ct__11stdiostreamFP4FILE
 stdiostream::stdiostream(FILE *)
+stdiostream::stdiostream
 #
---format=lucid
+--format=lucid --no-params
 __ct__12strstreambufFPFl_PvPFPv_v
 strstreambuf::strstreambuf(void *(*)(long), void (*)(void *))
+strstreambuf::strstreambuf
 #
---format=lucid
+--format=lucid --no-params
 __ct__12strstreambufFPUciT1
 strstreambuf::strstreambuf(unsigned char *, int, unsigned char *)
+strstreambuf::strstreambuf
 #
---format=lucid
+--format=lucid --no-params
 __ct__12strstreambufFPciT1
 strstreambuf::strstreambuf(char *, int, char *)
+strstreambuf::strstreambuf
 #
---format=lucid
+--format=lucid --no-params
 __ct__12strstreambufFi
 strstreambuf::strstreambuf(int)
+strstreambuf::strstreambuf
 #
---format=lucid
+--format=lucid --no-params
 __ct__12strstreambufFv
 strstreambuf::strstreambuf(void)
+strstreambuf::strstreambuf
 #
---format=lucid
+--format=lucid --no-params
 __ct__13strstreambaseFPciT1
 strstreambase::strstreambase(char *, int, char *)
+strstreambase::strstreambase
 #
---format=lucid
+--format=lucid --no-params
 __ct__3fooFR3foo
 foo::foo(foo &)
+foo::foo
 #
---format=lucid
+--format=lucid --no-params
 __ct__3fooFi
 foo::foo(int)
+foo::foo
 #
---format=lucid
+--format=lucid --no-params
 __ct__3fooFiN31
 foo::foo(int, int, int, int)
+foo::foo
 #
---format=lucid
+--format=lucid --no-params
 __ct__3fooFiR3fooT1T2T1T2
 foo::foo(int, foo &, int, foo &, int, foo &)
+foo::foo
 #
---format=lucid
+--format=lucid --no-params
 __ct__3iosFP9streambuf
 ios::ios(streambuf *)
+ios::ios
 #
---format=lucid
+--format=lucid --no-params
 __ct__7filebufFiPcT1
 filebuf::filebuf(int, char *, int)
+filebuf::filebuf
 #
---format=lucid
+--format=lucid --no-params
 __ct__7fstreamFiPcT1
 fstream::fstream(int, char *, int)
+fstream::fstream
 #
---format=lucid
+--format=lucid --no-params
 __ct__7istreamFP9streambuf
 istream::istream(streambuf *)
+istream::istream
 #
---format=lucid
+--format=lucid --no-params
 __ct__7istreamFP9streambufiP7ostream
 istream::istream(streambuf *, int, ostream *)
+istream::istream
 #
---format=lucid
+--format=lucid --no-params
 __ct__7istreamFiPcT1
 istream::istream(int, char *, int)
+istream::istream
 #
---format=lucid
+--format=lucid --no-params
 __ct__7istreamFiT1P7ostream
 istream::istream(int, int, ostream *)
+istream::istream
 #
---format=lucid
+--format=lucid --no-params
 __ct__7ostreamFP9streambuf
 ostream::ostream(streambuf *)
+ostream::ostream
 #
---format=lucid
+--format=lucid --no-params
 __ct__7ostreamFiPc
 ostream::ostream(int, char *)
+ostream::ostream
 #
---format=lucid
+--format=lucid --no-params
 __ct__8ifstreamFiPcT1
 ifstream::ifstream(int, char *, int)
+ifstream::ifstream
 #
---format=lucid
+--format=lucid --no-params
 __ct__Q23foo3barFv
 foo::bar::bar(void)
+foo::bar::bar
 #
---format=lucid
+--format=lucid --no-params
 __ct__Q33foo3bar4bellFv
 foo::bar::bell::bell(void)
+foo::bar::bell::bell
 #
---format=lucid
+--format=lucid --no-params
 __dl__3fooSFPv
 foo::operator delete(void *) static
+foo::operator delete
 #
---format=lucid
+--format=lucid --no-params
 __dl__FPv
 operator delete(void *)
+operator delete
 #
---format=lucid
+--format=lucid --no-params
 __dt__10istrstreamFv
 istrstream::~istrstream(void)
+istrstream::~istrstream
 #
---format=lucid
+--format=lucid --no-params
 __dt__Q23foo3barFv
 foo::bar::~bar(void)
+foo::bar::~bar
 #
---format=lucid
+--format=lucid --no-params
 __dt__Q33foo3bar4bellFv
 foo::bar::bell::~bell(void)
+foo::bar::bell::~bell
 #
---format=lucid
+--format=lucid --no-params
 __dv__3fooFR3foo
 foo::operator/(foo &)
+foo::operator/
 #
---format=lucid
+--format=lucid --no-params
 __dv__F7complexT1
 operator/(complex, complex)
+operator/
 #
---format=lucid
+--format=lucid --no-params
 __eq__3fooFR3foo
 foo::operator==(foo &)
+foo::operator==
 #
---format=lucid
+--format=lucid --no-params
 __er__3fooFR3foo
 foo::operator^(foo &)
+foo::operator^
 #
---format=lucid
+--format=lucid --no-params
 __ge__3fooFR3foo
 foo::operator>=(foo &)
+foo::operator>=
 #
---format=lucid
+--format=lucid --no-params
 __gt__3fooFR3foo
 foo::operator>(foo &)
+foo::operator>
 #
---format=lucid
+--format=lucid --no-params
 __le__3fooFR3foo
 foo::operator<=(foo &)
+foo::operator<=
 #
---format=lucid
+--format=lucid --no-params
 __ls__3fooFR3foo
 foo::operator<<(foo &)
+foo::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFP9streambuf
 ostream::operator<<(streambuf *)
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFPFR3ios_R3ios
 ostream::operator<<(ios &(*)(ios &))
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFPv
 ostream::operator<<(void *)
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFUi
 ostream::operator<<(unsigned int)
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFUl
 ostream::operator<<(unsigned long)
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFd
 ostream::operator<<(double)
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFf
 ostream::operator<<(float)
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFi
 ostream::operator<<(int)
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__7ostreamFl
 ostream::operator<<(long)
+ostream::operator<<
 #
---format=lucid
+--format=lucid --no-params
 __ls__FR7ostream7complex
 operator<<(ostream &, complex)
+operator<<
 #
---format=lucid
+--format=lucid --no-params
 __lt__3fooFR3foo
 foo::operator<(foo &)
+foo::operator<
 #
---format=lucid
+--format=lucid --no-params
 __md__3fooFR3foo
 foo::operator%(foo &)
+foo::operator%
 #
---format=lucid
+--format=lucid --no-params
 __mi__3fooFR3foo
 foo::operator-(foo &)
+foo::operator-
 #
---format=lucid
+--format=lucid --no-params
 __ml__3fooFR3foo
 foo::operator*(foo &)
+foo::operator*
 #
---format=lucid
+--format=lucid --no-params
 __ml__F7complexT1
 operator*(complex, complex)
+operator*
 #
---format=lucid
+--format=lucid --no-params
 __mm__3fooFi
 foo::operator--(int)
+foo::operator--
 #
---format=lucid
+--format=lucid --no-params
 __ne__3fooFR3foo
 foo::operator!=(foo &)
+foo::operator!=
 #
---format=lucid
+--format=lucid --no-params
 __nt__3fooFv
 foo::operator!(void)
+foo::operator!
 #
---format=lucid
+--format=lucid --no-params
 __nw__3fooSFi
 foo::operator new(int) static
+foo::operator new
 #
---format=lucid
+--format=lucid --no-params
 __nw__FUi
 operator new(unsigned int)
+operator new
 #
---format=lucid
+--format=lucid --no-params
 __nw__FUiPv
 operator new(unsigned int, void *)
+operator new
 #
---format=lucid
+--format=lucid --no-params
 __oo__3fooFR3foo
 foo::operator||(foo &)
+foo::operator||
 #
---format=lucid
+--format=lucid --no-params
 __opPc__3fooFv
 foo::operator char *(void)
+foo::operator char *
 #
---format=lucid
+--format=lucid --no-params
 __opi__3fooFv
 foo::operator int(void)
+foo::operator int
 #
---format=lucid
+--format=lucid --no-params
 __or__3fooFR3foo
 foo::operator|(foo &)
+foo::operator|
 #
---format=lucid
+--format=lucid --no-params
 __pl__3fooFR3foo
 foo::operator+(foo &)
+foo::operator+
 #
---format=lucid
+--format=lucid --no-params
 __pp__3fooFi
 foo::operator++(int)
+foo::operator++
 #
---format=lucid
+--format=lucid --no-params
 __pt__3fooFv
 foo::operator->(void)
+foo::operator->
 #
---format=lucid
+--format=lucid --no-params
 __rm__3fooFR3foo
 foo::operator->*(foo &)
+foo::operator->*
 #
---format=lucid
+--format=lucid --no-params
 __rs__3fooFR3foo
 foo::operator>>(foo &)
+foo::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFP9streambuf
 istream::operator>>(streambuf *)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFPFR3ios_R3ios
 istream::operator>>(ios &(*)(ios &))
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFPFR7istream_R7istream
 istream::operator>>(istream &(*)(istream &))
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFPUc
 istream::operator>>(unsigned char *)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFPc
 istream::operator>>(char *)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFRUi
 istream::operator>>(unsigned int &)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFRUl
 istream::operator>>(unsigned long &)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFRUs
 istream::operator>>(unsigned short &)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFRd
 istream::operator>>(double &)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFRf
 istream::operator>>(float &)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFRi
 istream::operator>>(int &)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFRl
 istream::operator>>(long &)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__7istreamFRs
 istream::operator>>(short &)
+istream::operator>>
 #
---format=lucid
+--format=lucid --no-params
 __rs__FR7istreamR7complex
 operator>>(istream &, complex &)
+operator>>
 #
---format=lucid
+--format=lucid --no-params
 __vtbl__10istrstream
 istrstream virtual table
+istrstream virtual table
 #
---format=lucid
+--format=lucid --no-params
 __vtbl__17ostream__iostream__19iostream_withassign
 iostream_withassign::ostream__iostream virtual table
+iostream_withassign::ostream__iostream virtual table
 #
---format=lucid
+--format=lucid --no-params
 __vtbl__3ios
 ios virtual table
+ios virtual table
 #
---format=lucid
+--format=lucid --no-params
 __vtbl__3ios__13strstreambase
 strstreambase::ios virtual table
+strstreambase::ios virtual table
 #
---format=lucid
+--format=lucid --no-params
 abs__F7complex
 abs(complex)
+abs
 #
---format=lucid
+--format=lucid --no-params
 allocate__9streambufFv
 streambuf::allocate(void)
+streambuf::allocate
 #
---format=lucid
+--format=lucid --no-params
 attach__11fstreambaseFi
 fstreambase::attach(int)
+fstreambase::attach
 #
---format=lucid
+--format=lucid --no-params
 bitalloc__3iosSFv
 ios::bitalloc(void) static
+ios::bitalloc
 #
---format=lucid
+--format=lucid --no-params
 chr__FiT1
 chr(int, int)
+chr
 #
---format=lucid
+--format=lucid --no-params
 complex_error__FR11c_exception
 complex_error(c_exception &)
+complex_error
 #
---format=lucid
+--format=lucid --no-params
 complexfunc2__FPFPc_i
 complexfunc2(int (*)(char *))
+complexfunc2
 #
---format=lucid
+--format=lucid --no-params
 complexfunc3__FPFPFPl_s_i
 complexfunc3(int (*)(short (*)(long *)))
+complexfunc3
 #
---format=lucid
+--format=lucid --no-params
 complexfunc4__FPFPFPc_s_i
 complexfunc4(int (*)(short (*)(char *)))
+complexfunc4
 #
---format=lucid
+--format=lucid --no-params
 complexfunc5__FPFPc_PFl_i
 complexfunc5(int (*(*)(char *))(long))
+complexfunc5
 #
---format=lucid
+--format=lucid --no-params
 complexfunc6__FPFPi_PFl_i
 complexfunc6(int (*(*)(int *))(long))
+complexfunc6
 #
---format=lucid
+--format=lucid --no-params
 complexfunc7__FPFPFPc_i_PFl_i
 complexfunc7(int (*(*)(int (*)(char *)))(long))
+complexfunc7
 #
---format=lucid
+--format=lucid --no-params
 complicated_put__7ostreamFc
 ostream::complicated_put(char)
+ostream::complicated_put
 #
---format=lucid
+--format=lucid --no-params
 conv10__FlPc
 conv10(long, char *)
+conv10
 #
---format=lucid
+--format=lucid --no-params
 conv16__FUlPc
 conv16(unsigned long, char *)
+conv16
 #
---format=lucid
+--format=lucid --no-params
 dec__FR3ios
 dec(ios &)
+dec
 #
---format=lucid
+--format=lucid --no-params
 dec__Fli
 dec(long, int)
+dec
 #
---format=lucid
+--format=lucid --no-params
 dofield__FP7ostreamPciT2T3
 dofield(ostream *, char *, int, char *, int)
+dofield
 #
---format=lucid
+--format=lucid --no-params
 flags__3iosFl
 ios::flags(long)
+ios::flags
 #
---format=lucid
+--format=lucid --no-params
 flags__3iosFv
 ios::flags(void)
+ios::flags
 #
---format=lucid
+--format=lucid --no-params
 foo__FiN31
 foo(int, int, int, int)
+foo
 #
---format=lucid
+--format=lucid --no-params
 foo__FiR3fooT1T2T1T2
 foo(int, foo &, int, foo &, int, foo &)
+foo
 #
---format=lucid
+--format=lucid --no-params
 foo___3barFl
 bar::foo_(long)
+bar::foo_
 #
---format=lucid
+--format=lucid --no-params
 get__7istreamFPcic
 istream::get(char *, int, char)
+istream::get
 #
---format=lucid
+--format=lucid --no-params
 get__7istreamFR9streambufc
 istream::get(streambuf &, char)
+istream::get
 #
---format=lucid
+--format=lucid --no-params
 get_complicated__7istreamFRUc
 istream::get_complicated(unsigned char &)
+istream::get_complicated
 #
---format=lucid
+--format=lucid --no-params
 get_complicated__7istreamFRc
 istream::get_complicated(char &)
+istream::get_complicated
 #
---format=lucid
+--format=lucid --no-params
 getline__7istreamFPUcic
 istream::getline(unsigned char *, int, char)
+istream::getline
 #
---format=lucid
+--format=lucid --no-params
 getline__7istreamFPcic
 istream::getline(char *, int, char)
+istream::getline
 #
---format=lucid
+--format=lucid --no-params
 ignore__7istreamFiT1
 istream::ignore(int, int)
+istream::ignore
 #
---format=lucid
+--format=lucid --no-params
 init__12strstreambufFPciT1
 strstreambuf::init(char *, int, char *)
+strstreambuf::init
 #
---format=lucid
+--format=lucid --no-params
 init__3iosFP9streambuf
 ios::init(streambuf *)
+ios::init
 #
---format=lucid
+--format=lucid --no-params
 initcount__13Iostream_init
 Iostream_init::initcount
+Iostream_init::initcount
 #
---format=lucid
+--format=lucid --no-params
 ipfx__7istreamFi
 istream::ipfx(int)
+istream::ipfx
 #
---format=lucid
+--format=lucid --no-params
 ls_complicated__7ostreamFUc
 ostream::ls_complicated(unsigned char)
+ostream::ls_complicated
 #
---format=lucid
+--format=lucid --no-params
 ls_complicated__7ostreamFc
 ostream::ls_complicated(char)
+ostream::ls_complicated
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__FSc
 overload1arg(signed char)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__FUc
 overload1arg(unsigned char)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__FUi
 overload1arg(unsigned int)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__FUl
 overload1arg(unsigned long)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__FUs
 overload1arg(unsigned short)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__Fc
 overload1arg(char)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__Fd
 overload1arg(double)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__Ff
 overload1arg(float)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__Fi
 overload1arg(int)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__Fl
 overload1arg(long)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__Fs
 overload1arg(short)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overload1arg__Fv
 overload1arg(void)
+overload1arg
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN21
 overloadargs(int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN31
 overloadargs(int, int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN41
 overloadargs(int, int, int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN51
 overloadargs(int, int, int, int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN61
 overloadargs(int, int, int, int, int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN71
 overloadargs(int, int, int, int, int, int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN81
 overloadargs(int, int, int, int, int, int, int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN91
 overloadargs(int, int, int, int, int, int, int, int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiN91N11
 overloadargs(int, int, int, int, int, int, int, int, int, int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 overloadargs__FiT1
 overloadargs(int, int)
+overloadargs
 #
---format=lucid
+--format=lucid --no-params
 polar__FdT1
 polar(double, double)
+polar
 #
---format=lucid
+--format=lucid --no-params
 pow__F7complexT1
 pow(complex, complex)
+pow
 #
---format=lucid
+--format=lucid --no-params
 pow__F7complexd
 pow(complex, double)
+pow
 #
---format=lucid
+--format=lucid --no-params
 pow__F7complexi
 pow(complex, int)
+pow
 #
---format=lucid
+--format=lucid --no-params
 pow__Fd7complex
 pow(double, complex)
+pow
 #
---format=lucid
+--format=lucid --no-params
 pstart__FPciT2
 pstart(char *, int, int)
+pstart
 #
---format=lucid
+--format=lucid --no-params
 put__7ostreamFc
 ostream::put(char)
+ostream::put
 #
---format=lucid
+--format=lucid --no-params
 read__7istreamFPci
 istream::read(char *, int)
+istream::read
 #
---format=lucid
+--format=lucid --no-params
 resetiosflags__FR3iosl
 resetiosflags(ios &, long)
+resetiosflags
 #
---format=lucid
+--format=lucid --no-params
 restore_errno__FRi
 restore_errno(int &)
+restore_errno
 #
---format=lucid
+--format=lucid --no-params
 rs_complicated__7istreamFRUc
 istream::rs_complicated(unsigned char &)
+istream::rs_complicated
 #
---format=lucid
+--format=lucid --no-params
 rs_complicated__7istreamFRc
 istream::rs_complicated(char &)
+istream::rs_complicated
 #
---format=lucid
+--format=lucid --no-params
 seekg__7istreamFl8seek_dir
 istream::seekg(long, seek_dir)
+istream::seekg
 #
---format=lucid
+--format=lucid --no-params
 seekoff__12strstreambufFl8seek_diri
 strstreambuf::seekoff(long, seek_dir, int)
+strstreambuf::seekoff
 #
---format=lucid
+--format=lucid --no-params
 seekoff__9streambufFlQ2_3ios12ios_seek_diri
 streambuf::seekoff(long, ios::ios_seek_dir, int)
+streambuf::seekoff
 #
---format=lucid
+--format=lucid --no-params
 seekpos__9streambufFli
 streambuf::seekpos(long, int)
+streambuf::seekpos
 #
---format=lucid
+--format=lucid --no-params
 set_new_handler__FPFv_v
 set_new_handler(void (*)(void))
+set_new_handler
 #
---format=lucid
+--format=lucid --no-params
 setb__9streambufFPcT1i
 streambuf::setb(char *, char *, int)
+streambuf::setb
 #
---format=lucid
+--format=lucid --no-params
 setb__FR3iosi
 setb(ios &, int)
+setb
 #
---format=lucid
+--format=lucid --no-params
 setbuf__11fstreambaseFPci
 fstreambase::setbuf(char *, int)
+fstreambase::setbuf
 #
---format=lucid
+--format=lucid --no-params
 setbuf__9streambufFPUci
 streambuf::setbuf(unsigned char *, int)
+streambuf::setbuf
 #
---format=lucid
+--format=lucid --no-params
 setbuf__9streambufFPciT2
 streambuf::setbuf(char *, int, int)
+streambuf::setbuf
 #
---format=lucid
+--format=lucid --no-params
 setf__3iosFlT1
 ios::setf(long, long)
+ios::setf
 #
---format=lucid
+--format=lucid --no-params
 setfill__FR3iosi
 setfill(ios &, int)
+setfill
 #
---format=lucid
+--format=lucid --no-params
 setg__9streambufFPcN21
 streambuf::setg(char *, char *, char *)
+streambuf::setg
 #
---format=lucid
+--format=lucid --no-params
 setp__9streambufFPcT1
 streambuf::setp(char *, char *)
+streambuf::setp
 #
---format=lucid
+--format=lucid --no-params
 tie__3iosFP7ostream
 ios::tie(ostream *)
+ios::tie
 #
---format=lucid
+--format=lucid --no-params
 uconv10__FUlPc
 uconv10(unsigned long, char *)
+uconv10
 #
---format=lucid
+--format=lucid --no-params
 xget__7istreamFPc
 istream::xget(char *)
+istream::xget
 #
---format=lucid
+--format=lucid --no-params
 xsgetn__9streambufFPci
 streambuf::xsgetn(char *, int)
+streambuf::xsgetn
 #
---format=arm
+--format=arm --no-params
 __dt__21T5__pt__11_PFiPPdPv_iFv
 T5<int (*)(int, double **, void *)>::~T5(void)
+T5<int (*)(int, double **, void *)>::~T5
 #
---format=arm
+--format=arm --no-params
 __ct__1cFi
 c::c(int)
+c::c
 #
---format=arm
+--format=arm --no-params
 __dt__11T5__pt__2_iFv
 T5<int>::~T5(void)
+T5<int>::~T5
 #
---format=arm
+--format=arm --no-params
 __dt__11T5__pt__2_cFv
 T5<char>::~T5(void)
+T5<char>::~T5
 #
---format=arm
+--format=arm --no-params
 __ct__2T2Fi
 T2::T2(int)
+T2::T2
 #
---format=arm
+--format=arm --no-params
 __dt__2T1Fv
 T1::~T1(void)
+T1::~T1
 #
---format=arm
+--format=arm --no-params
 __dt__12T5__pt__3_1xFv
 T5<x>::~T5(void)
+T5<x>::~T5
 #
---format=arm
+--format=arm --no-params
 __dt__17T5__pt__8_PFcPv_iFv
 T5<int (*)(char, void *)>::~T5(void)
+T5<int (*)(char, void *)>::~T5
 #
---format=arm
+--format=arm --no-params
 __ct__21T5__pt__11_PFiPPdPv_iFi
 T5<int (*)(int, double **, void *)>::T5(int)
+T5<int (*)(int, double **, void *)>::T5
 #
---format=arm
+--format=arm --no-params
 __amd__FR2T2i
 operator%=(T2 &, int)
+operator%=
 #
---format=arm
+--format=arm --no-params
 __adv__FR2T2i
 operator/=(T2 &, int)
+operator/=
 #
---format=arm
+--format=arm --no-params
 __amu__FR2T2i
 operator*=(T2 &, int)
+operator*=
 #
---format=arm
+--format=arm --no-params
 __ami__FR2T2i
 operator-=(T2 &, int)
+operator-=
 #
---format=arm
+--format=arm --no-params
 __apl__FR2T2i
 operator+=(T2 &, int)
+operator+=
 #
---format=arm
+--format=arm --no-params
 __nw__2T1SFUi
 T1::operator new(unsigned int) static
+T1::operator new
 #
---format=arm
+--format=arm --no-params
 __dl__2T1SFPv
 T1::operator delete(void *) static
+T1::operator delete
 #
---format=arm
+--format=arm --no-params
 put__2T7SFi
 T7::put(int) static
+T7::put
 #
---format=arm
+--format=arm --no-params
 __dl__12T5__pt__3_1xSFPv
 T5<x>::operator delete(void *) static
+T5<x>::operator delete
 #
---format=arm
+--format=arm --no-params
 h__FUc
 h(unsigned char)
+h
 #
---format=arm
+--format=arm --no-params
 f__Fic
 f(int, char)
+f
 #
---format=arm
+--format=arm --no-params
 h__FUi
 h(unsigned int)
+h
 #
---format=arm
+--format=arm --no-params
 h__Fci
 h(char, int)
+h
 #
---format=arm
+--format=arm --no-params
 h__FUl
 h(unsigned long)
+h
 #
---format=arm
+--format=arm --no-params
 h__Fcl
 h(char, long)
+h
 #
---format=arm
+--format=arm --no-params
 h__FUs
 h(unsigned short)
+h
 #
---format=arm
+--format=arm --no-params
 h__Fcs
 h(char, short)
+h
 #
---format=arm
+--format=arm --no-params
 X__12T5__pt__3_1x
 T5<x>::X
+T5<x>::X
 #
---format=arm
+--format=arm --no-params
 __ct__11T5__pt__2_iFi
 T5<int>::T5(int)
+T5<int>::T5
 #
---format=arm
+--format=arm --no-params
 __ct__11T5__pt__2_cFi
 T5<char>::T5(int)
+T5<char>::T5
 #
---format=arm
+--format=arm --no-params
 h__FcT1
 h(char, char)
+h
 #
---format=arm
+--format=arm --no-params
 f__Ficd
 f(int, char, double)
+f
 #
---format=arm
+--format=arm --no-params
 __dl__17T5__pt__8_PFcPv_iSFPv
 T5<int (*)(char, void *)>::operator delete(void *) static
+T5<int (*)(char, void *)>::operator delete
 #
---format=arm
+--format=arm --no-params
 X__17T5__pt__8_PFcPv_i
 T5<int (*)(char, void *)>::X
+T5<int (*)(char, void *)>::X
 #
---format=arm
+--format=arm --no-params
 __ct__12T5__pt__3_1xFi
 T5<x>::T5(int)
+T5<x>::T5
 #
---format=arm
+--format=arm --no-params
 __dl__21T5__pt__11_PFiPPdPv_iSFPv
 T5<int (*)(int, double **, void *)>::operator delete(void *) static
+T5<int (*)(int, double **, void *)>::operator delete
 #
---format=arm
+--format=arm --no-params
 __std__foo
 global destructors keyed to foo
+global destructors keyed to foo
 #
---format=arm
+--format=arm --no-params
 __sti__bar
 global constructors keyed to bar
+global constructors keyed to bar
 #
---format=arm
+--format=arm --no-params
 f__FicdPcPFci_v
 f(int, char, double, char *, void (*)(char, int))
+f
 #
---format=arm
+--format=arm --no-params
 f__FicdPcPFic_v
 f(int, char, double, char *, void (*)(int, char))
+f
 #
---format=arm
+--format=arm --no-params
 get__2T7SFv
 T7::get(void) static
+T7::get
 #
---format=arm
+--format=arm --no-params
 X__21T5__pt__11_PFiPPdPv_i
 T5<int (*)(int, double **, void *)>::X
+T5<int (*)(int, double **, void *)>::X
 #
---format=arm
+--format=arm --no-params
 __dl__11T5__pt__2_iSFPv
 T5<int>::operator delete(void *) static
+T5<int>::operator delete
 #
---format=arm
+--format=arm --no-params
 __dl__11T5__pt__2_cSFPv
 T5<char>::operator delete(void *) static
+T5<char>::operator delete
 #
---format=arm
+--format=arm --no-params
 h__Fc
 h(char)
+h
 #
---format=arm
+--format=arm --no-params
 h__Fd
 h(double)
+h
 #
---format=arm
+--format=arm --no-params
 h__Ff
 h(float)
+h
 #
---format=arm
+--format=arm --no-params
 h__Fi
 h(int)
+h
 #
---format=arm
+--format=arm --no-params
 f__Fi
 f(int)
+f
 #
---format=arm
+--format=arm --no-params
 h__Fl
 h(long)
+h
 #
---format=arm
+--format=arm --no-params
 h__Fs
 h(short)
+h
 #
---format=arm
+--format=arm --no-params
 X__11T5__pt__2_c
 T5<char>::X
+T5<char>::X
 #
---format=arm
+--format=arm --no-params
 X__11T5__pt__2_i
 T5<int>::X
+T5<int>::X
 #
---format=arm
+--format=arm --no-params
 __ct__17T5__pt__8_PFcPv_iFi
 T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
 #
---format=arm
+--format=arm --no-params
 f__FicdPc
 f(int, char, double, char *)
+f
 #
---format=arm
+--format=arm --no-params
 __nw__FUi
 operator new(unsigned int)
+operator new
 #
---format=arm
+--format=arm --no-params
 __ct__Q3_2T11a1bSFi
 T1::a::b::b(int) static
+T1::a::b::b
 #
---format=arm
+--format=arm --no-params
 __dt__Q3_2T11a1bSFi
 T1::a::b::~b(int) static
+T1::a::b::~b
 #
---format=arm
+--format=arm --no-params
 put__Q3_2T11a1bSFi
 T1::a::b::put(int) static
+T1::a::b::put
 #
---format=arm
+--format=arm --no-params
 get__Q2_2T11aSFv
 T1::a::get(void) static
+T1::a::get
 #
---format=arm
+--format=arm --no-params
 put__2T1SFi
 T1::put(int) static
+T1::put
 #
---format=arm
+--format=arm --no-params
 put__Q5_2T11a1b1c1dSFi
 T1::a::b::c::d::put(int) static
+T1::a::b::c::d::put
 #
---format=arm
+--format=arm --no-params
 get__Q4_2T11a1b1cSFv
 T1::a::b::c::get(void) static
+T1::a::b::c::get
 #
---format=arm
+--format=arm --no-params
 put__Q2_2T11aSFi
 T1::a::put(int) static
+T1::a::put
 #
---format=arm
+--format=arm --no-params
 put__Q4_2T11a1b1cSFi
 T1::a::b::c::put(int) static
+T1::a::b::c::put
 #
---format=arm
+--format=arm --no-params
 get__Q3_2T11a1bSFv
 T1::a::b::get(void) static
+T1::a::b::get
 #
---format=arm
+--format=arm --no-params
 get__2T1SFv
 T1::get(void) static
+T1::get
 #
---format=arm
+--format=arm --no-params
 get__Q5_2T11a1b1c1dSFv
 T1::a::b::c::d::get(void) static
+T1::a::b::c::d::get
 #
---format=arm
+--format=arm --no-params
 __dt__11T1__pt__2_cFv
 T1<char>::~T1(void)
+T1<char>::~T1
 #
---format=arm
+--format=arm --no-params
 __dt__12T1__pt__3_1tFv
 T1<t>::~T1(void)
+T1<t>::~T1
 #
---format=arm
+--format=arm --no-params
 __dl__12T1__pt__3_1tSFPv
 T1<t>::operator delete(void *) static
+T1<t>::operator delete
 #
---format=arm
+--format=arm --no-params
 __ct__11T1__pt__2_cFi
 T1<char>::T1(int)
+T1<char>::T1
 #
---format=arm
+--format=arm --no-params
 __ct__11T1__pt__2_cFv
 T1<char>::T1(void)
+T1<char>::T1
 #
---format=arm
+--format=arm --no-params
 __ct__12T1__pt__3_1tFi
 T1<t>::T1(int)
+T1<t>::T1
 #
---format=arm
+--format=arm --no-params
 __ct__12T1__pt__3_1tFv
 T1<t>::T1(void)
+T1<t>::T1
 #
---format=arm
+--format=arm --no-params
 __dl__11T1__pt__2_cSFPv
 T1<char>::operator delete(void *) static
+T1<char>::operator delete
 #
---format=arm
+--format=arm --no-params
 bar__3fooFPv
 foo::bar(void *)
+foo::bar
 #
---format=arm
+--format=arm --no-params
 bar__3fooCFPv
 foo::bar(void *) const
+foo::bar
 #
---format=arm
+--format=arm --no-params
 __eq__3fooFR3foo
 foo::operator==(foo &)
+foo::operator==
 #
---format=arm
+--format=arm --no-params
 __eq__3fooCFR3foo
 foo::operator==(foo &) const
+foo::operator==
 #
---format=arm
+--format=arm --no-params
 elem__15vector__pt__2_dFi
 vector<double>::elem(int)
+vector<double>::elem
 #
---format=arm
+--format=arm --no-params
 elem__15vector__pt__2_iFi
 vector<int>::elem(int)
+vector<int>::elem
 #
---format=arm
+--format=arm --no-params
 __ct__15vector__pt__2_dFi
 vector<double>::vector(int)
+vector<double>::vector
 #
---format=arm
+--format=arm --no-params
 __ct__15vector__pt__2_iFi
 vector<int>::vector(int)
+vector<int>::vector
 #
---format=arm
+--format=arm --no-params
 __ct__25DListNode__pt__9_R6RLabelFR6RLabelP25DListNode__pt__9_R6RLabelT2
 DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
+DListNode<RLabel &>::DListNode
 #
---format=arm
+--format=arm --no-params
 bar__3fooFiT16FooBar
 foo::bar(int, int, FooBar)
+foo::bar
 #
---format=arm
+--format=arm --no-params
 bar__3fooFPiN51PdN37PcN211T1iN215
 foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
+foo::bar
 #
---format=hp
+--format=hp --no-params
 __amd__FR2T2i
 operator%=(T2 &, int)
+operator%=
 #
---format=hp
+--format=hp --no-params
 __adv__FR2T2i
 operator/=(T2 &, int)
+operator/=
 #
---format=hp
+--format=hp --no-params
 __amu__FR2T2i
 operator*=(T2 &, int)
+operator*=
 #
---format=hp
+--format=hp --no-params
 __ami__FR2T2i
 operator-=(T2 &, int)
+operator-=
 #
---format=hp
+--format=hp --no-params
 __apl__FR2T2i
 operator+=(T2 &, int)
+operator+=
 #
---format=hp
+--format=hp --no-params
 __nw__2T1SFUi
 T1::operator new(unsigned int) static
+T1::operator new
 #
---format=hp
+--format=hp --no-params
 __dl__2T1SFPv
 T1::operator delete(void *) static
+T1::operator delete
 #
---format=hp
+--format=hp --no-params
 put__2T7SFi
 T7::put(int) static
+T7::put
 #
---format=hp
+--format=hp --no-params
 h__FUc
 h(unsigned char)
+h
 #
---format=hp
+--format=hp --no-params
 f__Fic
 f(int, char)
+f
 #
---format=hp
+--format=hp --no-params
 h__FUi
 h(unsigned int)
+h
 #
---format=hp
+--format=hp --no-params
 h__Fci
 h(char, int)
+h
 #
---format=hp
+--format=hp --no-params
 h__FUl
 h(unsigned long)
+h
 #
---format=hp
+--format=hp --no-params
 h__Fcl
 h(char, long)
+h
 #
---format=hp
+--format=hp --no-params
 h__FUs
 h(unsigned short)
+h
 #
---format=hp
+--format=hp --no-params
 h__Fcs
 h(char, short)
+h
 #
---format=hp
+--format=hp --no-params
 h__FcT1
 h(char, char)
+h
 #
---format=hp
+--format=hp --no-params
 f__Ficd
 f(int, char, double)
+f
 #
---format=hp
+--format=hp --no-params
 f__FicdPcPFci_v
 f(int, char, double, char *, void (*)(char, int))
+f
 #
---format=hp
+--format=hp --no-params
 f__FicdPcPFic_v
 f(int, char, double, char *, void (*)(int, char))
+f
 #
---format=hp
+--format=hp --no-params
 get__2T7SFv
 T7::get(void) static
+T7::get
 #
---format=hp
+--format=hp --no-params
 h__Fc
 h(char)
+h
 #
---format=hp
+--format=hp --no-params
 h__Fd
 h(double)
+h
 #
---format=hp
+--format=hp --no-params
 h__Ff
 h(float)
+h
 #
---format=hp
+--format=hp --no-params
 h__Fi
 h(int)
+h
 #
---format=hp
+--format=hp --no-params
 f__Fi
 f(int)
+f
 #
---format=hp
+--format=hp --no-params
 h__Fl
 h(long)
+h
 #
---format=hp
+--format=hp --no-params
 h__Fs
 h(short)
+h
 #
---format=hp
+--format=hp --no-params
 f__FicdPc
 f(int, char, double, char *)
+f
 #
---format=hp
+--format=hp --no-params
 __nw__FUi
 operator new(unsigned int)
+operator new
 #
---format=hp
+--format=hp --no-params
 __ct__Q3_2T11a1bSFi
 T1::a::b::b(int) static
+T1::a::b::b
 #
---format=hp
+--format=hp --no-params
 __dt__Q3_2T11a1bSFi
 T1::a::b::~b(int) static
+T1::a::b::~b
 #
---format=hp
+--format=hp --no-params
 put__Q3_2T11a1bSFi
 T1::a::b::put(int) static
+T1::a::b::put
 #
---format=hp
+--format=hp --no-params
 get__Q2_2T11aSFv
 T1::a::get(void) static
+T1::a::get
 #
---format=hp
+--format=hp --no-params
 put__2T1SFi
 T1::put(int) static
+T1::put
 #
---format=hp
+--format=hp --no-params
 put__Q5_2T11a1b1c1dSFi
 T1::a::b::c::d::put(int) static
+T1::a::b::c::d::put
 #
---format=hp
+--format=hp --no-params
 get__Q4_2T11a1b1cSFv
 T1::a::b::c::get(void) static
+T1::a::b::c::get
 #
---format=hp
+--format=hp --no-params
 put__Q2_2T11aSFi
 T1::a::put(int) static
+T1::a::put
 #
---format=hp
+--format=hp --no-params
 put__Q4_2T11a1b1cSFi
 T1::a::b::c::put(int) static
+T1::a::b::c::put
 #
---format=hp
+--format=hp --no-params
 get__Q3_2T11a1bSFv
 T1::a::b::get(void) static
+T1::a::b::get
 #
---format=hp
+--format=hp --no-params
 get__2T1SFv
 T1::get(void) static
+T1::get
 #
---format=hp
+--format=hp --no-params
 get__Q5_2T11a1b1c1dSFv
 T1::a::b::c::d::get(void) static
+T1::a::b::c::d::get
 #
---format=hp
+--format=hp --no-params
 bar__3fooFPv
 foo::bar(void *)
+foo::bar
 #
---format=hp
+--format=hp --no-params
 bar__3fooCFPv
 foo::bar(void *) const
+foo::bar
 #
---format=hp
+--format=hp --no-params
 __eq__3fooFR3foo
 foo::operator==(foo &)
+foo::operator==
 #
---format=hp
+--format=hp --no-params
 __eq__3fooCFR3foo
 foo::operator==(foo &) const
+foo::operator==
 #
---format=hp
+--format=hp --no-params
 bar__3fooFiT16FooBar
 foo::bar(int, int, FooBar)
+foo::bar
 #
---format=hp
+--format=hp --no-params
 bar__3fooFPiN51PdN37PcN211T1iN215
 foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
+foo::bar
 #
---format=hp
+--format=hp --no-params
 __dt__2T5XTPFiPPdPv_i__Fv
 T5<int (*)(int, double **, void *)>::~T5(void)
+T5<int (*)(int, double **, void *)>::~T5
 #
---format=hp
+--format=hp --no-params
 __ct__1cFi
 c::c(int)
+c::c
 #
---format=hp
+--format=hp --no-params
 __dt__2T5XTi__Fv
 T5<int>::~T5(void)
+T5<int>::~T5
 #
---format=hp
+--format=hp --no-params
 __dt__2T5XTc__Fv
 T5<char>::~T5(void)
+T5<char>::~T5
 #
---format=hp
+--format=hp --no-params
 __ct__2T2Fi
 T2::T2(int)
+T2::T2
 #
---format=hp
+--format=hp --no-params
 __dt__2T1Fv
 T1::~T1(void)
+T1::~T1
 #
---format=hp
+--format=hp --no-params
 __dt__2T5XT1x__Fv
 T5<x>::~T5(void)
+T5<x>::~T5
 #
---format=hp
+--format=hp --no-params
 __dt__2T5XTPFcPv_i__Fv
 T5<int (*)(char, void *)>::~T5(void)
+T5<int (*)(char, void *)>::~T5
 #
---format=hp
+--format=hp --no-params
 __ct__2T5XTPFiPPdPv_i__Fi
 T5<int (*)(int, double **, void *)>::T5(int)
+T5<int (*)(int, double **, void *)>::T5
 #
---format=hp
+--format=hp --no-params
 __dl__2T5XT1x__SFPv
 T5<x>::operator delete(void *) static
+T5<x>::operator delete
 #
---format=hp
+--format=hp --no-params
 X__2T5XT1x
 T5<x>::X
+T5<x>::X
 #
---format=hp
+--format=hp --no-params
 __ct__2T5XTi__Fi
 T5<int>::T5(int)
+T5<int>::T5
 #
---format=hp
+--format=hp --no-params
 __ct__2T5XTc__Fi
 T5<char>::T5(int)
+T5<char>::T5
 #
---format=hp
+--format=hp --no-params
 __dl__2T5XTPFcPv_i__SFPv
 T5<int (*)(char, void *)>::operator delete(void *) static
+T5<int (*)(char, void *)>::operator delete
 #
---format=hp
+--format=hp --no-params
 X__2T5XTPFcPv_i
 T5<int (*)(char, void *)>::X
+T5<int (*)(char, void *)>::X
 #
---format=hp
+--format=hp --no-params
 __ct__2T5XT1x__Fi
 T5<x>::T5(int)
+T5<x>::T5
 #
---format=hp
+--format=hp --no-params
 __dl__2T5XTPFiPPdPv_i__SFPv
 T5<int (*)(int, double **, void *)>::operator delete(void *) static
+T5<int (*)(int, double **, void *)>::operator delete
 #
---format=hp
+--format=hp --no-params
 X__2T5XTPFiPPdPv_i
 T5<int (*)(int, double **, void *)>::X
+T5<int (*)(int, double **, void *)>::X
 #
---format=hp
+--format=hp --no-params
 __dl__2T5XTi__SFPv
 T5<int>::operator delete(void *) static
+T5<int>::operator delete
 #
---format=hp
+--format=hp --no-params
 __dl__2T5XTc__SFPv
 T5<char>::operator delete(void *) static
+T5<char>::operator delete
 #
---format=hp
+--format=hp --no-params
 X__2T5XTc
 T5<char>::X
+T5<char>::X
 #
---format=hp
+--format=hp --no-params
 X__2T5XTi
 T5<int>::X
+T5<int>::X
 #
---format=hp
+--format=hp --no-params
 __ct__2T5XTPFcPv_i__Fi
 T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
 #
---format=hp
+--format=hp --no-params
 __dt__2T1XTc__Fv
 T1<char>::~T1(void)
+T1<char>::~T1
 #
---format=hp
+--format=hp --no-params
 __dt__2T1XT1t__Fv
 T1<t>::~T1(void)
+T1<t>::~T1
 #
---format=hp
+--format=hp --no-params
 __dl__2T1XT1t__SFPv
 T1<t>::operator delete(void *) static
+T1<t>::operator delete
 #
---format=hp
+--format=hp --no-params
 __ct__2T1XTc__Fi
 T1<char>::T1(int)
+T1<char>::T1
 #
---format=hp
+--format=hp --no-params
 __ct__2T1XTc__Fv
 T1<char>::T1(void)
+T1<char>::T1
 #
---format=hp
+--format=hp --no-params
 __ct__2T1XT1t__Fi
 T1<t>::T1(int)
+T1<t>::T1
 #
---format=hp
+--format=hp --no-params
 __ct__2T1XT1t__Fv
 T1<t>::T1(void)
+T1<t>::T1
 #
---format=hp
+--format=hp --no-params
 __dl__2T1XTc__SFPv
 T1<char>::operator delete(void *) static
+T1<char>::operator delete
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTd__Fi
 vector<double>::elem(int)
+vector<double>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTi__Fi
 vector<int>::elem(int)
+vector<int>::elem
 #
---format=hp
+--format=hp --no-params
 __ct__6vectorXTd__Fi
 vector<double>::vector(int)
+vector<double>::vector
 #
---format=hp
+--format=hp --no-params
 __ct__6vectorXTi__Fi
 vector<int>::vector(int)
+vector<int>::vector
 #
---format=hp
+--format=hp --no-params
 __ct__9DListNodeXTR6RLabel__FR6RLabelP9DListNodeXTR6RLabel_T2
 DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
+DListNode<RLabel &>::DListNode
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiUP34__Fi
 vector<int,34U>::elem(int)
+vector<int,34U>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXUP2701Td__Fi
 vector<2701U,double>::elem(int)
+vector<2701U,double>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiSP334__Fi
 vector<int,334>::elem(int)
+vector<int,334>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiSN67__Fi
 vector<int,-67>::elem(int)
+vector<int,-67>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiSM__SCFPPd
 vector<int,-2147483648>::elem(double **) static const
+vector<int,-2147483648>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiSN67UP4000TRs__Fi
 vector<int,-67,4000U,short &>::elem(int)
+vector<int,-67,4000U,short &>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiSN67TRdTFPv_i__Fi
 vector<int,-67,double &,int (void *)>::elem(int)
+vector<int,-67,double &,int (void *)>::elem
 #
---format=hp
+--format=hp --no-params
 X__6vectorXTiSN67TdTPvUP5TRs
 vector<int,-67,double,void *,5U,short &>::X
+vector<int,-67,double,void *,5U,short &>::X
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiA3foo__Fi
 vector<int,&foo>::elem(int)
+vector<int,&foo>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiA3fooTPvA5Label__FiPPvT2
 vector<int,&foo,void *,&Label>::elem(int, void **, void **)
+vector<int,&foo,void *,&Label>::elem
 #
---format=hp
+--format=hp --no-params
 elem__6vectorXTiSN42A3foo__Fi
 vector<int,-42,&foo>::elem(int)
+vector<int,-42,&foo>::elem
 #
---format=hp
+--format=hp --no-params
 __ct__2T5XTPFcPv_i__Fi_2
 T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
 #
---format=hp
+--format=hp --no-params
 __ct__2T5XTPFcPv_i__Fi_19
 T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
 #
---format=hp
+--format=hp --no-params
 f__FicdPcPFci_v_34
 f(int, char, double, char *, void (*)(char, int))
+f
 #
---format=hp
+--format=hp --no-params
 spec__13Spec<#1,#1.*>XTiTPi_FPi
 Spec<int,int *>::spec(int *)
+Spec<int,int *>::spec
 #
---format=hp
+--format=hp --no-params
 spec__16Spec<#1,#1.&,#1>XTiTRiTi_FPi
 Spec<int,int &,int>::spec(int *)
+Spec<int,int &,int>::spec
 #
---format=hp
+--format=hp --no-params
 add__XTc_FcT1
 add<char>(char, char)
+add<char>
 #
---format=hp
+--format=hp --no-params
 add__XTcSP9A5label_FcPPlT1
 add<char,9,&label>(char, long **, char)
+add<char,9,&label>
 #
---format=hp
+--format=hp --no-params
 add__XTPfTFPd_f_FcT1
 add<float *,float (double *)>(char, char)
+add<float *,float (double *)>
 #
---format=hp
+--format=hp --no-params
 unLink__12basic_stringXTcT18string_char_traitsXTc_T9allocator_Fv
 basic_string<char,string_char_traits<char>,allocator>::unLink(void)
+basic_string<char,string_char_traits<char>,allocator>::unLink
 #
 # A regression test with no args.  This used to cause a segv.
 
 _Utf390_1__1_9223372036854775807__9223372036854775
 _Utf390_1__1_9223372036854775807__9223372036854775
 #
---format=gnu
+--format=gnu --no-params
 call__H1Z4Test_RX01_t1C2ZX01PMX01FPX01i_vQ2X016output
 C<Test, Test::output> call<Test>(Test &)
+C<Test, Test::output> call<Test>
 #
---format=gnu
+--format=gnu --no-params
 fn__FPQ21n1cPMQ21n1cFPQ21n1c_i
 fn(n::c *, int (n::c::*)(n::c *))
+fn
 #
---format=gnu
+--format=gnu --no-params
 f__FGt3Bar1i2G1i
 f(Bar<2>, i)
+f
 #
---format=gnu
+--format=gnu --no-params
 f__FGt3Bar1i21i
 f(Bar<21>, int)
+f
 #
---format=gnu
+--format=gnu --no-params
 f__FGt3Bar1i2G4XY_t
 f(Bar<2>, XY_t)
+f
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZRCiZt2NA1Ui9_X01_i
 int foo<TA<int const &, NA<9> > >(TA<int const &, NA<9> >)
+int foo<TA<int const &, NA<9> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZcZt2NA1Ui20_X01_i
 int foo<TA<char, NA<20> > >(TA<char, NA<20> >)
+int foo<TA<char, NA<20> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZiZt8N___A___1Ui99_X01_i
 int foo<TA<int, N___A___<99> > >(TA<int, N___A___<99> >)
+int foo<TA<int, N___A___<99> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZRCiZt2NA1im1_X01_i
 int foo<TA<int const &, NA<-1> > >(TA<int const &, NA<-1> >)
+int foo<TA<int const &, NA<-1> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZRCiZt2NA1im9_X01_i
 int foo<TA<int const &, NA<-9> > >(TA<int const &, NA<-9> >)
+int foo<TA<int const &, NA<-9> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZcZt2NA1i_m20__X01_i
 int foo<TA<char, NA<-20> > >(TA<char, NA<-20> >)
+int foo<TA<char, NA<-20> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZcZt2NA1im1_X01_i
 int foo<TA<char, NA<-1> > >(TA<char, NA<-1> >)
+int foo<TA<char, NA<-1> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZiZt4N__A1im9_X01_i
 int foo<TA<int, N__A<-9> > >(TA<int, N__A<-9> >)
+int foo<TA<int, N__A<-9> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__H1Zt2TA2ZiZt4N__A1i_m99__X01_i
 int foo<TA<int, N__A<-99> > >(TA<int, N__A<-99> >)
+int foo<TA<int, N__A<-99> > >
 #
---format=gnu
+--format=gnu --no-params
 __opi__t2TA2ZiZt4N__A1i9
 TA<int, N__A<9> >::operator int(void)
+TA<int, N__A<9> >::operator int
 #
---format=gnu
+--format=gnu --no-params
 __opi__t2TA2ZiZt8N___A___1i_m99_
 TA<int, N___A___<-99> >::operator int(void)
+TA<int, N___A___<-99> >::operator int
 #
---format=gnu
+--format=gnu --no-params
 foo___bar__baz_____H1Zt2TA2ZiZt8N___A___1i99_X01_i
 int foo___bar__baz___<TA<int, N___A___<99> > >(TA<int, N___A___<99> >)
+int foo___bar__baz___<TA<int, N___A___<99> > >
 #
---format=gnu
+--format=gnu --no-params
 foo__bar___foobar_____t2TA2ZiZt8N___A___1i_m99_
 TA<int, N___A___<-99> >::foo__bar___foobar___(void)
+TA<int, N___A___<-99> >::foo__bar___foobar___
 #
---format=gnu
+--format=gnu --no-params
 foo__bar___foobar_____t2TA2ZiZt4N__A1i9
 TA<int, N__A<9> >::foo__bar___foobar___(void)
+TA<int, N__A<9> >::foo__bar___foobar___
 #
---format=gnu
+--format=gnu --no-params
 __tfP8sockaddr
 sockaddr * type_info function
+sockaddr * type_info function
 #
---format=gnu
+--format=gnu --no-params
 __tfPQ25libcwt16option_event_tct1Z12burst_app_ct
 libcw::option_event_tct<burst_app_ct> * type_info function
+libcw::option_event_tct<burst_app_ct> * type_info function
 #
---format=gnu
+--format=gnu --no-params
 __tiP8sockaddr
 sockaddr * type_info node
+sockaddr * type_info node
 #
---format=gnu
+--format=gnu --no-params
 __tiPQ25libcwt16option_event_tct1Z12burst_app_ct
 libcw::option_event_tct<burst_app_ct> * type_info node
+libcw::option_event_tct<burst_app_ct> * type_info node
 #
---format=gnu
+--format=gnu --no-params
 _27_GLOBAL_.N.__12burst_app_ct.app_instance
 {anonymous}::app_instance
+{anonymous}::app_instance
 #
---format=gnu
+--format=gnu --no-params
 _26_GLOBAL_$N$_tmp_n.iilg4Gya$app_instance
 {anonymous}::app_instance
+{anonymous}::app_instance
 #
 --format=java
 _ZN4java3awt10ScrollPane7addImplEPNS0_9ComponentEPNS_4lang6ObjectEi
@@ -2595,356 +3247,482 @@ java.util.Map$Entry.class$
 _ZN3org7eclipse3cdt5debug8internal4core5model9CVariable6sizeof$Ev
 org.eclipse.cdt.debug.internal.core.model.CVariable.sizeof()
 #
---format=hp
+--format=hp --no-params
+_Utf58_0_1__1_2147483647__2147483648
 _Utf58_0_1__1_2147483647__2147483648
 _Utf58_0_1__1_2147483647__2147483648
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 St9bad_alloc
 std::bad_alloc
+std::bad_alloc
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN1f1fE
 f::f
+f::f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fv
 f()
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fi
 f(int)
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3foo3bar
 foo(bar)
+foo
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Zrm1XS_
 operator%(X, X)
+operator%
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZplR1XS0_
 operator+(X&, X&)
+operator+
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZlsRK1XS1_
 operator<<(X const&, X const&)
+operator<<
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN3FooIA4_iE3barE
 Foo<int [4]>::bar
+Foo<int [4]>::bar
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fIiEvi
 void f<int>(int)
+f<int>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z5firstI3DuoEvS0_
 void first<Duo>(Duo)
+first<Duo>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z5firstI3DuoEvT_
 void first<Duo>(Duo)
+first<Duo>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3fooIiFvdEiEvv
 void foo<int, void ()(double), int>()
+foo<int, void ()(double), int>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN1N1fE
 N::f
+N::f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN6System5Sound4beepEv
 System::Sound::beep()
+System::Sound::beep
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN5Arena5levelE
 Arena::level
+Arena::level
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN5StackIiiE5levelE
 Stack<int, int>::level
+Stack<int, int>::level
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fI1XEvPVN1AIT_E1TE
 void f<X>(A<X>::T volatile*)
+f<X>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZngILi42EEvN1AIXplT_Li2EEE1TE
 void operator-<42>(A<(42) + (2)>::T)
+operator-<42>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z4makeI7FactoryiET_IT0_Ev
 Factory<int> make<Factory, int>()
+make<Factory, int>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z4makeI7FactoryiET_IT0_Ev
 Factory<int> make<Factory, int>()
+make<Factory, int>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3foo5Hello5WorldS0_S_
 foo(Hello, World, World, Hello)
+foo
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3fooPM2ABi
 foo(int AB::**)
+foo
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZlsRSoRKSs
 operator<<(std::ostream&, std::string const&)
+operator<<
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZTI7a_class
 typeinfo for a_class
+typeinfo for a_class
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 U4_farrVKPi
 int* const volatile restrict _far
+int* const volatile restrict _far
 # 
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3fooILi2EEvRAplT_Li1E_i
 void foo<2>(int (&) [(2) + (1)])
+foo<2>
 # 
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fM1AKFvvE
 f(void (A::*)() const)
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3fooc
 foo(char)
+foo
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 2CBIL_Z3foocEE
 CB<foo(char)>
+CB<foo(char)>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 2CBIL_Z7IsEmptyEE
 CB<IsEmpty>
+CB<IsEmpty>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZZN1N1fEiE1p
 N::f(int)::p
+N::f(int)::p
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZZN1N1fEiEs
 N::f(int)::string literal
+N::f(int)::string literal
 # 
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fPFvvEM1SFvvE
 f(void (*)(), void (S::*)())
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN1N1TIiiE2mfES0_IddE
 N::T<int, int>::mf(N::T<double, double>)
+N::T<int, int>::mf
 # 
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZSt5state
 std::state
+std::state
 # 
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNSt3_In4wardE
 std::_In::ward
+std::_In::ward
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fKPFiiE
 f(int (* const)(int))
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i
 f(int [sizeof (N::A::f() const::foo)])
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fA37_iPS_
 f(int [37], int (*) [37])
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fM1AFivEPS0_
 f(int (A::*)(), int (*)())
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fPFPA1_ivE
 f(int (*(*)()) [1])
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fPKM1AFivE
 f(int (A::* const*)())
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1jM1AFivEPS1_
 j(int (A::*)(), int (A::**)())
+j
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1sPA37_iPS0_
 s(int (*) [37], int (**) [37])
+s
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3fooA30_A_i
 foo(int [30][])
+foo
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3kooPA28_A30_i
 koo(int (*) [28][30])
+koo
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZlsRKU3fooU4bart1XS0_
 operator<<(X bart foo const&, X bart)
+operator<<
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZlsRKU3fooU4bart1XS2_
 operator<<(X bart foo const&, X bart foo const)
+operator<<
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fM1AKFivE
 f(int (A::*)() const)
+f
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3absILi11EEvv
 void abs<11>()
+abs<11>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN1AIfEcvT_IiEEv
 A<float>::operator int<int>()
+A<float>::operator int<int>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN12libcw_app_ct10add_optionIS_EEvMT_FvPKcES3_cS3_S3_
 void libcw_app_ct::add_option<libcw_app_ct>(void (libcw_app_ct::*)(char const*), char const*, char, char const*, char const*)
+libcw_app_ct::add_option<libcw_app_ct>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZGVN5libcw24_GLOBAL__N_cbll.cc0ZhUKa23compiler_bug_workaroundISt6vectorINS_13omanip_id_tctINS_5debug32memblk_types_manipulator_data_ctEEESaIS6_EEE3idsE
 guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids
+guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZN5libcw5debug13cwprint_usingINS_9_private_12GlobalObjectEEENS0_17cwprint_using_tctIT_EERKS5_MS5_KFvRSt7ostreamE
 libcw::debug::cwprint_using_tct<libcw::_private_::GlobalObject> libcw::debug::cwprint_using<libcw::_private_::GlobalObject>(libcw::_private_::GlobalObject const&, void (libcw::_private_::GlobalObject::*)(std::ostream&) const)
+libcw::debug::cwprint_using<libcw::_private_::GlobalObject>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNKSt14priority_queueIP27timer_event_request_base_ctSt5dequeIS1_SaIS1_EE13timer_greaterE3topEv
 std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top() const
+std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNKSt15_Deque_iteratorIP15memory_block_stRKS1_PS2_EeqERKS5_
 std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==(std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*> const&) const
+std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNKSt17__normal_iteratorIPK6optionSt6vectorIS0_SaIS0_EEEmiERKS6_
 std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-(std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > > const&) const
+std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNSbIcSt11char_traitsIcEN5libcw5debug27no_alloc_checking_allocatorEE12_S_constructIPcEES6_T_S7_RKS3_
 char* std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>(char*, char*, libcw::debug::no_alloc_checking_allocator const&)
+std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fI1APS0_PKS0_EvT_T0_T1_PA4_S3_M1CS8_
 void f<A, A*, A const*>(A, A*, A const*, A const* (*) [4], A const* (* C::*) [4])
+f<A, A*, A const*>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_
 foo(int, int*, int**, int***, int****, int*****, int******, int*******, int********, int*********, int**********, int***********, int************, int*************, int**************, int***************)
+foo
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZSt1BISt1DIP1ARKS2_PS3_ES0_IS2_RS2_PS2_ES2_ET0_T_SB_SA_PT1_
 std::D<A*, A*&, A**> std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>(std::D<A*, A* const&, A* const*>, std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A**)
+std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
+_X11TransParseAddress
 _X11TransParseAddress
 _X11TransParseAddress
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNSt13_Alloc_traitsISbIcSt18string_char_traitsIcEN5libcw5debug9_private_17allocator_adaptorIcSt24__default_alloc_templateILb0ELi327664EELb1EEEENS5_IS9_S7_Lb1EEEE15_S_instancelessE
 std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless
+std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _GLOBAL__I__Z2fnv
 global constructors keyed to _Z2fnv
+global constructors keyed to _Z2fnv
 #
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1rM1GFivEMS_KFivES_M1HFivES1_4whatIKS_E5what2IS8_ES3_
 r(int (G::*)(), int (G::*)() const, G, int (H::*)(), int (G::*)(), what<G const>, what2<G const>, int (G::*)() const)
+r
 #
 # This is from the gdb testsuite gdb.cp/cplusfuncs.exp.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z10hairyfunc5PFPFilEPcE
 hairyfunc5(int (*(*)(char*))(long))
+hairyfunc5
 #
 # This is from gcc PR 8861
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fILi1ELc120EEv1AIXplT_cviLd810000000000000000703DAD7A370C5EEE
 void f<1, 120>(A<(1) + (((int)((double)810000000000000000703DAD7A370C5)))>)
+f<1, 120>
 #
 # This is also from gcc PR 8861
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fILi1EEv1AIXplT_cvingLf3f800000EEE
 void f<1>(A<(1) + (((int)(-((float)3f800000))))>)
+f<1>
 #
 # This is from a libstdc++ debug mode patch.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNK11__gnu_debug16_Error_formatter14_M_format_wordImEEvPciPKcT_
 void __gnu_debug::_Error_formatter::_M_format_word<unsigned long>(char*, int, char const*, unsigned long) const
+__gnu_debug::_Error_formatter::_M_format_word<unsigned long>
 #
 # The new demangler used to core dump on this.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPSt4pairISsPFbP6sqlitePPcEESt6vectorIS9_SaIS9_EEEESE_ET0_T_SG_SF_
 __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > >(__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >)
+std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > >
 #
 # The new demangler used to fail on this.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fP1cIPFiiEE
 f(c<int (*)(int)>*)
+f
 #
 # Wrap expressions using '>' in an extra layer of parens to avoid
 # confusion with the '>' which ends the template parameters.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z4dep9ILi3EEvP3fooIXgtT_Li2EEE
 void dep9<3>(foo<((3) > (2))>*)
+dep9<3>
 #
 # Watch out for templated version of `operator<'--it needs an extra
 # space.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZStltI9file_pathSsEbRKSt4pairIT_T0_ES6_
 bool std::operator< <file_path, std::string>(std::pair<file_path, std::string> const&, std::pair<file_path, std::string> const&)
+std::operator< <file_path, std::string>
 #
 # More hairy qualifier handling.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z9hairyfuncM1YKFPVPFrPA2_PM1XKFKPA3_ilEPcEiE
 hairyfunc(int (* const (X::** (* restrict (* volatile*(Y::*)(int) const)(char*)) [2])(long) const) [3])
+hairyfunc
 #
 # Check that negative numbers are handled correctly.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _Z1fILin1EEvv
 void f<-1>()
+f<-1>
 #
 # Check a destructor of a standard substitution.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNSdD0Ev
 std::basic_iostream<char, std::char_traits<char> >::~basic_iostream()
+std::basic_iostream<char, std::char_traits<char> >::~basic_iostream
 #
 # Another case where we got member function qualifiers wrong.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNK15nsBaseHashtableI15nsUint32HashKey8nsCOMPtrI4IFooEPS2_E13EnumerateReadEPF15PLDHashOperatorRKjS4_PvES9_
 nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead(PLDHashOperator (*)(unsigned int const&, IFoo*, void*), void*) const
+nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead
 #
 # Another member function qualifier test case, when the member function
 # returns a pointer to function.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNK1C1fIiEEPFivEv
 int (*C::f<int>() const)()
+C::f<int>
 #
 # Another case where we got member function qualifiers wrong.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZZ3BBdI3FooEvvENK3Fob3FabEv
 void BBd<Foo>()::Fob::Fab() const
+void BBd<Foo>()::Fob::Fab
 #
 # The same idea one level deeper.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZZZ3BBdI3FooEvvENK3Fob3FabEvENK3Gob3GabEv
 void BBd<Foo>()::Fob::Fab() const::Gob::Gab() const
+void BBd<Foo>()::Fob::Fab() const::Gob::Gab
 #
 # Yet another member function qualifier problem.
---format=gnu-v3
+--format=gnu-v3 --no-params
 _ZNK5boost6spirit5matchI13rcs_deltatextEcvMNS0_4impl5dummyEFvvEEv
 boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()() const
+boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()
+#
+# Test GNU V3 constructor and destructor identification.
+# 0 means it is not a constructor/destructor.
+# Other integers correspond to enum gnu_v3_{c,d}tor_kinds in demangle.h.
+--is-v3-ctor
+_GLOBAL__I__Z2fnv
+0
+#
+--is-v3-dtor
+_GLOBAL__I__Z2fnv
+0
+#
+--is-v3-ctor
+_ZNSdC1Ev
+1
+#
+--is-v3-dtor
+_ZNSdC1Ev
+0
+#
+--is-v3-ctor
+_ZNSdD0Ev
+0
+#
+--is-v3-dtor
+_ZNSdD0Ev
+1
+#
+--is-v3-ctor
+_ZNSdC2Ev
+2
+#
+--is-v3-dtor
+_ZNSdC2Ev
+0
+#
+--is-v3-ctor
+_ZNSdD1Ev
+0
+#
+--is-v3-dtor
+_ZNSdD1Ev
+2
 #
 # This caused an infinite loop.
 #
@@ -2959,12 +3737,14 @@ boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::
 # mode.  Of course the result is more or less nonsense, but an older
 # version of g++ would indeed generate this mangled name given the
 # appropriate input, so the demangling is correct.
---format=auto
+--format=auto --no-params
 __CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm__7_Z1ZZ2Z8iterator
 _Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm(iterator)
+_Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm
 #
 # This used to cause a crash. It doesn't follow the C++ encoding so
 # the demangled name should be identical to the original symbol name.
---format=auto
+--format=auto --no-params
+_test_array__L_1__B23b___clean.6
 _test_array__L_1__B23b___clean.6
 _test_array__L_1__B23b___clean.6
index ed28229ca344a374d509df5568d1e5259c58b050..6e00d1416d789dbbfbbed531091ec359605e652e 100644 (file)
@@ -1,5 +1,5 @@
 /* Demangler test program,
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
    Written by Zack Weinberg <zack@codesourcery.com
 
    This file is part of GNU libiberty.
@@ -80,16 +80,39 @@ getline(buf)
   buf->alloced = alloc;
 }
 
-/* The tester operates on a data file consisting of triples of lines:
-   format switch
+static void
+fail (lineno, opts, in, out, exp)
+     int lineno;
+     const char *opts;
+     const char *in;
+     const char *out;
+     const char *exp;
+{
+  printf ("\
+FAIL at line %d, options %s:\n\
+in:  %s\n\
+out: %s\n\
+exp: %s\n",
+         lineno, opts, in, out != NULL ? out : "(null)", exp);
+}
+
+/* The tester operates on a data file consisting of groups of lines:
+   options
    input to be demangled
    expected output
 
-   The format switch is expected to be either the empty string, a
-   line of the form --format=<name>, or just <name> by itself.  */
+   Supported options:
+     --format=<name>     Sets the demangling style.
+     --no-params         There are two lines of expected output; the first
+                         is with DMGL_PARAMS, the second is without it.
+     --is-v3-ctor        Calls is_gnu_v3_mangled_ctor on input; expected
+                         output is an integer representing ctor_kind.
+     --is-v3-dtor        Likewise, but for dtors.
 
-#define FORMATS "--format="
-#define FORMATL (sizeof FORMATS - 1)
+   For compatibility, just in case it matters, the options line may be
+   empty, to mean --format=auto.  If it doesn't start with --, then it
+   may contain only a format name.
+*/
 
 int
 main(argc, argv)
@@ -97,10 +120,12 @@ main(argc, argv)
      char **argv;
 {
   enum demangling_styles style;
+  int no_params;
+  int is_v3_ctor;
+  int is_v3_dtor;
   struct line format;
   struct line input;
   struct line expect;
-  char *fstyle;
   char *result;
   int failures = 0;
   int tests = 0;
@@ -126,20 +151,98 @@ main(argc, argv)
 
       tests++;
 
-      fstyle = format.data;
-      if (!strncmp (fstyle, FORMATS, FORMATL))
-       fstyle += FORMATL;
-
-      if (fstyle[0] == '\0')
+      no_params = 0;
+      is_v3_ctor = 0;
+      is_v3_dtor = 0;
+      if (format.data[0] == '\0')
        style = auto_demangling;
+      else if (format.data[0] != '-')
+       {
+         style = cplus_demangle_name_to_style (format.data);
+         if (style == unknown_demangling)
+           {
+             printf ("FAIL at line %d: unknown demangling style %s\n",
+                     lineno, format.data);
+             failures++;
+             continue;
+           }
+       }
       else
-       style = cplus_demangle_name_to_style (fstyle);
+       {
+         char *p;
+         char *opt;
 
-      if (style == unknown_demangling)
+         p = format.data;
+         while (*p != '\0')
+           {
+             char c;
+
+             opt = p;
+             p += strcspn (p, " \t=");
+             c = *p;
+             *p = '\0';
+             if (strcmp (opt, "--format") == 0 && c == '=')
+               {
+                 char *fstyle;
+
+                 *p = c;
+                 ++p;
+                 fstyle = p;
+                 p += strcspn (p, " \t");
+                 c = *p;
+                 *p = '\0';
+                 style = cplus_demangle_name_to_style (fstyle);
+                 if (style == unknown_demangling)
+                   {
+                     printf ("FAIL at line %d: unknown demangling style %s\n",
+                             lineno, fstyle);
+                     failures++;
+                     continue;
+                   }
+               }
+             else if (strcmp (opt, "--no-params") == 0)
+               no_params = 1;
+             else if (strcmp (opt, "--is-v3-ctor") == 0)
+               is_v3_ctor = 1;
+             else if (strcmp (opt, "--is-v3-dtor") == 0)
+               is_v3_dtor = 1;
+             else
+               {
+                 printf ("FAIL at line %d: unrecognized option %s\n",
+                         lineno, opt);
+                 failures++;
+                 continue;
+               }
+             *p = c;
+             p += strspn (p, " \t");
+           }
+       }
+
+      if (is_v3_ctor || is_v3_dtor)
        {
-         printf ("FAIL at line %d: unknown demangling style %s\n",
-                 lineno, fstyle);
-         failures++;
+         char buf[20];
+
+         if (is_v3_ctor)
+           {
+             enum gnu_v3_ctor_kinds kc;
+
+             kc = is_gnu_v3_mangled_ctor (input.data);
+             sprintf (buf, "%d", (int) kc);
+           }
+         else
+           {
+             enum gnu_v3_dtor_kinds kd;
+
+             kd = is_gnu_v3_mangled_dtor (input.data);
+             sprintf (buf, "%d", (int) kd);
+           }
+
+         if (strcmp (buf, expect.data) != 0)
+           {
+             fail (lineno, format.data, input.data, buf, expect.data);
+             failures++;
+           }
+
          continue;
        }
 
@@ -152,18 +255,25 @@ main(argc, argv)
          ? strcmp (result, expect.data)
          : strcmp (input.data, expect.data))
        {
-         printf ("\
-FAIL at line %d, style %s:\n\
-in:  %s\n\
-out: %s\n\
-exp: %s\n",
-                  lineno, fstyle,
-                  input.data,
-                  result,
-                  expect.data);
+         fail (lineno, format.data, input.data, result, expect.data);
          failures++;
        }
       free (result);
+
+      if (no_params)
+       {
+         getline (&expect);
+         result = cplus_demangle (input.data, DMGL_ANSI|DMGL_TYPES);
+
+         if (result
+             ? strcmp (result, expect.data)
+             : strcmp (input.data, expect.data))
+           {
+             fail (lineno, format.data, input.data, result, expect.data);
+             failures++;
+           }
+         free (result);
+       }
     }
 
   free (format.data);