summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1999-04-05 14:28:59 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-04-05 14:28:59 +0000
commit7c72138aa2c52e51598f2a1f82325bb109f8b529 (patch)
tree71e92a4eeb8ae0617771fb4d01e8792b0ab72869 /libiberty
parent4f65832d5c08d16601c8271909c5e1f9deca23ed (diff)
downloadgcc-7c72138aa2c52e51598f2a1f82325bb109f8b529.tar.gz
regress-demangle: New file.
* testsuite/regress-demangle: New file. * testsuite/demangle-expected: New file. * Makefile.in (all, check, installcheck, info, install-info, clean-info, dvi, install, etags, tags, mostlyclean, clean, distclean, maintainer-clean, realclean): Depend on corresponding `-subdir' target. (all-subdir check-subdir installcheck-subdir info-subdir install-info-subdir clean-info-subdir dvi-subdir install-info-subdir etags-subdir mostlyclean-subdir clean-subdir distclean-subdir maintainer-clean-subdir): New target. * testsuite/Makefile.in: New file. * configure: Rebuilt. * configure.in: Create testsuite/Makefile. From-SVN: r26205
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog17
-rw-r--r--libiberty/Makefile.in32
-rwxr-xr-xlibiberty/configure104
-rw-r--r--libiberty/configure.in11
-rw-r--r--libiberty/testsuite/Makefile.in75
-rw-r--r--libiberty/testsuite/demangle-expected2468
-rwxr-xr-xlibiberty/testsuite/regress-demangle28
7 files changed, 2677 insertions, 58 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 74b082a9358..8b6e6718f43 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,20 @@
+1999-04-05 Tom Tromey <tromey@cygnus.com>
+
+ * testsuite/regress-demangle: New file.
+ * testsuite/demangle-expected: New file.
+
+ * Makefile.in (all, check, installcheck, info, install-info,
+ clean-info, dvi, install, etags, tags, mostlyclean, clean,
+ distclean, maintainer-clean, realclean): Depend on corresponding
+ `-subdir' target.
+ (all-subdir check-subdir installcheck-subdir info-subdir
+ install-info-subdir clean-info-subdir dvi-subdir
+ install-info-subdir etags-subdir mostlyclean-subdir clean-subdir
+ distclean-subdir maintainer-clean-subdir): New target.
+ * testsuite/Makefile.in: New file.
+ * configure: Rebuilt.
+ * configure.in: Create testsuite/Makefile.
+
1999-04-02 Mark Mitchell <mark@codesourcery.com>
* splay-tree.h (splay_tree_compare_pointers): Define.
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index b1689ba14fd..622b92c1400 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -1,6 +1,6 @@
#
# Makefile
-# Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 1998
+# Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 98, 1999
# Free Software Foundation
#
# This file is part of the libiberty library.
@@ -87,11 +87,12 @@ FLAGS_TO_PASS = \
"RANLIB=$(RANLIB)" \
"SHELL=$(SHELL)"
-all: stamp-picdir $(TARGETLIB) needed-list required-list
+all: stamp-picdir $(TARGETLIB) needed-list required-list all-subdir
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
.PHONY: check installcheck
-check installcheck:
+check: check-subdir
+installcheck: installcheck-subdir
@host_makefile_frag@
@@ -103,7 +104,10 @@ COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES)
$(COMPILE.c) $(PICFLAG) $< -o pic/$@
$(COMPILE.c) $<
-info install-info clean-info dvi:
+info: info-subdir
+install-info: install-info-subdir
+clean-info: clean-info-subdir
+dvi: dvi-subdir
# Include files that are in this directory.
HFILES = alloca-conf.h
@@ -136,7 +140,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) $(ALLOCA)
$(RANLIB) $(TARGETLIB)
INSTALL_DEST = @INSTALL_DEST@
-install: install_to_$(INSTALL_DEST)
+install: install_to_$(INSTALL_DEST) install-subdir
install_to_libdir: all
$(INSTALL_DATA) $(TARGETLIB) $(libdir)$(MULTISUBDIR)/$(TARGETLIB).n
@@ -171,7 +175,7 @@ stamp-picdir:
.PHONY: all etags tags ls clean stage1 stage2
-etags tags: TAGS
+etags tags: TAGS etags-subdir
TAGS: $(CFILES) $(HFILES)
etags `for i in $(HFILES) $(CFILES); do echo $(srcdir)/$$i ; done`
@@ -187,19 +191,19 @@ ls:
# Need to deal with profiled libraries, too.
-mostlyclean:
+mostlyclean: mostlyclean-subdir
rm -rf *.o pic core errs \#* *.E a.out
rm -f needed.awk needed2.awk errors dummy needed-list config.h stamp-*
rm -f $(CONFIG_H) $(NEEDED_LIST) stamp-picdir
@$(MULTICLEAN) multi-clean DO=mostlyclean
-clean: mostlyclean
+clean: mostlyclean clean-subdir
rm -f *.a required-list tmpmulti.out
@$(MULTICLEAN) multi-clean DO=clean
-distclean: clean
+distclean: clean distclean-subdir
@$(MULTICLEAN) multi-clean DO=distclean
rm -f *~ Makefile config.status xhost-mkfrag TAGS multilib.out
rm -f config.log
-maintainer-clean realclean: distclean
+maintainer-clean realclean: distclean maintainer-clean-subdir
force:
@@ -213,6 +217,14 @@ stamp-h: config.in config.status
config.status: $(srcdir)/configure $(srcdir)/config.table
$(SHELL) ./config.status --recheck
+
+all-subdir check-subdir installcheck-subdir info-subdir \
+install-info-subdir clean-info-subdir dvi-subdir install-subdir \
+etags-subdir mostlyclean-subdir clean-subdir distclean-subdir \
+maintainer-clean-subdir:
+ @target=`echo $@ | sed -e 's/-subdir//'`; \
+ cd testsuite && $(MAKE) $$target
+
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) $(ALLOCA): stamp-picdir
alloca.o: config.h
diff --git a/libiberty/configure b/libiberty/configure
index 98407e7946c..f7ba4b21902 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -1538,6 +1538,7 @@ fi
# if the host does not provide alloca, we set ALLOCA to alloca.o
setobjs=
+CHECK=
if test -n "${with_target_subdir}"; then
# We are being configured as a target library. AC_REPLACE_FUNCS
@@ -1578,8 +1579,16 @@ EOF
setobjs=yes
fi
+
+else
+
+ # Not a target library, so we set things up to run the test suite.
+ CHECK=check-cplus-dem
+
fi
+
+
if test -z "${setobjs}"; then
case "${host}" in
@@ -1668,7 +1677,7 @@ EOF
# We haven't set the list of objects yet. Use the standard autoconf
# tests. This will only work if the compiler works.
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1672: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1681: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1679,12 +1688,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1683 "configure"
+#line 1692 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1710,19 +1719,19 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1714: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1723: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
for ac_func in $funcs
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1721: checking for $ac_func" >&5
+echo "configure:1730: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1726 "configure"
+#line 1735 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1745,7 +1754,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1774,19 +1783,19 @@ done
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1778: checking for working alloca.h" >&5
+echo "configure:1787: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1783 "configure"
+#line 1792 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:1790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -1807,12 +1816,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1811: checking for alloca" >&5
+echo "configure:1820: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1816 "configure"
+#line 1825 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -1840,7 +1849,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:1844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -1872,12 +1881,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1876: checking whether alloca needs Cray hooks" >&5
+echo "configure:1885: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1881 "configure"
+#line 1890 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -1902,12 +1911,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1906: checking for $ac_func" >&5
+echo "configure:1915: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1911 "configure"
+#line 1920 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1930,7 +1939,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1957,7 +1966,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1961: checking stack direction for C alloca" >&5
+echo "configure:1970: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1965,7 +1974,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 1969 "configure"
+#line 1978 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -1984,7 +1993,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:1988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -2006,12 +2015,12 @@ EOF
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2010: checking for ANSI C header files" >&5
+echo "configure:2019: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2015 "configure"
+#line 2024 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2019,7 +2028,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2023: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2036,7 +2045,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2040 "configure"
+#line 2049 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2054,7 +2063,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2058 "configure"
+#line 2067 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2075,7 +2084,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2079 "configure"
+#line 2088 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2086,7 +2095,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2110,12 +2119,12 @@ EOF
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:2114: checking for pid_t" >&5
+echo "configure:2123: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2119 "configure"
+#line 2128 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -2144,17 +2153,17 @@ fi
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:2148: checking for vfork.h" >&5
+echo "configure:2157: checking for vfork.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2153 "configure"
+#line 2162 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2158: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2167: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2179,18 +2188,18 @@ else
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:2183: checking for working vfork" >&5
+echo "configure:2192: checking for working vfork" >&5
if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
echo $ac_n "checking for vfork""... $ac_c" 1>&6
-echo "configure:2189: checking for vfork" >&5
+echo "configure:2198: checking for vfork" >&5
if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2194 "configure"
+#line 2203 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vfork(); below. */
@@ -2213,7 +2222,7 @@ vfork();
; return 0; }
EOF
-if { (eval echo configure:2217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vfork=yes"
else
@@ -2235,7 +2244,7 @@ fi
ac_cv_func_vfork_works=$ac_cv_func_vfork
else
cat > conftest.$ac_ext <<EOF
-#line 2239 "configure"
+#line 2248 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
@@ -2330,7 +2339,7 @@ main() {
}
}
EOF
-if { (eval echo configure:2334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_vfork_works=yes
else
@@ -2357,19 +2366,19 @@ fi
fi
for v in $vars; do
echo $ac_n "checking for $v""... $ac_c" 1>&6
-echo "configure:2361: checking for $v" >&5
+echo "configure:2370: checking for $v" >&5
if eval "test \"`echo '$''{'libiberty_cv_var_$v'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2366 "configure"
+#line 2375 "configure"
#include "confdefs.h"
int *p;
int main() {
extern int $v; p = &$v;
; return 0; }
EOF
-if { (eval echo configure:2373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "libiberty_cv_var_$v=yes"
else
@@ -2395,12 +2404,12 @@ EOF
for ac_func in $checkfuncs
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2399: checking for $ac_func" >&5
+echo "configure:2408: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2404 "configure"
+#line 2413 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2423,7 +2432,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2560,7 +2569,7 @@ done
ac_given_srcdir=$srcdir
ac_given_INSTALL="$INSTALL"
-trap 'rm -fr `echo "Makefile config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "Makefile testsuite/Makefile config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
@@ -2611,6 +2620,7 @@ s%@INSTALL_DATA@%$INSTALL_DATA%g
/@host_makefile_frag@/r $host_makefile_frag
s%@host_makefile_frag@%%g
s%@CPP@%$CPP%g
+s%@CHECK@%$CHECK%g
s%@LIBOBJS@%$LIBOBJS%g
s%@ALLOCA@%$ALLOCA%g
s%@INSTALL_DEST@%$INSTALL_DEST%g
@@ -2655,7 +2665,7 @@ EOF
cat >> $CONFIG_STATUS <<EOF
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+CONFIG_FILES=\${CONFIG_FILES-"Makefile testsuite/Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
diff --git a/libiberty/configure.in b/libiberty/configure.in
index f02f03561e5..9a496720050 100644
--- a/libiberty/configure.in
+++ b/libiberty/configure.in
@@ -176,6 +176,7 @@ fi
# if the host does not provide alloca, we set ALLOCA to alloca.o
setobjs=
+CHECK=
if test -n "${with_target_subdir}"; then
# We are being configured as a target library. AC_REPLACE_FUNCS
@@ -210,8 +211,16 @@ if test -n "${with_target_subdir}"; then
setobjs=yes
fi
+
+else
+
+ # Not a target library, so we set things up to run the test suite.
+ CHECK=check-cplus-dem
+
fi
+AC_SUBST(CHECK)
+
if test -z "${setobjs}"; then
case "${host}" in
@@ -321,7 +330,7 @@ fi
AC_SUBST(INSTALL_DEST)
# We need multilib support, but only if configuring for the target.
-AC_OUTPUT(Makefile,
+AC_OUTPUT(Makefile testsuite/Makefile,
[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
if test -n "$CONFIG_FILES"; then
if test -n "${with_target_subdir}"; then
diff --git a/libiberty/testsuite/Makefile.in b/libiberty/testsuite/Makefile.in
new file mode 100644
index 00000000000..9d4ddd0ef1e
--- /dev/null
+++ b/libiberty/testsuite/Makefile.in
@@ -0,0 +1,75 @@
+#
+# Makefile
+# Copyright (C) 1999
+# Free Software Foundation
+#
+# This file is part of the libiberty library.
+# Libiberty is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# Libiberty is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with libiberty; see the file COPYING.LIB. If not,
+# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+# This file was written by Tom Tromey <tromey@cygnus.com>.
+
+#
+# Makefile for libiberty/testsuite directory
+#
+
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+SHELL = @SHELL@
+
+CC = @CC@
+CFLAGS = @CFLAGS@
+LIBCFLAGS = $(CFLAGS)
+
+# Multilib support variables.
+MULTISRCTOP =
+
+INCDIR=$(srcdir)/../$(MULTISRCTOP)../include
+
+all:
+
+check: @CHECK@
+
+# Run some tests of the demangler.
+check-cplus-dem: test-filter $(srcdir)/demangle-expected
+ $(SHELL) $(srcdir)/regress-demangle $(srcdir)/demangle-expected
+
+# Note that we just hard-code prepends_underscore to 0. This doesn't
+# matter since any particular test can override the default if need
+# be.
+TEST_COMPILE = $(CC) @DEFS@ $(LIBCFLAGS) -I.. -I$(INCDIR) $(HDEFINES)
+test-filter: $(srcdir)/../cplus-dem.c
+ echo 'int prepends_underscore = 0;' > test-us.c
+ $(TEST_COMPILE) -o test-filter -DMAIN -DVERSION='"none"' @DEFS@ \
+ $(srcdir)/../cplus-dem.c test-us.c -L.. -liberty
+
+
+# Standard (either GNU or Cygnus) rules we don't use.
+info install-info clean-info dvi install etags tags installcheck:
+
+# The standard clean rules.
+mostlyclean:
+ rm -f test-us.c test-filter
+clean: mostlyclean
+distclean: clean
+ rm -f Makefile
+maintainer-clean realclean: distclean
+
+
+Makefile: $(srcdir)/Makefile.in ../config.status
+ CONFIG_FILES=testsuite/Makefile CONFIG_HEADERS= \
+ cd .. && $(SHELL) ./config.status
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
new file mode 100644
index 00000000000..95dc4dda671
--- /dev/null
+++ b/libiberty/testsuite/demangle-expected
@@ -0,0 +1,2468 @@
+# 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
+AddAlignment__9ivTSolverUiP12ivInteractorP7ivTGlue
+ivTSolver::AddAlignment(unsigned int, ivInteractor *, ivTGlue *)
+#
+--format=gnu
+ArrowheadIntersects__9ArrowLineP9ArrowheadR6BoxObjP7Graphic
+ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &, Graphic *)
+#
+--format=gnu
+AtEnd__13ivRubberGroup
+ivRubberGroup::AtEnd(void)
+#
+--format=gnu
+BgFilter__9ivTSolverP12ivInteractor
+ivTSolver::BgFilter(ivInteractor *)
+#
+--format=gnu
+Check__6UArrayi
+UArray::Check(int)
+#
+--format=gnu
+CoreConstDecls__8TextCodeR7ostream
+TextCode::CoreConstDecls(ostream &)
+#
+--format=gnu
+Detach__8StateVarP12StateVarView
+StateVar::Detach(StateVarView *)
+#
+--format=gnu
+Done__9ComponentG8Iterator
+Component::Done(Iterator)
+#
+--format=gnu
+Effect__11RelateManipR7ivEvent
+RelateManip::Effect(ivEvent &)
+#
+--format=gnu
+FindFixed__FRP4CNetP4CNet
+FindFixed(CNet *&, CNet *)
+#
+--format=gnu
+Fix48_abort__FR8twolongs
+Fix48_abort(twolongs &)
+#
+--format=gnu
+GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveRiT2
+iv2_6_VScroller::GetBarInfo(ivPerspective *, int &, int &)
+#
+--format=gnu
+GetBgColor__C9ivPainter
+ivPainter::GetBgColor(void) const
+#
+--format=gnu
+InsertBody__15H_PullrightMenuii
+H_PullrightMenu::InsertBody(int, int)
+#
+--format=gnu
+InsertCharacter__9TextManipc
+TextManip::InsertCharacter(char)
+#
+--format=gnu
+InsertToplevel__7ivWorldP12ivInteractorT1
+ivWorld::InsertToplevel(ivInteractor *, ivInteractor *)
+#
+--format=gnu
+InsertToplevel__7ivWorldP12ivInteractorT1iiUi
+ivWorld::InsertToplevel(ivInteractor *, ivInteractor *, int, int, unsigned int)
+#
+--format=gnu
+IsAGroup__FP11GraphicViewP11GraphicComp
+IsAGroup(GraphicView *, GraphicComp *)
+#
+--format=gnu
+IsA__10ButtonCodeUl
+ButtonCode::IsA(unsigned long)
+#
+--format=gnu
+ReadName__FR7istreamPc
+ReadName(istream &, char *)
+#
+--format=gnu
+Redraw__13StringBrowseriiii
+StringBrowser::Redraw(int, int, int, int)
+#
+--format=gnu
+Rotate__13ivTransformerf
+ivTransformer::Rotate(float)
+#
+--format=gnu
+Rotated__C13ivTransformerf
+ivTransformer::Rotated(float) const
+#
+--format=gnu
+Round__Ff
+Round(float)
+#
+--format=gnu
+SetExport__16MemberSharedNameUi
+MemberSharedName::SetExport(unsigned int)
+#
+--format=gnu
+Set__14ivControlState13ControlStatusUi
+ivControlState::Set(ControlStatus, unsigned int)
+#
+--format=gnu
+Set__5DFacePcii
+DFace::Set(char *, int, int)
+#
+--format=gnu
+VConvert__9ivTSolverP12ivInteractorRP8TElementT2
+ivTSolver::VConvert(ivInteractor *, TElement *&, TElement *&)
+#
+--format=gnu
+VConvert__9ivTSolverP7ivTGlueRP8TElement
+ivTSolver::VConvert(ivTGlue *, TElement *&)
+#
+--format=gnu
+VOrder__9ivTSolverUiRP12ivInteractorT2
+ivTSolver::VOrder(unsigned int, ivInteractor *&, ivInteractor *&)
+#
+--format=gnu
+_10PageButton\$__both
+PageButton::__both
+#
+--format=gnu
+_3RNG\$singleMantissa
+RNG::singleMantissa
+#
+--format=gnu
+_5IComp\$_release
+IComp::_release
+#
+--format=gnu
+_\$_10BitmapComp
+BitmapComp::~BitmapComp(void)
+#
+--format=gnu
+_\$_9__io_defs
+__io_defs::~__io_defs(void)
+#
+--format=gnu
+_\$_Q23foo3bar
+foo::bar::~bar(void)
+#
+--format=gnu
+_\$_Q33foo3bar4bell
+foo::bar::bell::~bell(void)
+#
+--format=gnu
+__10ivTelltaleiP7ivGlyph
+ivTelltale::ivTelltale(int, ivGlyph *)
+#
+--format=gnu
+__10ivViewportiP12ivInteractorUi
+ivViewport::ivViewport(int, ivInteractor *, unsigned int)
+#
+--format=gnu
+__10ostrstream
+ostrstream::ostrstream(void)
+#
+--format=gnu
+__10ostrstreamPcii
+ostrstream::ostrstream(char *, int, int)
+#
+--format=gnu
+__11BitmapTablei
+BitmapTable::BitmapTable(int)
+#
+--format=gnu
+__12ViewportCodeP12ViewportComp
+ViewportCode::ViewportCode(ViewportComp *)
+#
+--format=gnu
+__12iv2_6_Borderii
+iv2_6_Border::iv2_6_Border(int, int)
+#
+--format=gnu
+__12ivBreak_Listl
+ivBreak_List::ivBreak_List(long)
+#
+--format=gnu
+__14iv2_6_MenuItemiP12ivInteractor
+iv2_6_MenuItem::iv2_6_MenuItem(int, ivInteractor *)
+#
+--format=gnu
+__20DisplayList_IteratorR11DisplayList
+DisplayList_Iterator::DisplayList_Iterator(DisplayList &)
+#
+--format=gnu
+__3fooRT0
+foo::foo(foo &)
+#
+--format=gnu
+__3fooiN31
+foo::foo(int, int, int, int)
+#
+--format=gnu
+__3fooiRT0iT2iT2
+foo::foo(int, foo &, int, foo &, int, foo &)
+#
+--format=gnu
+__6KeyMapPT0
+KeyMap::KeyMap(KeyMap *)
+#
+--format=gnu
+__8ArrowCmdP6EditorUiUi
+ArrowCmd::ArrowCmd(Editor *, unsigned int, unsigned int)
+#
+--format=gnu
+__9F_EllipseiiiiP7Graphic
+F_Ellipse::F_Ellipse(int, int, int, int, Graphic *)
+#
+--format=gnu
+__9FrameDataP9FrameCompi
+FrameData::FrameData(FrameComp *, int)
+#
+--format=gnu
+__9HVGraphicP9CanvasVarP7Graphic
+HVGraphic::HVGraphic(CanvasVar *, Graphic *)
+#
+--format=gnu
+__Q23foo3bar
+foo::bar::bar(void)
+#
+--format=gnu
+__Q33foo3bar4bell
+foo::bar::bell::bell(void)
+#
+--format=gnu
+__aa__3fooRT0
+foo::operator&&(foo &)
+#
+--format=gnu
+__aad__3fooRT0
+foo::operator&=(foo &)
+#
+--format=gnu
+__ad__3fooRT0
+foo::operator&(foo &)
+#
+--format=gnu
+__adv__3fooRT0
+foo::operator/=(foo &)
+#
+--format=gnu
+__aer__3fooRT0
+foo::operator^=(foo &)
+#
+--format=gnu
+__als__3fooRT0
+foo::operator<<=(foo &)
+#
+--format=gnu
+__amd__3fooRT0
+foo::operator%=(foo &)
+#
+--format=gnu
+__ami__3fooRT0
+foo::operator-=(foo &)
+#
+--format=gnu
+__aml__3FixRT0
+Fix::operator*=(Fix &)
+#
+--format=gnu
+__aml__5Fix16i
+Fix16::operator*=(int)
+#
+--format=gnu
+__aml__5Fix32RT0
+Fix32::operator*=(Fix32 &)
+#
+--format=gnu
+__aor__3fooRT0
+foo::operator|=(foo &)
+#
+--format=gnu
+__apl__3fooRT0
+foo::operator+=(foo &)
+#
+--format=gnu
+__ars__3fooRT0
+foo::operator>>=(foo &)
+#
+--format=gnu
+__as__3fooRT0
+foo::operator=(foo &)
+#
+--format=gnu
+__cl__3fooRT0
+foo::operator()(foo &)
+#
+--format=gnu
+__cl__6Normal
+Normal::operator()(void)
+#
+--format=gnu
+__cl__6Stringii
+String::operator()(int, int)
+#
+--format=gnu
+__cm__3fooRT0
+foo::operator, (foo &)
+#
+--format=gnu
+__co__3foo
+foo::operator~(void)
+#
+--format=gnu
+__dl__3fooPv
+foo::operator delete(void *)
+#
+--format=gnu
+__dv__3fooRT0
+foo::operator/(foo &)
+#
+--format=gnu
+__eq__3fooRT0
+foo::operator==(foo &)
+#
+--format=gnu
+__er__3fooRT0
+foo::operator^(foo &)
+#
+--format=gnu
+__ge__3fooRT0
+foo::operator>=(foo &)
+#
+--format=gnu
+__gt__3fooRT0
+foo::operator>(foo &)
+#
+--format=gnu
+__le__3fooRT0
+foo::operator<=(foo &)
+#
+--format=gnu
+__ls__3fooRT0
+foo::operator<<(foo &)
+#
+--format=gnu
+__ls__FR7ostreamPFR3ios_R3ios
+operator<<(ostream &, ios &(*)(ios &))
+#
+--format=gnu
+__ls__FR7ostreamR3Fix
+operator<<(ostream &, Fix &)
+#
+--format=gnu
+__lt__3fooRT0
+foo::operator<(foo &)
+#
+--format=gnu
+__md__3fooRT0
+foo::operator%(foo &)
+#
+--format=gnu
+__mi__3fooRT0
+foo::operator-(foo &)
+#
+--format=gnu
+__ml__3fooRT0
+foo::operator*(foo &)
+#
+--format=gnu
+__mm__3fooi
+foo::operator--(int)
+#
+--format=gnu
+__ne__3fooRT0
+foo::operator!=(foo &)
+#
+--format=gnu
+__nt__3foo
+foo::operator!(void)
+#
+--format=gnu
+__nw__3fooi
+foo::operator new(int)
+#
+--format=gnu
+__oo__3fooRT0
+foo::operator||(foo &)
+#
+--format=gnu
+__opPc__3foo
+foo::operator char *(void)
+#
+--format=gnu
+__opi__3foo
+foo::operator int(void)
+#
+--format=gnu
+__or__3fooRT0
+foo::operator|(foo &)
+#
+--format=gnu
+__pl__3fooRT0
+foo::operator+(foo &)
+#
+--format=gnu
+__pp__3fooi
+foo::operator++(int)
+#
+--format=gnu
+__rf__3foo
+foo::operator->(void)
+#
+--format=gnu
+__rm__3fooRT0
+foo::operator->*(foo &)
+#
+--format=gnu
+__rs__3fooRT0
+foo::operator>>(foo &)
+#
+--format=gnu
+_new_Fix__FUs
+_new_Fix(unsigned short)
+#
+--format=gnu
+_vt.foo
+foo virtual table
+#
+--format=gnu
+_vt.foo.bar
+foo::bar virtual table
+#
+--format=gnu
+_vt\$foo
+foo virtual table
+#
+--format=gnu
+_vt\$foo\$bar
+foo::bar virtual table
+#
+--format=gnu
+append__7ivGlyphPT0
+ivGlyph::append(ivGlyph *)
+#
+--format=gnu
+clearok__FP7_win_sti
+clearok(_win_st *, int)
+#
+--format=gnu
+complexfunc2__FPFPc_i
+complexfunc2(int (*)(char *))
+#
+--format=gnu
+complexfunc3__FPFPFPl_s_i
+complexfunc3(int (*)(short (*)(long *)))
+#
+--format=gnu
+complexfunc4__FPFPFPc_s_i
+complexfunc4(int (*)(short (*)(char *)))
+#
+--format=gnu
+complexfunc5__FPFPc_PFl_i
+complexfunc5(int (*(*)(char *))(long))
+#
+--format=gnu
+complexfunc6__FPFPi_PFl_i
+complexfunc6(int (*(*)(int *))(long))
+#
+--format=gnu
+complexfunc7__FPFPFPc_i_PFl_i
+complexfunc7(int (*(*)(int (*)(char *)))(long))
+#
+--format=gnu
+foo__FiN30
+foo(int, int, int, int)
+#
+--format=gnu
+foo__FiR3fooiT1iT1
+foo(int, foo &, int, foo &, int, foo &)
+#
+--format=gnu
+foo___3barl
+bar::foo_(long)
+#
+--format=gnu
+insert__15ivClippingStacklRP8_XRegion
+ivClippingStack::insert(long, _XRegion *&)
+#
+--format=gnu
+insert__16ChooserInfo_ListlR11ChooserInfo
+ChooserInfo_List::insert(long, ChooserInfo &)
+#
+--format=gnu
+insert__17FontFamilyRepListlRP15ivFontFamilyRep
+FontFamilyRepList::insert(long, ivFontFamilyRep *&)
+#
+--format=gnu
+leaveok__FP7_win_stc
+leaveok(_win_st *, char)
+#
+--format=gnu
+left_mover__C7ivMFKitP12ivAdjustableP7ivStyle
+ivMFKit::left_mover(ivAdjustable *, ivStyle *) const
+#
+--format=gnu
+overload1arg__FSc
+overload1arg(signed char)
+#
+--format=gnu
+overload1arg__FUc
+overload1arg(unsigned char)
+#
+--format=gnu
+overload1arg__FUi
+overload1arg(unsigned int)
+#
+--format=gnu
+overload1arg__FUl
+overload1arg(unsigned long)
+#
+--format=gnu
+overload1arg__FUs
+overload1arg(unsigned short)
+#
+--format=gnu
+overload1arg__Fc
+overload1arg(char)
+#
+--format=gnu
+overload1arg__Fd
+overload1arg(double)
+#
+--format=gnu
+overload1arg__Ff
+overload1arg(float)
+#
+--format=gnu
+overload1arg__Fi
+overload1arg(int)
+#
+--format=gnu
+overload1arg__Fl
+overload1arg(long)
+#
+--format=gnu
+overload1arg__Fs
+overload1arg(short)
+#
+--format=gnu
+overload1arg__Fv
+overload1arg(void)
+#
+--format=gnu
+overloadargs__Fi
+overloadargs(int)
+#
+--format=gnu
+overloadargs__Fii
+overloadargs(int, int)
+#
+--format=gnu
+overloadargs__Fiii
+overloadargs(int, int, int)
+#
+--format=gnu
+overloadargs__Fiiii
+overloadargs(int, int, int, int)
+#
+--format=gnu
+overloadargs__Fiiiii
+overloadargs(int, int, int, int, int)
+#
+--format=gnu
+overloadargs__Fiiiiii
+overloadargs(int, int, int, int, int, int)
+#
+--format=gnu
+overloadargs__Fiiiiiii
+overloadargs(int, int, int, int, int, int, int)
+#
+--format=gnu
+overloadargs__Fiiiiiiii
+overloadargs(int, int, int, int, int, int, int, int)
+#
+--format=gnu
+overloadargs__Fiiiiiiiii
+overloadargs(int, int, int, int, int, int, int, int, int)
+#
+--format=gnu
+overloadargs__Fiiiiiiiiii
+overloadargs(int, int, int, int, int, int, int, int, int, int)
+#
+--format=gnu
+overloadargs__Fiiiiiiiiiii
+overloadargs(int, int, int, int, int, int, int, int, int, int, int)
+#
+--format=gnu
+poke__8ivRasterUlUlffff
+ivRaster::poke(unsigned long, unsigned long, float, float, float, float)
+#
+--format=gnu
+polar__Fdd
+polar(double, double)
+#
+--format=gnu
+scale__13ivTransformerff
+ivTransformer::scale(float, float)
+#
+--format=gnu
+sgetn__7filebufPci
+filebuf::sgetn(char *, int)
+#
+--format=gnu
+shift__FP5_FrepiT0
+shift(_Frep *, int, _Frep *)
+#
+--format=gnu
+test__C6BitSeti
+BitSet::test(int) const
+#
+--format=gnu
+test__C6BitSetii
+BitSet::test(int, int) const
+#
+--format=gnu
+text_source__8Documentl
+Document::text_source(long)
+#
+--format=gnu
+variance__6Erlangd
+Erlang::variance(double)
+#
+--format=gnu
+view__14DocumentViewerP8ItemViewP11TabularItem
+DocumentViewer::view(ItemView *, TabularItem *)
+#
+--format=gnu
+xy_extents__11ivExtensionffff
+ivExtension::xy_extents(float, float, float, float)
+#
+--format=gnu
+zero__8osMemoryPvUi
+osMemory::zero(void *, unsigned int)
+#
+--format=gnu
+_2T4\$N
+T4::N
+#
+--format=gnu
+_Q22T42t1\$N
+T4::t1::N
+#
+--format=gnu
+get__2T1
+T1::get(void)
+#
+--format=gnu
+get__Q22T11a
+T1::a::get(void)
+#
+--format=gnu
+get__Q32T11a1b
+T1::a::b::get(void)
+#
+--format=gnu
+get__Q42T11a1b1c
+T1::a::b::c::get(void)
+#
+--format=gnu
+get__Q52T11a1b1c1d
+T1::a::b::c::d::get(void)
+#
+--format=gnu
+put__2T1i
+T1::put(int)
+#
+--format=gnu
+put__Q22T11ai
+T1::a::put(int)
+#
+--format=gnu
+put__Q32T11a1bi
+T1::a::b::put(int)
+#
+--format=gnu
+put__Q42T11a1b1ci
+T1::a::b::c::put(int)
+#
+--format=gnu
+put__Q52T11a1b1c1di
+T1::a::b::c::d::put(int)
+#
+--format=gnu
+bar__3fooPv
+foo::bar(void *)
+#
+--format=gnu
+bar__C3fooPv
+foo::bar(void *) const
+#
+--format=gnu
+__eq__3fooRT0
+foo::operator==(foo &)
+#
+--format=gnu
+__eq__C3fooR3foo
+foo::operator==(foo &) const
+#
+--format=gnu
+elem__t6vector1Zdi
+vector<double>::elem(int)
+#
+--format=gnu
+elem__t6vector1Zii
+vector<int>::elem(int)
+#
+--format=gnu
+__t6vector1Zdi
+vector<double>::vector(int)
+#
+--format=gnu
+__t6vector1Zii
+vector<int>::vector(int)
+#
+--format=gnu
+_\$_t6vector1Zdi
+vector<double>::~vector(int)
+#
+--format=gnu
+_\$_t6vector1Zii
+vector<int>::~vector(int)
+#
+--format=gnu
+__nw__t2T11ZcUi
+T1<char>::operator new(unsigned int)
+#
+--format=gnu
+__nw__t2T11Z1tUi
+T1<t>::operator new(unsigned int)
+#
+--format=gnu
+__dl__t2T11ZcPv
+T1<char>::operator delete(void *)
+#
+--format=gnu
+__dl__t2T11Z1tPv
+T1<t>::operator delete(void *)
+#
+--format=gnu
+__t2T11Zci
+T1<char>::T1(int)
+#
+--format=gnu
+__t2T11Zc
+T1<char>::T1(void)
+#
+--format=gnu
+__t2T11Z1ti
+T1<t>::T1(int)
+#
+--format=gnu
+__t2T11Z1t
+T1<t>::T1(void)
+#
+--format=gnu
+__Q2t4List1Z10VHDLEntity3Pix
+List<VHDLEntity>::Pix::Pix(void)
+#
+--format=gnu
+__Q2t4List1Z10VHDLEntity3PixPQ2t4List1Z10VHDLEntity7element
+List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::element *)
+#
+--format=gnu
+__Q2t4List1Z10VHDLEntity3PixRCQ2t4List1Z10VHDLEntity3Pix
+List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::Pix const &)
+#
+--format=gnu
+__Q2t4List1Z10VHDLEntity7elementRC10VHDLEntityPT0
+List<VHDLEntity>::element::element(VHDLEntity const &, List<VHDLEntity>::element *)
+#
+--format=gnu
+__Q2t4List1Z10VHDLEntity7elementRCQ2t4List1Z10VHDLEntity7element
+List<VHDLEntity>::element::element(List<VHDLEntity>::element const &)
+#
+--format=gnu
+__cl__C11VHDLLibraryGt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
+VHDLLibrary::operator()(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >) const
+#
+--format=gnu
+__cl__Ct4List1Z10VHDLEntityRCQ2t4List1Z10VHDLEntity3Pix
+List<VHDLEntity>::operator()(List<VHDLEntity>::Pix const &) const
+#
+--format=gnu
+__ne__FPvRCQ2t4List1Z10VHDLEntity3Pix
+operator!=(void *, List<VHDLEntity>::Pix const &)
+#
+--format=gnu
+__ne__FPvRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
+operator!=(void *, PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
+#
+--format=gnu
+__t4List1Z10VHDLEntityRCt4List1Z10VHDLEntity
+List<VHDLEntity>::List(List<VHDLEntity> const &)
+#
+--format=gnu
+__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(void)
+#
+--format=gnu
+__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityP14VHDLLibraryRepGQ2t4List1Z10VHDLEntity3Pix
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(VHDLLibraryRep *, List<VHDLEntity>::Pix)
+#
+--format=gnu
+__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
+#
+--format=gnu
+nextE__C11VHDLLibraryRt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
+VHDLLibrary::nextE(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > &) const
+#
+--format=gnu
+next__Ct4List1Z10VHDLEntityRQ2t4List1Z10VHDLEntity3Pix
+List<VHDLEntity>::next(List<VHDLEntity>::Pix &) const
+#
+--format=gnu
+_GLOBAL_\$D\$set
+global destructors keyed to set
+#
+--format=gnu
+_GLOBAL_\$I\$set
+global constructors keyed to set
+#
+--format=gnu
+__as__t5ListS1ZUiRCt5ListS1ZUi
+ListS<unsigned int>::operator=(ListS<unsigned int> const &)
+#
+--format=gnu
+__cl__Ct5ListS1ZUiRCQ2t5ListS1ZUi3Vix
+ListS<unsigned int>::operator()(ListS<unsigned int>::Vix const &) const
+#
+--format=gnu
+__cl__Ct5SetLS1ZUiRCQ2t5SetLS1ZUi3Vix
+SetLS<unsigned int>::operator()(SetLS<unsigned int>::Vix const &) const
+#
+--format=gnu
+__t10ListS_link1ZUiRCUiPT0
+ListS_link<unsigned int>::ListS_link(unsigned int const &, ListS_link<unsigned int> *)
+#
+--format=gnu
+__t10ListS_link1ZUiRCt10ListS_link1ZUi
+ListS_link<unsigned int>::ListS_link(ListS_link<unsigned int> const &)
+#
+--format=gnu
+__t5ListS1ZUiRCt5ListS1ZUi
+ListS<unsigned int>::ListS(ListS<unsigned int> const &)
+#
+--format=gnu
+next__Ct5ListS1ZUiRQ2t5ListS1ZUi3Vix
+ListS<unsigned int>::next(ListS<unsigned int>::Vix &) const
+#
+--format=gnu
+__ne__FPvRCQ2t5SetLS1ZUi3Vix
+operator!=(void *, SetLS<unsigned int>::Vix const &)
+#
+--format=gnu
+__t8ListElem1Z5LabelRt4List1Z5Label
+ListElem<Label>::ListElem(List<Label> &)
+#
+--format=gnu
+__t8BDDHookV1ZPcRCPc
+BDDHookV<char *>::BDDHookV(char *const &)
+#
+--format=gnu
+_vt\$t8BDDHookV1ZPc
+BDDHookV<char *> virtual table
+#
+--format=gnu
+__ne__FPvRCQ211BDDFunction4VixB
+operator!=(void *, BDDFunction::VixB const &)
+#
+--format=gnu
+__eq__FPvRCQ211BDDFunction4VixB
+operator==(void *, BDDFunction::VixB const &)
+#
+--format=gnu
+relativeId__CQ36T_phi210T_preserve8FPC_nextRCQ26T_phi210T_preserveRC10Parameters
+T_phi2::T_preserve::FPC_next::relativeId(T_phi2::T_preserve const &, Parameters const &) const
+#
+--format=lucid
+WS__FR7istream
+WS(istream &)
+#
+--format=lucid
+__aa__3fooFR3foo
+foo::operator&&(foo &)
+#
+--format=lucid
+__aad__3fooFR3foo
+foo::operator&=(foo &)
+#
+--format=lucid
+__ad__3fooFR3foo
+foo::operator&(foo &)
+#
+--format=lucid
+__adv__3fooFR3foo
+foo::operator/=(foo &)
+#
+--format=lucid
+__adv__7complexF7complex
+complex::operator/=(complex)
+#
+--format=lucid
+__aer__3fooFR3foo
+foo::operator^=(foo &)
+#
+--format=lucid
+__als__3fooFR3foo
+foo::operator<<=(foo &)
+#
+--format=lucid
+__amd__3fooFR3foo
+foo::operator%=(foo &)
+#
+--format=lucid
+__ami__3fooFR3foo
+foo::operator-=(foo &)
+#
+--format=lucid
+__amu__3fooFR3foo
+foo::operator*=(foo &)
+#
+--format=lucid
+__amu__7complexF7complex
+complex::operator*=(complex)
+#
+--format=lucid
+__aor__3fooFR3foo
+foo::operator|=(foo &)
+#
+--format=lucid
+__apl__3fooFR3foo
+foo::operator+=(foo &)
+#
+--format=lucid
+__ars__3fooFR3foo
+foo::operator>>=(foo &)
+#
+--format=lucid
+__as__18istream_withassignFP9streambuf
+istream_withassign::operator=(streambuf *)
+#
+--format=lucid
+__as__18istream_withassignFR7istream
+istream_withassign::operator=(istream &)
+#
+--format=lucid
+__as__3fooFR3foo
+foo::operator=(foo &)
+#
+--format=lucid
+__as__3iosFR3ios
+ios::operator=(ios &)
+#
+--format=lucid
+__cl__3fooFR3foo
+foo::operator()(foo &)
+#
+--format=lucid
+__cm__3fooFR3foo
+foo::operator, (foo &)
+#
+--format=lucid
+__co__3fooFv
+foo::operator~(void)
+#
+--format=lucid
+__ct__10istrstreamFPc
+istrstream::istrstream(char *)
+#
+--format=lucid
+__ct__10istrstreamFPci
+istrstream::istrstream(char *, int)
+#
+--format=lucid
+__ct__10ostrstreamFPciT2
+ostrstream::ostrstream(char *, int, int)
+#
+--format=lucid
+__ct__10ostrstreamFv
+ostrstream::ostrstream(void)
+#
+--format=lucid
+__ct__10smanip_intFPFR3iosi_R3iosi
+smanip_int::smanip_int(ios &(*)(ios &, int), int)
+#
+--format=lucid
+__ct__11fstreambaseFi
+fstreambase::fstreambase(int)
+#
+--format=lucid
+__ct__11fstreambaseFiPcT1
+fstreambase::fstreambase(int, char *, int)
+#
+--format=lucid
+__ct__11fstreambaseFv
+fstreambase::fstreambase(void)
+#
+--format=lucid
+__ct__11smanip_longFPFR3iosl_R3iosl
+smanip_long::smanip_long(ios &(*)(ios &, long), long)
+#
+--format=lucid
+__ct__11stdiostreamFP4FILE
+stdiostream::stdiostream(FILE *)
+#
+--format=lucid
+__ct__12strstreambufFPFl_PvPFPv_v
+strstreambuf::strstreambuf(void *(*)(long), void (*)(void *))
+#
+--format=lucid
+__ct__12strstreambufFPUciT1
+strstreambuf::strstreambuf(unsigned char *, int, unsigned char *)
+#
+--format=lucid
+__ct__12strstreambufFPciT1
+strstreambuf::strstreambuf(char *, int, char *)
+#
+--format=lucid
+__ct__12strstreambufFi
+strstreambuf::strstreambuf(int)
+#
+--format=lucid
+__ct__12strstreambufFv
+strstreambuf::strstreambuf(void)
+#
+--format=lucid
+__ct__13strstreambaseFPciT1
+strstreambase::strstreambase(char *, int, char *)
+#
+--format=lucid
+__ct__3fooFR3foo
+foo::foo(foo &)
+#
+--format=lucid
+__ct__3fooFi
+foo::foo(int)
+#
+--format=lucid
+__ct__3fooFiN31
+foo::foo(int, int, int, int)
+#
+--format=lucid
+__ct__3fooFiR3fooT1T2T1T2
+foo::foo(int, foo &, int, foo &, int, foo &)
+#
+--format=lucid
+__ct__3iosFP9streambuf
+ios::ios(streambuf *)
+#
+--format=lucid
+__ct__7filebufFiPcT1
+filebuf::filebuf(int, char *, int)
+#
+--format=lucid
+__ct__7fstreamFiPcT1
+fstream::fstream(int, char *, int)
+#
+--format=lucid
+__ct__7istreamFP9streambuf
+istream::istream(streambuf *)
+#
+--format=lucid
+__ct__7istreamFP9streambufiP7ostream
+istream::istream(streambuf *, int, ostream *)
+#
+--format=lucid
+__ct__7istreamFiPcT1
+istream::istream(int, char *, int)
+#
+--format=lucid
+__ct__7istreamFiT1P7ostream
+istream::istream(int, int, ostream *)
+#
+--format=lucid
+__ct__7ostreamFP9streambuf
+ostream::ostream(streambuf *)
+#
+--format=lucid
+__ct__7ostreamFiPc
+ostream::ostream(int, char *)
+#
+--format=lucid
+__ct__8ifstreamFiPcT1
+ifstream::ifstream(int, char *, int)
+#
+--format=lucid
+__ct__Q23foo3barFv
+foo::bar::bar(void)
+#
+--format=lucid
+__ct__Q33foo3bar4bellFv
+foo::bar::bell::bell(void)
+#
+--format=lucid
+__dl__3fooSFPv
+foo::operator delete(void *) static
+#
+--format=lucid
+__dl__FPv
+operator delete(void *)
+#
+--format=lucid
+__dt__10istrstreamFv
+istrstream::~istrstream(void)
+#
+--format=lucid
+__dt__Q23foo3barFv
+foo::bar::~bar(void)
+#
+--format=lucid
+__dt__Q33foo3bar4bellFv
+foo::bar::bell::~bell(void)
+#
+--format=lucid
+__dv__3fooFR3foo
+foo::operator/(foo &)
+#
+--format=lucid
+__dv__F7complexT1
+operator/(complex, complex)
+#
+--format=lucid
+__eq__3fooFR3foo
+foo::operator==(foo &)
+#
+--format=lucid
+__er__3fooFR3foo
+foo::operator^(foo &)
+#
+--format=lucid
+__ge__3fooFR3foo
+foo::operator>=(foo &)
+#
+--format=lucid
+__gt__3fooFR3foo
+foo::operator>(foo &)
+#
+--format=lucid
+__le__3fooFR3foo
+foo::operator<=(foo &)
+#
+--format=lucid
+__ls__3fooFR3foo
+foo::operator<<(foo &)
+#
+--format=lucid
+__ls__7ostreamFP9streambuf
+ostream::operator<<(streambuf *)
+#
+--format=lucid
+__ls__7ostreamFPFR3ios_R3ios
+ostream::operator<<(ios &(*)(ios &))
+#
+--format=lucid
+__ls__7ostreamFPv
+ostream::operator<<(void *)
+#
+--format=lucid
+__ls__7ostreamFUi
+ostream::operator<<(unsigned int)
+#
+--format=lucid
+__ls__7ostreamFUl
+ostream::operator<<(unsigned long)
+#
+--format=lucid
+__ls__7ostreamFd
+ostream::operator<<(double)
+#
+--format=lucid
+__ls__7ostreamFf
+ostream::operator<<(float)
+#
+--format=lucid
+__ls__7ostreamFi
+ostream::operator<<(int)
+#
+--format=lucid
+__ls__7ostreamFl
+ostream::operator<<(long)
+#
+--format=lucid
+__ls__FR7ostream7complex
+operator<<(ostream &, complex)
+#
+--format=lucid
+__lt__3fooFR3foo
+foo::operator<(foo &)
+#
+--format=lucid
+__md__3fooFR3foo
+foo::operator%(foo &)
+#
+--format=lucid
+__mi__3fooFR3foo
+foo::operator-(foo &)
+#
+--format=lucid
+__ml__3fooFR3foo
+foo::operator*(foo &)
+#
+--format=lucid
+__ml__F7complexT1
+operator*(complex, complex)
+#
+--format=lucid
+__mm__3fooFi
+foo::operator--(int)
+#
+--format=lucid
+__ne__3fooFR3foo
+foo::operator!=(foo &)
+#
+--format=lucid
+__nt__3fooFv
+foo::operator!(void)
+#
+--format=lucid
+__nw__3fooSFi
+foo::operator new(int) static
+#
+--format=lucid
+__nw__FUi
+operator new(unsigned int)
+#
+--format=lucid
+__nw__FUiPv
+operator new(unsigned int, void *)
+#
+--format=lucid
+__oo__3fooFR3foo
+foo::operator||(foo &)
+#
+--format=lucid
+__opPc__3fooFv
+foo::operator char *(void)
+#
+--format=lucid
+__opi__3fooFv
+foo::operator int(void)
+#
+--format=lucid
+__or__3fooFR3foo
+foo::operator|(foo &)
+#
+--format=lucid
+__pl__3fooFR3foo
+foo::operator+(foo &)
+#
+--format=lucid
+__pp__3fooFi
+foo::operator++(int)
+#
+--format=lucid
+__pt__3fooFv
+foo::operator->(void)
+#
+--format=lucid
+__rm__3fooFR3foo
+foo::operator->*(foo &)
+#
+--format=lucid
+__rs__3fooFR3foo
+foo::operator>>(foo &)
+#
+--format=lucid
+__rs__7istreamFP9streambuf
+istream::operator>>(streambuf *)
+#
+--format=lucid
+__rs__7istreamFPFR3ios_R3ios
+istream::operator>>(ios &(*)(ios &))
+#
+--format=lucid
+__rs__7istreamFPFR7istream_R7istream
+istream::operator>>(istream &(*)(istream &))
+#
+--format=lucid
+__rs__7istreamFPUc
+istream::operator>>(unsigned char *)
+#
+--format=lucid
+__rs__7istreamFPc
+istream::operator>>(char *)
+#
+--format=lucid
+__rs__7istreamFRUi
+istream::operator>>(unsigned int &)
+#
+--format=lucid
+__rs__7istreamFRUl
+istream::operator>>(unsigned long &)
+#
+--format=lucid
+__rs__7istreamFRUs
+istream::operator>>(unsigned short &)
+#
+--format=lucid
+__rs__7istreamFRd
+istream::operator>>(double &)
+#
+--format=lucid
+__rs__7istreamFRf
+istream::operator>>(float &)
+#
+--format=lucid
+__rs__7istreamFRi
+istream::operator>>(int &)
+#
+--format=lucid
+__rs__7istreamFRl
+istream::operator>>(long &)
+#
+--format=lucid
+__rs__7istreamFRs
+istream::operator>>(short &)
+#
+--format=lucid
+__rs__FR7istreamR7complex
+operator>>(istream &, complex &)
+#
+--format=lucid
+__vtbl__10istrstream
+istrstream virtual table
+#
+--format=lucid
+__vtbl__17ostream__iostream__19iostream_withassign
+iostream_withassign::ostream__iostream virtual table
+#
+--format=lucid
+__vtbl__3ios
+ios virtual table
+#
+--format=lucid
+__vtbl__3ios__13strstreambase
+strstreambase::ios virtual table
+#
+--format=lucid
+abs__F7complex
+abs(complex)
+#
+--format=lucid
+allocate__9streambufFv
+streambuf::allocate(void)
+#
+--format=lucid
+attach__11fstreambaseFi
+fstreambase::attach(int)
+#
+--format=lucid
+bitalloc__3iosSFv
+ios::bitalloc(void) static
+#
+--format=lucid
+chr__FiT1
+chr(int, int)
+#
+--format=lucid
+complex_error__FR11c_exception
+complex_error(c_exception &)
+#
+--format=lucid
+complexfunc2__FPFPc_i
+complexfunc2(int (*)(char *))
+#
+--format=lucid
+complexfunc3__FPFPFPl_s_i
+complexfunc3(int (*)(short (*)(long *)))
+#
+--format=lucid
+complexfunc4__FPFPFPc_s_i
+complexfunc4(int (*)(short (*)(char *)))
+#
+--format=lucid
+complexfunc5__FPFPc_PFl_i
+complexfunc5(int (*(*)(char *))(long))
+#
+--format=lucid
+complexfunc6__FPFPi_PFl_i
+complexfunc6(int (*(*)(int *))(long))
+#
+--format=lucid
+complexfunc7__FPFPFPc_i_PFl_i
+complexfunc7(int (*(*)(int (*)(char *)))(long))
+#
+--format=lucid
+complicated_put__7ostreamFc
+ostream::complicated_put(char)
+#
+--format=lucid
+conv10__FlPc
+conv10(long, char *)
+#
+--format=lucid
+conv16__FUlPc
+conv16(unsigned long, char *)
+#
+--format=lucid
+dec__FR3ios
+dec(ios &)
+#
+--format=lucid
+dec__Fli
+dec(long, int)
+#
+--format=lucid
+dofield__FP7ostreamPciT2T3
+dofield(ostream *, char *, int, char *, int)
+#
+--format=lucid
+flags__3iosFl
+ios::flags(long)
+#
+--format=lucid
+flags__3iosFv
+ios::flags(void)
+#
+--format=lucid
+foo__FiN31
+foo(int, int, int, int)
+#
+--format=lucid
+foo__FiR3fooT1T2T1T2
+foo(int, foo &, int, foo &, int, foo &)
+#
+--format=lucid
+foo___3barFl
+bar::foo_(long)
+#
+--format=lucid
+get__7istreamFPcic
+istream::get(char *, int, char)
+#
+--format=lucid
+get__7istreamFR9streambufc
+istream::get(streambuf &, char)
+#
+--format=lucid
+get_complicated__7istreamFRUc
+istream::get_complicated(unsigned char &)
+#
+--format=lucid
+get_complicated__7istreamFRc
+istream::get_complicated(char &)
+#
+--format=lucid
+getline__7istreamFPUcic
+istream::getline(unsigned char *, int, char)
+#
+--format=lucid
+getline__7istreamFPcic
+istream::getline(char *, int, char)
+#
+--format=lucid
+ignore__7istreamFiT1
+istream::ignore(int, int)
+#
+--format=lucid
+init__12strstreambufFPciT1
+strstreambuf::init(char *, int, char *)
+#
+--format=lucid
+init__3iosFP9streambuf
+ios::init(streambuf *)
+#
+--format=lucid
+initcount__13Iostream_init
+Iostream_init::initcount
+#
+--format=lucid
+ipfx__7istreamFi
+istream::ipfx(int)
+#
+--format=lucid
+ls_complicated__7ostreamFUc
+ostream::ls_complicated(unsigned char)
+#
+--format=lucid
+ls_complicated__7ostreamFc
+ostream::ls_complicated(char)
+#
+--format=lucid
+overload1arg__FSc
+overload1arg(signed char)
+#
+--format=lucid
+overload1arg__FUc
+overload1arg(unsigned char)
+#
+--format=lucid
+overload1arg__FUi
+overload1arg(unsigned int)
+#
+--format=lucid
+overload1arg__FUl
+overload1arg(unsigned long)
+#
+--format=lucid
+overload1arg__FUs
+overload1arg(unsigned short)
+#
+--format=lucid
+overload1arg__Fc
+overload1arg(char)
+#
+--format=lucid
+overload1arg__Fd
+overload1arg(double)
+#
+--format=lucid
+overload1arg__Ff
+overload1arg(float)
+#
+--format=lucid
+overload1arg__Fi
+overload1arg(int)
+#
+--format=lucid
+overload1arg__Fl
+overload1arg(long)
+#
+--format=lucid
+overload1arg__Fs
+overload1arg(short)
+#
+--format=lucid
+overload1arg__Fv
+overload1arg(void)
+#
+--format=lucid
+overloadargs__FiN21
+overloadargs(int, int, int)
+#
+--format=lucid
+overloadargs__FiN31
+overloadargs(int, int, int, int)
+#
+--format=lucid
+overloadargs__FiN41
+overloadargs(int, int, int, int, int)
+#
+--format=lucid
+overloadargs__FiN51
+overloadargs(int, int, int, int, int, int)
+#
+--format=lucid
+overloadargs__FiN61
+overloadargs(int, int, int, int, int, int, int)
+#
+--format=lucid
+overloadargs__FiN71
+overloadargs(int, int, int, int, int, int, int, int)
+#
+--format=lucid
+overloadargs__FiN81
+overloadargs(int, int, int, int, int, int, int, int, int)
+#
+--format=lucid
+overloadargs__FiN91
+overloadargs(int, int, int, int, int, int, int, int, int, int)
+#
+--format=lucid
+overloadargs__FiN91N11
+overloadargs(int, int, int, int, int, int, int, int, int, int, int)
+#
+--format=lucid
+overloadargs__FiT1
+overloadargs(int, int)
+#
+--format=lucid
+polar__FdT1
+polar(double, double)
+#
+--format=lucid
+pow__F7complexT1
+pow(complex, complex)
+#
+--format=lucid
+pow__F7complexd
+pow(complex, double)
+#
+--format=lucid
+pow__F7complexi
+pow(complex, int)
+#
+--format=lucid
+pow__Fd7complex
+pow(double, complex)
+#
+--format=lucid
+pstart__FPciT2
+pstart(char *, int, int)
+#
+--format=lucid
+put__7ostreamFc
+ostream::put(char)
+#
+--format=lucid
+read__7istreamFPci
+istream::read(char *, int)
+#
+--format=lucid
+resetiosflags__FR3iosl
+resetiosflags(ios &, long)
+#
+--format=lucid
+restore_errno__FRi
+restore_errno(int &)
+#
+--format=lucid
+rs_complicated__7istreamFRUc
+istream::rs_complicated(unsigned char &)
+#
+--format=lucid
+rs_complicated__7istreamFRc
+istream::rs_complicated(char &)
+#
+--format=lucid
+seekg__7istreamFl8seek_dir
+istream::seekg(long, seek_dir)
+#
+--format=lucid
+seekoff__12strstreambufFl8seek_diri
+strstreambuf::seekoff(long, seek_dir, int)
+#
+--format=lucid
+seekoff__9streambufFlQ2_3ios12ios_seek_diri
+streambuf::seekoff(long, ios::ios_seek_dir, int)
+#
+--format=lucid
+seekpos__9streambufFli
+streambuf::seekpos(long, int)
+#
+--format=lucid
+set_new_handler__FPFv_v
+set_new_handler(void (*)(void))
+#
+--format=lucid
+setb__9streambufFPcT1i
+streambuf::setb(char *, char *, int)
+#
+--format=lucid
+setb__FR3iosi
+setb(ios &, int)
+#
+--format=lucid
+setbuf__11fstreambaseFPci
+fstreambase::setbuf(char *, int)
+#
+--format=lucid
+setbuf__9streambufFPUci
+streambuf::setbuf(unsigned char *, int)
+#
+--format=lucid
+setbuf__9streambufFPciT2
+streambuf::setbuf(char *, int, int)
+#
+--format=lucid
+setf__3iosFlT1
+ios::setf(long, long)
+#
+--format=lucid
+setfill__FR3iosi
+setfill(ios &, int)
+#
+--format=lucid
+setg__9streambufFPcN21
+streambuf::setg(char *, char *, char *)
+#
+--format=lucid
+setp__9streambufFPcT1
+streambuf::setp(char *, char *)
+#
+--format=lucid
+tie__3iosFP7ostream
+ios::tie(ostream *)
+#
+--format=lucid
+uconv10__FUlPc
+uconv10(unsigned long, char *)
+#
+--format=lucid
+xget__7istreamFPc
+istream::xget(char *)
+#
+--format=lucid
+xsgetn__9streambufFPci
+streambuf::xsgetn(char *, int)
+#
+--format=arm
+__dt__21T5__pt__11_PFiPPdPv_iFv
+T5<int (*)(int, double **, void *)>::~T5(void)
+#
+--format=arm
+__ct__1cFi
+c::c(int)
+#
+--format=arm
+__dt__11T5__pt__2_iFv
+T5<int>::~T5(void)
+#
+--format=arm
+__dt__11T5__pt__2_cFv
+T5<char>::~T5(void)
+#
+--format=arm
+__ct__2T2Fi
+T2::T2(int)
+#
+--format=arm
+__dt__2T1Fv
+T1::~T1(void)
+#
+--format=arm
+__dt__12T5__pt__3_1xFv
+T5<x>::~T5(void)
+#
+--format=arm
+__dt__17T5__pt__8_PFcPv_iFv
+T5<int (*)(char, void *)>::~T5(void)
+#
+--format=arm
+__ct__21T5__pt__11_PFiPPdPv_iFi
+T5<int (*)(int, double **, void *)>::T5(int)
+#
+--format=arm
+__amd__FR2T2i
+operator%=(T2 &, int)
+#
+--format=arm
+__adv__FR2T2i
+operator/=(T2 &, int)
+#
+--format=arm
+__amu__FR2T2i
+operator*=(T2 &, int)
+#
+--format=arm
+__ami__FR2T2i
+operator-=(T2 &, int)
+#
+--format=arm
+__apl__FR2T2i
+operator+=(T2 &, int)
+#
+--format=arm
+__nw__2T1SFUi
+T1::operator new(unsigned int) static
+#
+--format=arm
+__dl__2T1SFPv
+T1::operator delete(void *) static
+#
+--format=arm
+put__2T7SFi
+T7::put(int) static
+#
+--format=arm
+__dl__12T5__pt__3_1xSFPv
+T5<x>::operator delete(void *) static
+#
+--format=arm
+h__FUc
+h(unsigned char)
+#
+--format=arm
+f__Fic
+f(int, char)
+#
+--format=arm
+h__FUi
+h(unsigned int)
+#
+--format=arm
+h__Fci
+h(char, int)
+#
+--format=arm
+h__FUl
+h(unsigned long)
+#
+--format=arm
+h__Fcl
+h(char, long)
+#
+--format=arm
+h__FUs
+h(unsigned short)
+#
+--format=arm
+h__Fcs
+h(char, short)
+#
+--format=arm
+X__12T5__pt__3_1x
+T5<x>::X
+#
+--format=arm
+__ct__11T5__pt__2_iFi
+T5<int>::T5(int)
+#
+--format=arm
+__ct__11T5__pt__2_cFi
+T5<char>::T5(int)
+#
+--format=arm
+h__FcT1
+h(char, char)
+#
+--format=arm
+f__Ficd
+f(int, char, double)
+#
+--format=arm
+__dl__17T5__pt__8_PFcPv_iSFPv
+T5<int (*)(char, void *)>::operator delete(void *) static
+#
+--format=arm
+X__17T5__pt__8_PFcPv_i
+T5<int (*)(char, void *)>::X
+#
+--format=arm
+__ct__12T5__pt__3_1xFi
+T5<x>::T5(int)
+#
+--format=arm
+__dl__21T5__pt__11_PFiPPdPv_iSFPv
+T5<int (*)(int, double **, void *)>::operator delete(void *) static
+#
+--format=arm
+__std__foo
+global destructors keyed to foo
+#
+--format=arm
+__sti__bar
+global constructors keyed to bar
+#
+--format=arm
+f__FicdPcPFci_v
+f(int, char, double, char *, void (*)(char, int))
+#
+--format=arm
+f__FicdPcPFic_v
+f(int, char, double, char *, void (*)(int, char))
+#
+--format=arm
+get__2T7SFv
+T7::get(void) static
+#
+--format=arm
+X__21T5__pt__11_PFiPPdPv_i
+T5<int (*)(int, double **, void *)>::X
+#
+--format=arm
+__dl__11T5__pt__2_iSFPv
+T5<int>::operator delete(void *) static
+#
+--format=arm
+__dl__11T5__pt__2_cSFPv
+T5<char>::operator delete(void *) static
+#
+--format=arm
+h__Fc
+h(char)
+#
+--format=arm
+h__Fd
+h(double)
+#
+--format=arm
+h__Ff
+h(float)
+#
+--format=arm
+h__Fi
+h(int)
+#
+--format=arm
+f__Fi
+f(int)
+#
+--format=arm
+h__Fl
+h(long)
+#
+--format=arm
+h__Fs
+h(short)
+#
+--format=arm
+X__11T5__pt__2_c
+T5<char>::X
+#
+--format=arm
+X__11T5__pt__2_i
+T5<int>::X
+#
+--format=arm
+__ct__17T5__pt__8_PFcPv_iFi
+T5<int (*)(char, void *)>::T5(int)
+#
+--format=arm
+f__FicdPc
+f(int, char, double, char *)
+#
+--format=arm
+__nw__FUi
+operator new(unsigned int)
+#
+--format=arm
+__ct__Q3_2T11a1bSFi
+T1::a::b::b(int) static
+#
+--format=arm
+__dt__Q3_2T11a1bSFi
+T1::a::b::~b(int) static
+#
+--format=arm
+put__Q3_2T11a1bSFi
+T1::a::b::put(int) static
+#
+--format=arm
+get__Q2_2T11aSFv
+T1::a::get(void) static
+#
+--format=arm
+put__2T1SFi
+T1::put(int) static
+#
+--format=arm
+put__Q5_2T11a1b1c1dSFi
+T1::a::b::c::d::put(int) static
+#
+--format=arm
+get__Q4_2T11a1b1cSFv
+T1::a::b::c::get(void) static
+#
+--format=arm
+put__Q2_2T11aSFi
+T1::a::put(int) static
+#
+--format=arm
+put__Q4_2T11a1b1cSFi
+T1::a::b::c::put(int) static
+#
+--format=arm
+get__Q3_2T11a1bSFv
+T1::a::b::get(void) static
+#
+--format=arm
+get__2T1SFv
+T1::get(void) static
+#
+--format=arm
+get__Q5_2T11a1b1c1dSFv
+T1::a::b::c::d::get(void) static
+#
+--format=arm
+__dt__11T1__pt__2_cFv
+T1<char>::~T1(void)
+#
+--format=arm
+__dt__12T1__pt__3_1tFv
+T1<t>::~T1(void)
+#
+--format=arm
+__dl__12T1__pt__3_1tSFPv
+T1<t>::operator delete(void *) static
+#
+--format=arm
+__ct__11T1__pt__2_cFi
+T1<char>::T1(int)
+#
+--format=arm
+__ct__11T1__pt__2_cFv
+T1<char>::T1(void)
+#
+--format=arm
+__ct__12T1__pt__3_1tFi
+T1<t>::T1(int)
+#
+--format=arm
+__ct__12T1__pt__3_1tFv
+T1<t>::T1(void)
+#
+--format=arm
+__dl__11T1__pt__2_cSFPv
+T1<char>::operator delete(void *) static
+#
+--format=arm
+bar__3fooFPv
+foo::bar(void *)
+#
+--format=arm
+bar__3fooCFPv
+foo::bar(void *) const
+#
+--format=arm
+__eq__3fooFR3foo
+foo::operator==(foo &)
+#
+--format=arm
+__eq__3fooCFR3foo
+foo::operator==(foo &) const
+#
+--format=arm
+elem__15vector__pt__2_dFi
+vector<double>::elem(int)
+#
+--format=arm
+elem__15vector__pt__2_iFi
+vector<int>::elem(int)
+#
+--format=arm
+__ct__15vector__pt__2_dFi
+vector<double>::vector(int)
+#
+--format=arm
+__ct__15vector__pt__2_iFi
+vector<int>::vector(int)
+#
+--format=arm
+__ct__25DListNode__pt__9_R6RLabelFR6RLabelP25DListNode__pt__9_R6RLabelT2
+DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
+#
+--format=arm
+bar__3fooFiT16FooBar
+foo::bar(int, int, FooBar)
+#
+--format=arm
+bar__3fooFPiN51PdN37PcN211T1iN215
+foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
+#
+--format=hp
+__amd__FR2T2i
+operator%=(T2 &, int)
+#
+--format=hp
+__adv__FR2T2i
+operator/=(T2 &, int)
+#
+--format=hp
+__amu__FR2T2i
+operator*=(T2 &, int)
+#
+--format=hp
+__ami__FR2T2i
+operator-=(T2 &, int)
+#
+--format=hp
+__apl__FR2T2i
+operator+=(T2 &, int)
+#
+--format=hp
+__nw__2T1SFUi
+T1::operator new(unsigned int) static
+#
+--format=hp
+__dl__2T1SFPv
+T1::operator delete(void *) static
+#
+--format=hp
+put__2T7SFi
+T7::put(int) static
+#
+--format=hp
+h__FUc
+h(unsigned char)
+#
+--format=hp
+f__Fic
+f(int, char)
+#
+--format=hp
+h__FUi
+h(unsigned int)
+#
+--format=hp
+h__Fci
+h(char, int)
+#
+--format=hp
+h__FUl
+h(unsigned long)
+#
+--format=hp
+h__Fcl
+h(char, long)
+#
+--format=hp
+h__FUs
+h(unsigned short)
+#
+--format=hp
+h__Fcs
+h(char, short)
+#
+--format=hp
+h__FcT1
+h(char, char)
+#
+--format=hp
+f__Ficd
+f(int, char, double)
+#
+--format=hp
+f__FicdPcPFci_v
+f(int, char, double, char *, void (*)(char, int))
+#
+--format=hp
+f__FicdPcPFic_v
+f(int, char, double, char *, void (*)(int, char))
+#
+--format=hp
+get__2T7SFv
+T7::get(void) static
+#
+--format=hp
+h__Fc
+h(char)
+#
+--format=hp
+h__Fd
+h(double)
+#
+--format=hp
+h__Ff
+h(float)
+#
+--format=hp
+h__Fi
+h(int)
+#
+--format=hp
+f__Fi
+f(int)
+#
+--format=hp
+h__Fl
+h(long)
+#
+--format=hp
+h__Fs
+h(short)
+#
+--format=hp
+f__FicdPc
+f(int, char, double, char *)
+#
+--format=hp
+__nw__FUi
+operator new(unsigned int)
+#
+--format=hp
+__ct__Q3_2T11a1bSFi
+T1::a::b::b(int) static
+#
+--format=hp
+__dt__Q3_2T11a1bSFi
+T1::a::b::~b(int) static
+#
+--format=hp
+put__Q3_2T11a1bSFi
+T1::a::b::put(int) static
+#
+--format=hp
+get__Q2_2T11aSFv
+T1::a::get(void) static
+#
+--format=hp
+put__2T1SFi
+T1::put(int) static
+#
+--format=hp
+put__Q5_2T11a1b1c1dSFi
+T1::a::b::c::d::put(int) static
+#
+--format=hp
+get__Q4_2T11a1b1cSFv
+T1::a::b::c::get(void) static
+#
+--format=hp
+put__Q2_2T11aSFi
+T1::a::put(int) static
+#
+--format=hp
+put__Q4_2T11a1b1cSFi
+T1::a::b::c::put(int) static
+#
+--format=hp
+get__Q3_2T11a1bSFv
+T1::a::b::get(void) static
+#
+--format=hp
+get__2T1SFv
+T1::get(void) static
+#
+--format=hp
+get__Q5_2T11a1b1c1dSFv
+T1::a::b::c::d::get(void) static
+#
+--format=hp
+bar__3fooFPv
+foo::bar(void *)
+#
+--format=hp
+bar__3fooCFPv
+foo::bar(void *) const
+#
+--format=hp
+__eq__3fooFR3foo
+foo::operator==(foo &)
+#
+--format=hp
+__eq__3fooCFR3foo
+foo::operator==(foo &) const
+#
+--format=hp
+bar__3fooFiT16FooBar
+foo::bar(int, int, FooBar)
+#
+--format=hp
+bar__3fooFPiN51PdN37PcN211T1iN215
+foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
+#
+--format=hp
+__dt__2T5XTPFiPPdPv_i__Fv
+T5<int (*)(int, double **, void *)>::~T5(void)
+#
+--format=hp
+__ct__1cFi
+c::c(int)
+#
+--format=hp
+__dt__2T5XTi__Fv
+T5<int>::~T5(void)
+#
+--format=hp
+__dt__2T5XTc__Fv
+T5<char>::~T5(void)
+#
+--format=hp
+__ct__2T2Fi
+T2::T2(int)
+#
+--format=hp
+__dt__2T1Fv
+T1::~T1(void)
+#
+--format=hp
+__dt__2T5XT1x__Fv
+T5<x>::~T5(void)
+#
+--format=hp
+__dt__2T5XTPFcPv_i__Fv
+T5<int (*)(char, void *)>::~T5(void)
+#
+--format=hp
+__ct__2T5XTPFiPPdPv_i__Fi
+T5<int (*)(int, double **, void *)>::T5(int)
+#
+--format=hp
+__dl__2T5XT1x__SFPv
+T5<x>::operator delete(void *) static
+#
+--format=hp
+X__2T5XT1x
+T5<x>::X
+#
+--format=hp
+__ct__2T5XTi__Fi
+T5<int>::T5(int)
+#
+--format=hp
+__ct__2T5XTc__Fi
+T5<char>::T5(int)
+#
+--format=hp
+__dl__2T5XTPFcPv_i__SFPv
+T5<int (*)(char, void *)>::operator delete(void *) static
+#
+--format=hp
+X__2T5XTPFcPv_i
+T5<int (*)(char, void *)>::X
+#
+--format=hp
+__ct__2T5XT1x__Fi
+T5<x>::T5(int)
+#
+--format=hp
+__dl__2T5XTPFiPPdPv_i__SFPv
+T5<int (*)(int, double **, void *)>::operator delete(void *) static
+#
+--format=hp
+X__2T5XTPFiPPdPv_i
+T5<int (*)(int, double **, void *)>::X
+#
+--format=hp
+__dl__2T5XTi__SFPv
+T5<int>::operator delete(void *) static
+#
+--format=hp
+__dl__2T5XTc__SFPv
+T5<char>::operator delete(void *) static
+#
+--format=hp
+X__2T5XTc
+T5<char>::X
+#
+--format=hp
+X__2T5XTi
+T5<int>::X
+#
+--format=hp
+__ct__2T5XTPFcPv_i__Fi
+T5<int (*)(char, void *)>::T5(int)
+#
+--format=hp
+__dt__2T1XTc__Fv
+T1<char>::~T1(void)
+#
+--format=hp
+__dt__2T1XT1t__Fv
+T1<t>::~T1(void)
+#
+--format=hp
+__dl__2T1XT1t__SFPv
+T1<t>::operator delete(void *) static
+#
+--format=hp
+__ct__2T1XTc__Fi
+T1<char>::T1(int)
+#
+--format=hp
+__ct__2T1XTc__Fv
+T1<char>::T1(void)
+#
+--format=hp
+__ct__2T1XT1t__Fi
+T1<t>::T1(int)
+#
+--format=hp
+__ct__2T1XT1t__Fv
+T1<t>::T1(void)
+#
+--format=hp
+__dl__2T1XTc__SFPv
+T1<char>::operator delete(void *) static
+#
+--format=hp
+elem__6vectorXTd__Fi
+vector<double>::elem(int)
+#
+--format=hp
+elem__6vectorXTi__Fi
+vector<int>::elem(int)
+#
+--format=hp
+__ct__6vectorXTd__Fi
+vector<double>::vector(int)
+#
+--format=hp
+__ct__6vectorXTi__Fi
+vector<int>::vector(int)
+#
+--format=hp
+__ct__9DListNodeXTR6RLabel__FR6RLabelP9DListNodeXTR6RLabel_T2
+DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
+#
+--format=hp
+elem__6vectorXTiUP34__Fi
+vector<int,34U>::elem(int)
+#
+--format=hp
+elem__6vectorXUP2701Td__Fi
+vector<2701U,double>::elem(int)
+#
+--format=hp
+elem__6vectorXTiSP334__Fi
+vector<int,334>::elem(int)
+#
+--format=hp
+elem__6vectorXTiSN67__Fi
+vector<int,-67>::elem(int)
+#
+--format=hp
+elem__6vectorXTiSM__SCFPPd
+vector<int,-2147483648>::elem(double **) static const
+#
+--format=hp
+elem__6vectorXTiSN67UP4000TRs__Fi
+vector<int,-67,4000U,short &>::elem(int)
+#
+--format=hp
+elem__6vectorXTiSN67TRdTFPv_i__Fi
+vector<int,-67,double &,int (void *)>::elem(int)
+#
+--format=hp
+X__6vectorXTiSN67TdTPvUP5TRs
+vector<int,-67,double,void *,5U,short &>::X
+#
+--format=hp
+elem__6vectorXTiA3foo__Fi
+vector<int,&foo>::elem(int)
+#
+--format=hp
+elem__6vectorXTiA3fooTPvA5Label__FiPPvT2
+vector<int,&foo,void *,&Label>::elem(int, void **, void **)
+#
+--format=hp
+elem__6vectorXTiSN42A3foo__Fi
+vector<int,-42,&foo>::elem(int)
+#
+--format=hp
+__ct__2T5XTPFcPv_i__Fi_2
+T5<int (*)(char, void *)>::T5(int)
+#
+--format=hp
+__ct__2T5XTPFcPv_i__Fi_19
+T5<int (*)(char, void *)>::T5(int)
+#
+--format=hp
+f__FicdPcPFci_v_34
+f(int, char, double, char *, void (*)(char, int))
+#
+--format=hp
+spec__13Spec<#1,#1.*>XTiTPi_FPi
+Spec<int,int *>::spec(int *)
+#
+--format=hp
+spec__16Spec<#1,#1.&,#1>XTiTRiTi_FPi
+Spec<int,int &,int>::spec(int *)
+#
+--format=hp
+add__XTc_FcT1
+add<char>(char, char)
+#
+--format=hp
+add__XTcSP9A5label_FcPPlT1
+add<char,9,&label>(char, long **, char)
+#
+--format=hp
+add__XTPfTFPd_f_FcT1
+add<float *,float (double *)>(char, char)
+#
+--format=hp
+unLink__12basic_stringXTcT18string_char_traitsXTc_T9allocator_Fv
+basic_string<char,string_char_traits<char>,allocator>::unLink(void)
+#
+# A regression test with no args. This used to cause a segv.
+
+_Utf390_1__1_9223372036854775807__9223372036854775
+_Utf390_1__1_9223372036854775807__9223372036854775
diff --git a/libiberty/testsuite/regress-demangle b/libiberty/testsuite/regress-demangle
new file mode 100755
index 00000000000..bd48ce9013e
--- /dev/null
+++ b/libiberty/testsuite/regress-demangle
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+# Run a regression test for the demangler.
+# Usage: regress-demangle TEST-FILE
+
+failures=0
+count=0
+sed -e '/^#/ d' "$1" | (
+ while read type; do
+ read mangled
+ read demangled
+
+ x="`echo $mangled | ./test-filter $type`"
+ count=`expr $count + 1`
+ if test "x$x" != "x$demangled"; then
+ failures=`expr $failures + 1`
+ echo "FAIL: $type $mangled"
+ fi
+ done
+
+ if test $failures -eq 0; then
+ echo "All $count tests passed"
+ else
+ echo "$failures of $count tests failed"
+ fi
+
+ test $failures -eq 0
+)