diff options
author | DJ Delorie <dj@redhat.com> | 2004-01-02 21:11:34 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2004-01-02 21:11:34 +0000 |
commit | 820542c970da46f15f9b691e77e7404a5c6fd734 (patch) | |
tree | 9cc0530445d6f32d76928f5b14b957d415c3978e | |
parent | 0bc2134ec99a5955ec83265212ed3e4cf212f45d (diff) | |
download | fsf-binutils-gdb-820542c970da46f15f9b691e77e7404a5c6fd734.zip fsf-binutils-gdb-820542c970da46f15f9b691e77e7404a5c6fd734.tar.gz fsf-binutils-gdb-820542c970da46f15f9b691e77e7404a5c6fd734.tar.bz2 |
merge from gcc
-rw-r--r-- | include/ChangeLog | 594 | ||||
-rw-r--r-- | libiberty/ChangeLog | 13 | ||||
-rw-r--r-- | libiberty/cp-demangle.c | 19 | ||||
-rw-r--r-- | libiberty/cplus-dem.c | 23 | ||||
-rw-r--r-- | libiberty/testsuite/demangle-expected | 2242 | ||||
-rw-r--r-- | libiberty/testsuite/test-demangle.c | 164 |
6 files changed, 2294 insertions, 761 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 3316383..ff08e82 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -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 diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index ada155d..ee71aa1 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -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. diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 16871ab..a5d1817 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -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; } diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 5e2e7a7..f3c4464 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -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' diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected index dd36b7a..25e8830 100644 --- a/libiberty/testsuite/demangle-expected +++ b/libiberty/testsuite/demangle-expected @@ -1,2571 +1,3223 @@ # 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 diff --git a/libiberty/testsuite/test-demangle.c b/libiberty/testsuite/test-demangle.c index ed28229..6e00d14 100644 --- a/libiberty/testsuite/test-demangle.c +++ b/libiberty/testsuite/test-demangle.c @@ -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); |