diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /libiberty/testsuite | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'libiberty/testsuite')
-rw-r--r-- | libiberty/testsuite/Makefile.in | 92 | ||||
-rw-r--r-- | libiberty/testsuite/demangle-expected | 4141 | ||||
-rw-r--r-- | libiberty/testsuite/test-demangle.c | 345 | ||||
-rw-r--r-- | libiberty/testsuite/test-expandargv.c | 331 | ||||
-rw-r--r-- | libiberty/testsuite/test-pexecute.c | 522 |
5 files changed, 5431 insertions, 0 deletions
diff --git a/libiberty/testsuite/Makefile.in b/libiberty/testsuite/Makefile.in new file mode 100644 index 000000000..69ac1f510 --- /dev/null +++ b/libiberty/testsuite/Makefile.in @@ -0,0 +1,92 @@ +# +# Makefile +# Copyright (C) 1999, 2002, 2006 +# 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., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, 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 is set to "really_check" or the empty string by configure. +check: @CHECK@ + +really-check: check-cplus-dem check-pexecute check-expandargv + +# Run some tests of the demangler. +check-cplus-dem: test-demangle $(srcdir)/demangle-expected + ./test-demangle < $(srcdir)/demangle-expected + +# Check the pexecute code. +check-pexecute: test-pexecute + ./test-pexecute + +# Check the expandargv functionality +check-expandargv: test-expandargv + ./test-expandargv + +TEST_COMPILE = $(CC) @DEFS@ $(LIBCFLAGS) -I.. -I$(INCDIR) $(HDEFINES) +test-demangle: $(srcdir)/test-demangle.c ../libiberty.a + $(TEST_COMPILE) -o test-demangle \ + $(srcdir)/test-demangle.c ../libiberty.a + +test-pexecute: $(srcdir)/test-pexecute.c ../libiberty.a + $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-pexecute \ + $(srcdir)/test-pexecute.c ../libiberty.a + +test-expandargv: $(srcdir)/test-expandargv.c ../libiberty.a + $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-expandargv \ + $(srcdir)/test-expandargv.c ../libiberty.a + +# Standard (either GNU or Cygnus) rules we don't use. +html install-html info install-info clean-info dvi pdf install-pdf \ +install etags tags installcheck: + +# The standard clean rules. +mostlyclean: + rm -f test-demangle + rm -f test-pexecute + rm -f test-expandargv + rm -f core +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 000000000..74dbe8fda --- /dev/null +++ b/libiberty/testsuite/demangle-expected @@ -0,0 +1,4141 @@ +# This file holds test cases for the demangler. +# 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. +# --ret-postfix Passes the DMGL_RET_POSTFIX option +# +# 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 --no-params +ArrowheadIntersects__9ArrowLineP9ArrowheadR6BoxObjP7Graphic +ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &, Graphic *) +ArrowLine::ArrowheadIntersects +# +--format=gnu --no-params +AtEnd__13ivRubberGroup +ivRubberGroup::AtEnd(void) +ivRubberGroup::AtEnd +# +--format=gnu --no-params +BgFilter__9ivTSolverP12ivInteractor +ivTSolver::BgFilter(ivInteractor *) +ivTSolver::BgFilter +# +--format=gnu --no-params +Check__6UArrayi +UArray::Check(int) +UArray::Check +# +--format=gnu --no-params +CoreConstDecls__8TextCodeR7ostream +TextCode::CoreConstDecls(ostream &) +TextCode::CoreConstDecls +# +--format=gnu --no-params +Detach__8StateVarP12StateVarView +StateVar::Detach(StateVarView *) +StateVar::Detach +# +--format=gnu --no-params +Done__9ComponentG8Iterator +Component::Done(Iterator) +Component::Done +# +--format=gnu --no-params +Effect__11RelateManipR7ivEvent +RelateManip::Effect(ivEvent &) +RelateManip::Effect +# +--format=gnu --no-params +FindFixed__FRP4CNetP4CNet +FindFixed(CNet *&, CNet *) +FindFixed +# +--format=gnu --no-params +Fix48_abort__FR8twolongs +Fix48_abort(twolongs &) +Fix48_abort +# +--format=gnu --no-params +GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveRiT2 +iv2_6_VScroller::GetBarInfo(ivPerspective *, int &, int &) +iv2_6_VScroller::GetBarInfo +# +--format=gnu --no-params +GetBgColor__C9ivPainter +ivPainter::GetBgColor(void) const +ivPainter::GetBgColor +# +--format=gnu --no-params +InsertBody__15H_PullrightMenuii +H_PullrightMenu::InsertBody(int, int) +H_PullrightMenu::InsertBody +# +--format=gnu --no-params +InsertCharacter__9TextManipc +TextManip::InsertCharacter(char) +TextManip::InsertCharacter +# +--format=gnu --no-params +InsertToplevel__7ivWorldP12ivInteractorT1 +ivWorld::InsertToplevel(ivInteractor *, ivInteractor *) +ivWorld::InsertToplevel +# +--format=gnu --no-params +InsertToplevel__7ivWorldP12ivInteractorT1iiUi +ivWorld::InsertToplevel(ivInteractor *, ivInteractor *, int, int, unsigned int) +ivWorld::InsertToplevel +# +--format=gnu --no-params +IsAGroup__FP11GraphicViewP11GraphicComp +IsAGroup(GraphicView *, GraphicComp *) +IsAGroup +# +--format=gnu --no-params +IsA__10ButtonCodeUl +ButtonCode::IsA(unsigned long) +ButtonCode::IsA +# +--format=gnu --no-params +ReadName__FR7istreamPc +ReadName(istream &, char *) +ReadName +# +--format=gnu --no-params +Redraw__13StringBrowseriiii +StringBrowser::Redraw(int, int, int, int) +StringBrowser::Redraw +# +--format=gnu --no-params +Rotate__13ivTransformerf +ivTransformer::Rotate(float) +ivTransformer::Rotate +# +--format=gnu --no-params +Rotated__C13ivTransformerf +ivTransformer::Rotated(float) const +ivTransformer::Rotated +# +--format=gnu --no-params +Round__Ff +Round(float) +Round +# +--format=gnu --no-params +SetExport__16MemberSharedNameUi +MemberSharedName::SetExport(unsigned int) +MemberSharedName::SetExport +# +--format=gnu --no-params +Set__14ivControlState13ControlStatusUi +ivControlState::Set(ControlStatus, unsigned int) +ivControlState::Set +# +--format=gnu --no-params +Set__5DFacePcii +DFace::Set(char *, int, int) +DFace::Set +# +--format=gnu --no-params +VConvert__9ivTSolverP12ivInteractorRP8TElementT2 +ivTSolver::VConvert(ivInteractor *, TElement *&, TElement *&) +ivTSolver::VConvert +# +--format=gnu --no-params +VConvert__9ivTSolverP7ivTGlueRP8TElement +ivTSolver::VConvert(ivTGlue *, TElement *&) +ivTSolver::VConvert +# +--format=gnu --no-params +VOrder__9ivTSolverUiRP12ivInteractorT2 +ivTSolver::VOrder(unsigned int, ivInteractor *&, ivInteractor *&) +ivTSolver::VOrder +# +--format=gnu --no-params +_10PageButton$__both +PageButton::__both +PageButton::__both +# +--format=gnu --no-params +_3RNG$singleMantissa +RNG::singleMantissa +RNG::singleMantissa +# +--format=gnu --no-params +_5IComp$_release +IComp::_release +IComp::_release +# +--format=gnu --no-params +_$_10BitmapComp +BitmapComp::~BitmapComp(void) +BitmapComp::~BitmapComp +# +--format=gnu --no-params +_$_9__io_defs +__io_defs::~__io_defs(void) +__io_defs::~__io_defs +# +--format=gnu --no-params +_$_Q23foo3bar +foo::bar::~bar(void) +foo::bar::~bar +# +--format=gnu --no-params +_$_Q33foo3bar4bell +foo::bar::bell::~bell(void) +foo::bar::bell::~bell +# +--format=gnu --no-params +__10ivTelltaleiP7ivGlyph +ivTelltale::ivTelltale(int, ivGlyph *) +ivTelltale::ivTelltale +# +--format=gnu --no-params +__10ivViewportiP12ivInteractorUi +ivViewport::ivViewport(int, ivInteractor *, unsigned int) +ivViewport::ivViewport +# +--format=gnu --no-params +__10ostrstream +ostrstream::ostrstream(void) +ostrstream::ostrstream +# +--format=gnu --no-params +__10ostrstreamPcii +ostrstream::ostrstream(char *, int, int) +ostrstream::ostrstream +# +--format=gnu --no-params +__11BitmapTablei +BitmapTable::BitmapTable(int) +BitmapTable::BitmapTable +# +--format=gnu --no-params +__12ViewportCodeP12ViewportComp +ViewportCode::ViewportCode(ViewportComp *) +ViewportCode::ViewportCode +# +--format=gnu --no-params +__12iv2_6_Borderii +iv2_6_Border::iv2_6_Border(int, int) +iv2_6_Border::iv2_6_Border +# +--format=gnu --no-params +__12ivBreak_Listl +ivBreak_List::ivBreak_List(long) +ivBreak_List::ivBreak_List +# +--format=gnu --no-params +__14iv2_6_MenuItemiP12ivInteractor +iv2_6_MenuItem::iv2_6_MenuItem(int, ivInteractor *) +iv2_6_MenuItem::iv2_6_MenuItem +# +--format=gnu --no-params +__20DisplayList_IteratorR11DisplayList +DisplayList_Iterator::DisplayList_Iterator(DisplayList &) +DisplayList_Iterator::DisplayList_Iterator +# +--format=gnu --no-params +__3fooRT0 +foo::foo(foo &) +foo::foo +# +--format=gnu --no-params +__3fooiN31 +foo::foo(int, int, int, int) +foo::foo +# +--format=gnu --no-params +__3fooiRT0iT2iT2 +foo::foo(int, foo &, int, foo &, int, foo &) +foo::foo +# +--format=gnu --no-params +__6KeyMapPT0 +KeyMap::KeyMap(KeyMap *) +KeyMap::KeyMap +# +--format=gnu --no-params +__8ArrowCmdP6EditorUiUi +ArrowCmd::ArrowCmd(Editor *, unsigned int, unsigned int) +ArrowCmd::ArrowCmd +# +--format=gnu --no-params +__9F_EllipseiiiiP7Graphic +F_Ellipse::F_Ellipse(int, int, int, int, Graphic *) +F_Ellipse::F_Ellipse +# +--format=gnu --no-params +__9FrameDataP9FrameCompi +FrameData::FrameData(FrameComp *, int) +FrameData::FrameData +# +--format=gnu --no-params +__9HVGraphicP9CanvasVarP7Graphic +HVGraphic::HVGraphic(CanvasVar *, Graphic *) +HVGraphic::HVGraphic +# +--format=gnu --no-params +__Q23foo3bar +foo::bar::bar(void) +foo::bar::bar +# +--format=gnu --no-params +__Q33foo3bar4bell +foo::bar::bell::bell(void) +foo::bar::bell::bell +# +--format=gnu --no-params +__aa__3fooRT0 +foo::operator&&(foo &) +foo::operator&& +# +--format=gnu --no-params +__aad__3fooRT0 +foo::operator&=(foo &) +foo::operator&= +# +--format=gnu --no-params +__ad__3fooRT0 +foo::operator&(foo &) +foo::operator& +# +--format=gnu --no-params +__adv__3fooRT0 +foo::operator/=(foo &) +foo::operator/= +# +--format=gnu --no-params +__aer__3fooRT0 +foo::operator^=(foo &) +foo::operator^= +# +--format=gnu --no-params +__als__3fooRT0 +foo::operator<<=(foo &) +foo::operator<<= +# +--format=gnu --no-params +__amd__3fooRT0 +foo::operator%=(foo &) +foo::operator%= +# +--format=gnu --no-params +__ami__3fooRT0 +foo::operator-=(foo &) +foo::operator-= +# +--format=gnu --no-params +__aml__3FixRT0 +Fix::operator*=(Fix &) +Fix::operator*= +# +--format=gnu --no-params +__aml__5Fix16i +Fix16::operator*=(int) +Fix16::operator*= +# +--format=gnu --no-params +__aml__5Fix32RT0 +Fix32::operator*=(Fix32 &) +Fix32::operator*= +# +--format=gnu --no-params +__aor__3fooRT0 +foo::operator|=(foo &) +foo::operator|= +# +--format=gnu --no-params +__apl__3fooRT0 +foo::operator+=(foo &) +foo::operator+= +# +--format=gnu --no-params +__ars__3fooRT0 +foo::operator>>=(foo &) +foo::operator>>= +# +--format=gnu --no-params +__as__3fooRT0 +foo::operator=(foo &) +foo::operator= +# +--format=gnu --no-params +__cl__3fooRT0 +foo::operator()(foo &) +foo::operator() +# +--format=gnu --no-params +__cl__6Normal +Normal::operator()(void) +Normal::operator() +# +--format=gnu --no-params +__cl__6Stringii +String::operator()(int, int) +String::operator() +# +--format=gnu --no-params +__cm__3fooRT0 +foo::operator, (foo &) +foo::operator, +# +--format=gnu --no-params +__co__3foo +foo::operator~(void) +foo::operator~ +# +--format=gnu --no-params +__dl__3fooPv +foo::operator delete(void *) +foo::operator delete +# +--format=gnu --no-params +__dv__3fooRT0 +foo::operator/(foo &) +foo::operator/ +# +--format=gnu --no-params +__eq__3fooRT0 +foo::operator==(foo &) +foo::operator== +# +--format=gnu --no-params +__er__3fooRT0 +foo::operator^(foo &) +foo::operator^ +# +--format=gnu --no-params +__ge__3fooRT0 +foo::operator>=(foo &) +foo::operator>= +# +--format=gnu --no-params +__gt__3fooRT0 +foo::operator>(foo &) +foo::operator> +# +--format=gnu --no-params +__le__3fooRT0 +foo::operator<=(foo &) +foo::operator<= +# +--format=gnu --no-params +__ls__3fooRT0 +foo::operator<<(foo &) +foo::operator<< +# +--format=gnu --no-params +__ls__FR7ostreamPFR3ios_R3ios +operator<<(ostream &, ios &(*)(ios &)) +operator<< +# +--format=gnu --no-params +__ls__FR7ostreamR3Fix +operator<<(ostream &, Fix &) +operator<< +# +--format=gnu --no-params +__lt__3fooRT0 +foo::operator<(foo &) +foo::operator< +# +--format=gnu --no-params +__md__3fooRT0 +foo::operator%(foo &) +foo::operator% +# +--format=gnu --no-params +__mi__3fooRT0 +foo::operator-(foo &) +foo::operator- +# +--format=gnu --no-params +__ml__3fooRT0 +foo::operator*(foo &) +foo::operator* +# +--format=gnu --no-params +__mm__3fooi +foo::operator--(int) +foo::operator-- +# +--format=gnu --no-params +__ne__3fooRT0 +foo::operator!=(foo &) +foo::operator!= +# +--format=gnu --no-params +__nt__3foo +foo::operator!(void) +foo::operator! +# +--format=gnu --no-params +__nw__3fooi +foo::operator new(int) +foo::operator new +# +--format=gnu --no-params +__oo__3fooRT0 +foo::operator||(foo &) +foo::operator|| +# +--format=gnu --no-params +__opPc__3foo +foo::operator char *(void) +foo::operator char * +# +--format=gnu --no-params +__opi__3foo +foo::operator int(void) +foo::operator int +# +--format=gnu --no-params +__or__3fooRT0 +foo::operator|(foo &) +foo::operator| +# +--format=gnu --no-params +__pl__3fooRT0 +foo::operator+(foo &) +foo::operator+ +# +--format=gnu --no-params +__pp__3fooi +foo::operator++(int) +foo::operator++ +# +--format=gnu --no-params +__rf__3foo +foo::operator->(void) +foo::operator-> +# +--format=gnu --no-params +__rm__3fooRT0 +foo::operator->*(foo &) +foo::operator->* +# +--format=gnu --no-params +__rs__3fooRT0 +foo::operator>>(foo &) +foo::operator>> +# +--format=gnu --no-params +_new_Fix__FUs +_new_Fix(unsigned short) +_new_Fix +# +--format=gnu --no-params +_vt.foo +foo virtual table +foo virtual table +# +--format=gnu --no-params +_vt.foo.bar +foo::bar virtual table +foo::bar virtual table +# +--format=gnu --no-params +_vt$foo +foo virtual table +foo virtual table +# +--format=gnu --no-params +_vt$foo$bar +foo::bar virtual table +foo::bar virtual table +# +--format=gnu --no-params +append__7ivGlyphPT0 +ivGlyph::append(ivGlyph *) +ivGlyph::append +# +--format=gnu --no-params +clearok__FP7_win_sti +clearok(_win_st *, int) +clearok +# +--format=gnu --no-params +complexfunc2__FPFPc_i +complexfunc2(int (*)(char *)) +complexfunc2 +# +--format=gnu --no-params +complexfunc3__FPFPFPl_s_i +complexfunc3(int (*)(short (*)(long *))) +complexfunc3 +# +--format=gnu --no-params +complexfunc4__FPFPFPc_s_i +complexfunc4(int (*)(short (*)(char *))) +complexfunc4 +# +--format=gnu --no-params +complexfunc5__FPFPc_PFl_i +complexfunc5(int (*(*)(char *))(long)) +complexfunc5 +# +--format=gnu --no-params +complexfunc6__FPFPi_PFl_i +complexfunc6(int (*(*)(int *))(long)) +complexfunc6 +# +--format=gnu --no-params +complexfunc7__FPFPFPc_i_PFl_i +complexfunc7(int (*(*)(int (*)(char *)))(long)) +complexfunc7 +# +--format=gnu --no-params +foo__FiN30 +foo(int, int, int, int) +foo +# +--format=gnu --no-params +foo__FiR3fooiT1iT1 +foo(int, foo &, int, foo &, int, foo &) +foo +# +--format=gnu --no-params +foo___3barl +bar::foo_(long) +bar::foo_ +# +--format=gnu --no-params +insert__15ivClippingStacklRP8_XRegion +ivClippingStack::insert(long, _XRegion *&) +ivClippingStack::insert +# +--format=gnu --no-params +insert__16ChooserInfo_ListlR11ChooserInfo +ChooserInfo_List::insert(long, ChooserInfo &) +ChooserInfo_List::insert +# +--format=gnu --no-params +insert__17FontFamilyRepListlRP15ivFontFamilyRep +FontFamilyRepList::insert(long, ivFontFamilyRep *&) +FontFamilyRepList::insert +# +--format=gnu --no-params +leaveok__FP7_win_stc +leaveok(_win_st *, char) +leaveok +# +--format=gnu --no-params +left_mover__C7ivMFKitP12ivAdjustableP7ivStyle +ivMFKit::left_mover(ivAdjustable *, ivStyle *) const +ivMFKit::left_mover +# +--format=gnu --no-params +overload1arg__FSc +overload1arg(signed char) +overload1arg +# +--format=gnu --no-params +overload1arg__FUc +overload1arg(unsigned char) +overload1arg +# +--format=gnu --no-params +overload1arg__FUi +overload1arg(unsigned int) +overload1arg +# +--format=gnu --no-params +overload1arg__FUl +overload1arg(unsigned long) +overload1arg +# +--format=gnu --no-params +overload1arg__FUs +overload1arg(unsigned short) +overload1arg +# +--format=gnu --no-params +overload1arg__Fc +overload1arg(char) +overload1arg +# +--format=gnu --no-params +overload1arg__Fd +overload1arg(double) +overload1arg +# +--format=gnu --no-params +overload1arg__Ff +overload1arg(float) +overload1arg +# +--format=gnu --no-params +overload1arg__Fi +overload1arg(int) +overload1arg +# +--format=gnu --no-params +overload1arg__Fl +overload1arg(long) +overload1arg +# +--format=gnu --no-params +overload1arg__Fs +overload1arg(short) +overload1arg +# +--format=gnu --no-params +overload1arg__Fv +overload1arg(void) +overload1arg +# +--format=gnu --no-params +overloadargs__Fi +overloadargs(int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fii +overloadargs(int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiii +overloadargs(int, int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiiii +overloadargs(int, int, int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiiiii +overloadargs(int, int, int, int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiiiiii +overloadargs(int, int, int, int, int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiiiiiii +overloadargs(int, int, int, int, int, int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiiiiiiii +overloadargs(int, int, int, int, int, int, int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiiiiiiiii +overloadargs(int, int, int, int, int, int, int, int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiiiiiiiiii +overloadargs(int, int, int, int, int, int, int, int, int, int) +overloadargs +# +--format=gnu --no-params +overloadargs__Fiiiiiiiiiii +overloadargs(int, int, int, int, int, int, int, int, int, int, int) +overloadargs +# +--format=gnu --no-params +poke__8ivRasterUlUlffff +ivRaster::poke(unsigned long, unsigned long, float, float, float, float) +ivRaster::poke +# +--format=gnu --no-params +polar__Fdd +polar(double, double) +polar +# +--format=gnu --no-params +scale__13ivTransformerff +ivTransformer::scale(float, float) +ivTransformer::scale +# +--format=gnu --no-params +sgetn__7filebufPci +filebuf::sgetn(char *, int) +filebuf::sgetn +# +--format=gnu --no-params +shift__FP5_FrepiT0 +shift(_Frep *, int, _Frep *) +shift +# +--format=gnu --no-params +test__C6BitSeti +BitSet::test(int) const +BitSet::test +# +--format=gnu --no-params +test__C6BitSetii +BitSet::test(int, int) const +BitSet::test +# +--format=gnu --no-params +text_source__8Documentl +Document::text_source(long) +Document::text_source +# +--format=gnu --no-params +variance__6Erlangd +Erlang::variance(double) +Erlang::variance +# +--format=gnu --no-params +view__14DocumentViewerP8ItemViewP11TabularItem +DocumentViewer::view(ItemView *, TabularItem *) +DocumentViewer::view +# +--format=gnu --no-params +xy_extents__11ivExtensionffff +ivExtension::xy_extents(float, float, float, float) +ivExtension::xy_extents +# +--format=gnu --no-params +zero__8osMemoryPvUi +osMemory::zero(void *, unsigned int) +osMemory::zero +# +--format=gnu --no-params +_2T4$N +T4::N +T4::N +# +--format=gnu --no-params +_Q22T42t1$N +T4::t1::N +T4::t1::N +# +--format=gnu --no-params +get__2T1 +T1::get(void) +T1::get +# +--format=gnu --no-params +get__Q22T11a +T1::a::get(void) +T1::a::get +# +--format=gnu --no-params +get__Q32T11a1b +T1::a::b::get(void) +T1::a::b::get +# +--format=gnu --no-params +get__Q42T11a1b1c +T1::a::b::c::get(void) +T1::a::b::c::get +# +--format=gnu --no-params +get__Q52T11a1b1c1d +T1::a::b::c::d::get(void) +T1::a::b::c::d::get +# +--format=gnu --no-params +put__2T1i +T1::put(int) +T1::put +# +--format=gnu --no-params +put__Q22T11ai +T1::a::put(int) +T1::a::put +# +--format=gnu --no-params +put__Q32T11a1bi +T1::a::b::put(int) +T1::a::b::put +# +--format=gnu --no-params +put__Q42T11a1b1ci +T1::a::b::c::put(int) +T1::a::b::c::put +# +--format=gnu --no-params +put__Q52T11a1b1c1di +T1::a::b::c::d::put(int) +T1::a::b::c::d::put +# +--format=gnu --no-params +bar__3fooPv +foo::bar(void *) +foo::bar +# +--format=gnu --no-params +bar__C3fooPv +foo::bar(void *) const +foo::bar +# +--format=gnu --no-params +__eq__3fooRT0 +foo::operator==(foo &) +foo::operator== +# +--format=gnu --no-params +__eq__C3fooR3foo +foo::operator==(foo &) const +foo::operator== +# +--format=gnu --no-params +elem__t6vector1Zdi +vector<double>::elem(int) +vector<double>::elem +# +--format=gnu --no-params +elem__t6vector1Zii +vector<int>::elem(int) +vector<int>::elem +# +--format=gnu --no-params +__t6vector1Zdi +vector<double>::vector(int) +vector<double>::vector +# +--format=gnu --no-params +__t6vector1Zii +vector<int>::vector(int) +vector<int>::vector +# +--format=gnu --no-params +_$_t6vector1Zdi +vector<double>::~vector(int) +vector<double>::~vector +# +--format=gnu --no-params +_$_t6vector1Zii +vector<int>::~vector(int) +vector<int>::~vector +# +--format=gnu --no-params +__nw__t2T11ZcUi +T1<char>::operator new(unsigned int) +T1<char>::operator new +# +--format=gnu --no-params +__nw__t2T11Z1tUi +T1<t>::operator new(unsigned int) +T1<t>::operator new +# +--format=gnu --no-params +__dl__t2T11ZcPv +T1<char>::operator delete(void *) +T1<char>::operator delete +# +--format=gnu --no-params +__dl__t2T11Z1tPv +T1<t>::operator delete(void *) +T1<t>::operator delete +# +--format=gnu --no-params +__t2T11Zci +T1<char>::T1(int) +T1<char>::T1 +# +--format=gnu --no-params +__t2T11Zc +T1<char>::T1(void) +T1<char>::T1 +# +--format=gnu --no-params +__t2T11Z1ti +T1<t>::T1(int) +T1<t>::T1 +# +--format=gnu --no-params +__t2T11Z1t +T1<t>::T1(void) +T1<t>::T1 +# +--format=gnu --no-params +__Q2t4List1Z10VHDLEntity3Pix +List<VHDLEntity>::Pix::Pix(void) +List<VHDLEntity>::Pix::Pix +# +--format=gnu --no-params +__Q2t4List1Z10VHDLEntity3PixPQ2t4List1Z10VHDLEntity7element +List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::element *) +List<VHDLEntity>::Pix::Pix +# +--format=gnu --no-params +__Q2t4List1Z10VHDLEntity3PixRCQ2t4List1Z10VHDLEntity3Pix +List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::Pix const &) +List<VHDLEntity>::Pix::Pix +# +--format=gnu --no-params +__Q2t4List1Z10VHDLEntity7elementRC10VHDLEntityPT0 +List<VHDLEntity>::element::element(VHDLEntity const &, List<VHDLEntity>::element *) +List<VHDLEntity>::element::element +# +--format=gnu --no-params +__Q2t4List1Z10VHDLEntity7elementRCQ2t4List1Z10VHDLEntity7element +List<VHDLEntity>::element::element(List<VHDLEntity>::element const &) +List<VHDLEntity>::element::element +# +--format=gnu --no-params +__cl__C11VHDLLibraryGt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity +VHDLLibrary::operator()(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >) const +VHDLLibrary::operator() +# +--format=gnu --no-params +__cl__Ct4List1Z10VHDLEntityRCQ2t4List1Z10VHDLEntity3Pix +List<VHDLEntity>::operator()(List<VHDLEntity>::Pix const &) const +List<VHDLEntity>::operator() +# +--format=gnu --no-params +__ne__FPvRCQ2t4List1Z10VHDLEntity3Pix +operator!=(void *, List<VHDLEntity>::Pix const &) +operator!= +# +--format=gnu --no-params +__ne__FPvRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity +operator!=(void *, PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &) +operator!= +# +--format=gnu --no-params +__t4List1Z10VHDLEntityRCt4List1Z10VHDLEntity +List<VHDLEntity>::List(List<VHDLEntity> const &) +List<VHDLEntity>::List +# +--format=gnu --no-params +__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity +PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(void) +PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX +# +--format=gnu --no-params +__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityP14VHDLLibraryRepGQ2t4List1Z10VHDLEntity3Pix +PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(VHDLLibraryRep *, List<VHDLEntity>::Pix) +PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX +# +--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 --no-params +nextE__C11VHDLLibraryRt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity +VHDLLibrary::nextE(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > &) const +VHDLLibrary::nextE +# +--format=gnu --no-params +next__Ct4List1Z10VHDLEntityRQ2t4List1Z10VHDLEntity3Pix +List<VHDLEntity>::next(List<VHDLEntity>::Pix &) const +List<VHDLEntity>::next +# +--format=gnu --no-params +_GLOBAL_$D$set +global destructors keyed to set +global destructors keyed to set +# +--format=gnu --no-params +_GLOBAL_$I$set +global constructors keyed to set +global constructors keyed to set +# +--format=gnu --no-params +__as__t5ListS1ZUiRCt5ListS1ZUi +ListS<unsigned int>::operator=(ListS<unsigned int> const &) +ListS<unsigned int>::operator= +# +--format=gnu --no-params +__cl__Ct5ListS1ZUiRCQ2t5ListS1ZUi3Vix +ListS<unsigned int>::operator()(ListS<unsigned int>::Vix const &) const +ListS<unsigned int>::operator() +# +--format=gnu --no-params +__cl__Ct5SetLS1ZUiRCQ2t5SetLS1ZUi3Vix +SetLS<unsigned int>::operator()(SetLS<unsigned int>::Vix const &) const +SetLS<unsigned int>::operator() +# +--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 --no-params +__t10ListS_link1ZUiRCt10ListS_link1ZUi +ListS_link<unsigned int>::ListS_link(ListS_link<unsigned int> const &) +ListS_link<unsigned int>::ListS_link +# +--format=gnu --no-params +__t5ListS1ZUiRCt5ListS1ZUi +ListS<unsigned int>::ListS(ListS<unsigned int> const &) +ListS<unsigned int>::ListS +# +--format=gnu --no-params +next__Ct5ListS1ZUiRQ2t5ListS1ZUi3Vix +ListS<unsigned int>::next(ListS<unsigned int>::Vix &) const +ListS<unsigned int>::next +# +--format=gnu --no-params +__ne__FPvRCQ2t5SetLS1ZUi3Vix +operator!=(void *, SetLS<unsigned int>::Vix const &) +operator!= +# +--format=gnu --no-params +__t8ListElem1Z5LabelRt4List1Z5Label +ListElem<Label>::ListElem(List<Label> &) +ListElem<Label>::ListElem +# +--format=gnu --no-params +__t8BDDHookV1ZPcRCPc +BDDHookV<char *>::BDDHookV(char *const &) +BDDHookV<char *>::BDDHookV +# +--format=gnu --no-params +_vt$t8BDDHookV1ZPc +BDDHookV<char *> virtual table +BDDHookV<char *> virtual table +# +--format=gnu --no-params +__ne__FPvRCQ211BDDFunction4VixB +operator!=(void *, BDDFunction::VixB const &) +operator!= +# +--format=gnu --no-params +__eq__FPvRCQ211BDDFunction4VixB +operator==(void *, BDDFunction::VixB const &) +operator== +# +--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 --no-params +WS__FR7istream +WS(istream &) +WS +# +--format=lucid --no-params +__aa__3fooFR3foo +foo::operator&&(foo &) +foo::operator&& +# +--format=lucid --no-params +__aad__3fooFR3foo +foo::operator&=(foo &) +foo::operator&= +# +--format=lucid --no-params +__ad__3fooFR3foo +foo::operator&(foo &) +foo::operator& +# +--format=lucid --no-params +__adv__3fooFR3foo +foo::operator/=(foo &) +foo::operator/= +# +--format=lucid --no-params +__adv__7complexF7complex +complex::operator/=(complex) +complex::operator/= +# +--format=lucid --no-params +__aer__3fooFR3foo +foo::operator^=(foo &) +foo::operator^= +# +--format=lucid --no-params +__als__3fooFR3foo +foo::operator<<=(foo &) +foo::operator<<= +# +--format=lucid --no-params +__amd__3fooFR3foo +foo::operator%=(foo &) +foo::operator%= +# +--format=lucid --no-params +__ami__3fooFR3foo +foo::operator-=(foo &) +foo::operator-= +# +--format=lucid --no-params +__amu__3fooFR3foo +foo::operator*=(foo &) +foo::operator*= +# +--format=lucid --no-params +__amu__7complexF7complex +complex::operator*=(complex) +complex::operator*= +# +--format=lucid --no-params +__aor__3fooFR3foo +foo::operator|=(foo &) +foo::operator|= +# +--format=lucid --no-params +__apl__3fooFR3foo +foo::operator+=(foo &) +foo::operator+= +# +--format=lucid --no-params +__ars__3fooFR3foo +foo::operator>>=(foo &) +foo::operator>>= +# +--format=lucid --no-params +__as__18istream_withassignFP9streambuf +istream_withassign::operator=(streambuf *) +istream_withassign::operator= +# +--format=lucid --no-params +__as__18istream_withassignFR7istream +istream_withassign::operator=(istream &) +istream_withassign::operator= +# +--format=lucid --no-params +__as__3fooFR3foo +foo::operator=(foo &) +foo::operator= +# +--format=lucid --no-params +__as__3iosFR3ios +ios::operator=(ios &) +ios::operator= +# +--format=lucid --no-params +__cl__3fooFR3foo +foo::operator()(foo &) +foo::operator() +# +--format=lucid --no-params +__cm__3fooFR3foo +foo::operator, (foo &) +foo::operator, +# +--format=lucid --no-params +__co__3fooFv +foo::operator~(void) +foo::operator~ +# +--format=lucid --no-params +__ct__10istrstreamFPc +istrstream::istrstream(char *) +istrstream::istrstream +# +--format=lucid --no-params +__ct__10istrstreamFPci +istrstream::istrstream(char *, int) +istrstream::istrstream +# +--format=lucid --no-params +__ct__10ostrstreamFPciT2 +ostrstream::ostrstream(char *, int, int) +ostrstream::ostrstream +# +--format=lucid --no-params +__ct__10ostrstreamFv +ostrstream::ostrstream(void) +ostrstream::ostrstream +# +--format=lucid --no-params +__ct__10smanip_intFPFR3iosi_R3iosi +smanip_int::smanip_int(ios &(*)(ios &, int), int) +smanip_int::smanip_int +# +--format=lucid --no-params +__ct__11fstreambaseFi +fstreambase::fstreambase(int) +fstreambase::fstreambase +# +--format=lucid --no-params +__ct__11fstreambaseFiPcT1 +fstreambase::fstreambase(int, char *, int) +fstreambase::fstreambase +# +--format=lucid --no-params +__ct__11fstreambaseFv +fstreambase::fstreambase(void) +fstreambase::fstreambase +# +--format=lucid --no-params +__ct__11smanip_longFPFR3iosl_R3iosl +smanip_long::smanip_long(ios &(*)(ios &, long), long) +smanip_long::smanip_long +# +--format=lucid --no-params +__ct__11stdiostreamFP4FILE +stdiostream::stdiostream(FILE *) +stdiostream::stdiostream +# +--format=lucid --no-params +__ct__12strstreambufFPFl_PvPFPv_v +strstreambuf::strstreambuf(void *(*)(long), void (*)(void *)) +strstreambuf::strstreambuf +# +--format=lucid --no-params +__ct__12strstreambufFPUciT1 +strstreambuf::strstreambuf(unsigned char *, int, unsigned char *) +strstreambuf::strstreambuf +# +--format=lucid --no-params +__ct__12strstreambufFPciT1 +strstreambuf::strstreambuf(char *, int, char *) +strstreambuf::strstreambuf +# +--format=lucid --no-params +__ct__12strstreambufFi +strstreambuf::strstreambuf(int) +strstreambuf::strstreambuf +# +--format=lucid --no-params +__ct__12strstreambufFv +strstreambuf::strstreambuf(void) +strstreambuf::strstreambuf +# +--format=lucid --no-params +__ct__13strstreambaseFPciT1 +strstreambase::strstreambase(char *, int, char *) +strstreambase::strstreambase +# +--format=lucid --no-params +__ct__3fooFR3foo +foo::foo(foo &) +foo::foo +# +--format=lucid --no-params +__ct__3fooFi +foo::foo(int) +foo::foo +# +--format=lucid --no-params +__ct__3fooFiN31 +foo::foo(int, int, int, int) +foo::foo +# +--format=lucid --no-params +__ct__3fooFiR3fooT1T2T1T2 +foo::foo(int, foo &, int, foo &, int, foo &) +foo::foo +# +--format=lucid --no-params +__ct__3iosFP9streambuf +ios::ios(streambuf *) +ios::ios +# +--format=lucid --no-params +__ct__7filebufFiPcT1 +filebuf::filebuf(int, char *, int) +filebuf::filebuf +# +--format=lucid --no-params +__ct__7fstreamFiPcT1 +fstream::fstream(int, char *, int) +fstream::fstream +# +--format=lucid --no-params +__ct__7istreamFP9streambuf +istream::istream(streambuf *) +istream::istream +# +--format=lucid --no-params +__ct__7istreamFP9streambufiP7ostream +istream::istream(streambuf *, int, ostream *) +istream::istream +# +--format=lucid --no-params +__ct__7istreamFiPcT1 +istream::istream(int, char *, int) +istream::istream +# +--format=lucid --no-params +__ct__7istreamFiT1P7ostream +istream::istream(int, int, ostream *) +istream::istream +# +--format=lucid --no-params +__ct__7ostreamFP9streambuf +ostream::ostream(streambuf *) +ostream::ostream +# +--format=lucid --no-params +__ct__7ostreamFiPc +ostream::ostream(int, char *) +ostream::ostream +# +--format=lucid --no-params +__ct__8ifstreamFiPcT1 +ifstream::ifstream(int, char *, int) +ifstream::ifstream +# +--format=lucid --no-params +__ct__Q23foo3barFv +foo::bar::bar(void) +foo::bar::bar +# +--format=lucid --no-params +__ct__Q33foo3bar4bellFv +foo::bar::bell::bell(void) +foo::bar::bell::bell +# +--format=lucid --no-params +__dl__3fooSFPv +foo::operator delete(void *) static +foo::operator delete +# +--format=lucid --no-params +__dl__FPv +operator delete(void *) +operator delete +# +--format=lucid --no-params +__dt__10istrstreamFv +istrstream::~istrstream(void) +istrstream::~istrstream +# +--format=lucid --no-params +__dt__Q23foo3barFv +foo::bar::~bar(void) +foo::bar::~bar +# +--format=lucid --no-params +__dt__Q33foo3bar4bellFv +foo::bar::bell::~bell(void) +foo::bar::bell::~bell +# +--format=lucid --no-params +__dv__3fooFR3foo +foo::operator/(foo &) +foo::operator/ +# +--format=lucid --no-params +__dv__F7complexT1 +operator/(complex, complex) +operator/ +# +--format=lucid --no-params +__eq__3fooFR3foo +foo::operator==(foo &) +foo::operator== +# +--format=lucid --no-params +__er__3fooFR3foo +foo::operator^(foo &) +foo::operator^ +# +--format=lucid --no-params +__ge__3fooFR3foo +foo::operator>=(foo &) +foo::operator>= +# +--format=lucid --no-params +__gt__3fooFR3foo +foo::operator>(foo &) +foo::operator> +# +--format=lucid --no-params +__le__3fooFR3foo +foo::operator<=(foo &) +foo::operator<= +# +--format=lucid --no-params +__ls__3fooFR3foo +foo::operator<<(foo &) +foo::operator<< +# +--format=lucid --no-params +__ls__7ostreamFP9streambuf +ostream::operator<<(streambuf *) +ostream::operator<< +# +--format=lucid --no-params +__ls__7ostreamFPFR3ios_R3ios +ostream::operator<<(ios &(*)(ios &)) +ostream::operator<< +# +--format=lucid --no-params +__ls__7ostreamFPv +ostream::operator<<(void *) +ostream::operator<< +# +--format=lucid --no-params +__ls__7ostreamFUi +ostream::operator<<(unsigned int) +ostream::operator<< +# +--format=lucid --no-params +__ls__7ostreamFUl +ostream::operator<<(unsigned long) +ostream::operator<< +# +--format=lucid --no-params +__ls__7ostreamFd +ostream::operator<<(double) +ostream::operator<< +# +--format=lucid --no-params +__ls__7ostreamFf +ostream::operator<<(float) +ostream::operator<< +# +--format=lucid --no-params +__ls__7ostreamFi +ostream::operator<<(int) +ostream::operator<< +# +--format=lucid --no-params +__ls__7ostreamFl +ostream::operator<<(long) +ostream::operator<< +# +--format=lucid --no-params +__ls__FR7ostream7complex +operator<<(ostream &, complex) +operator<< +# +--format=lucid --no-params +__lt__3fooFR3foo +foo::operator<(foo &) +foo::operator< +# +--format=lucid --no-params +__md__3fooFR3foo +foo::operator%(foo &) +foo::operator% +# +--format=lucid --no-params +__mi__3fooFR3foo +foo::operator-(foo &) +foo::operator- +# +--format=lucid --no-params +__ml__3fooFR3foo +foo::operator*(foo &) +foo::operator* +# +--format=lucid --no-params +__ml__F7complexT1 +operator*(complex, complex) +operator* +# +--format=lucid --no-params +__mm__3fooFi +foo::operator--(int) +foo::operator-- +# +--format=lucid --no-params +__ne__3fooFR3foo +foo::operator!=(foo &) +foo::operator!= +# +--format=lucid --no-params +__nt__3fooFv +foo::operator!(void) +foo::operator! +# +--format=lucid --no-params +__nw__3fooSFi +foo::operator new(int) static +foo::operator new +# +--format=lucid --no-params +__nw__FUi +operator new(unsigned int) +operator new +# +--format=lucid --no-params +__nw__FUiPv +operator new(unsigned int, void *) +operator new +# +--format=lucid --no-params +__oo__3fooFR3foo +foo::operator||(foo &) +foo::operator|| +# +--format=lucid --no-params +__opPc__3fooFv +foo::operator char *(void) +foo::operator char * +# +--format=lucid --no-params +__opi__3fooFv +foo::operator int(void) +foo::operator int +# +--format=lucid --no-params +__or__3fooFR3foo +foo::operator|(foo &) +foo::operator| +# +--format=lucid --no-params +__pl__3fooFR3foo +foo::operator+(foo &) +foo::operator+ +# +--format=lucid --no-params +__pp__3fooFi +foo::operator++(int) +foo::operator++ +# +--format=lucid --no-params +__pt__3fooFv +foo::operator->(void) +foo::operator-> +# +--format=lucid --no-params +__rm__3fooFR3foo +foo::operator->*(foo &) +foo::operator->* +# +--format=lucid --no-params +__rs__3fooFR3foo +foo::operator>>(foo &) +foo::operator>> +# +--format=lucid --no-params +__rs__7istreamFP9streambuf +istream::operator>>(streambuf *) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFPFR3ios_R3ios +istream::operator>>(ios &(*)(ios &)) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFPFR7istream_R7istream +istream::operator>>(istream &(*)(istream &)) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFPUc +istream::operator>>(unsigned char *) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFPc +istream::operator>>(char *) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFRUi +istream::operator>>(unsigned int &) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFRUl +istream::operator>>(unsigned long &) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFRUs +istream::operator>>(unsigned short &) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFRd +istream::operator>>(double &) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFRf +istream::operator>>(float &) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFRi +istream::operator>>(int &) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFRl +istream::operator>>(long &) +istream::operator>> +# +--format=lucid --no-params +__rs__7istreamFRs +istream::operator>>(short &) +istream::operator>> +# +--format=lucid --no-params +__rs__FR7istreamR7complex +operator>>(istream &, complex &) +operator>> +# +--format=lucid --no-params +__vtbl__10istrstream +istrstream virtual table +istrstream virtual table +# +--format=lucid --no-params +__vtbl__17ostream__iostream__19iostream_withassign +iostream_withassign::ostream__iostream virtual table +iostream_withassign::ostream__iostream virtual table +# +--format=lucid --no-params +__vtbl__3ios +ios virtual table +ios virtual table +# +--format=lucid --no-params +__vtbl__3ios__13strstreambase +strstreambase::ios virtual table +strstreambase::ios virtual table +# +--format=lucid --no-params +abs__F7complex +abs(complex) +abs +# +--format=lucid --no-params +allocate__9streambufFv +streambuf::allocate(void) +streambuf::allocate +# +--format=lucid --no-params +attach__11fstreambaseFi +fstreambase::attach(int) +fstreambase::attach +# +--format=lucid --no-params +bitalloc__3iosSFv +ios::bitalloc(void) static +ios::bitalloc +# +--format=lucid --no-params +chr__FiT1 +chr(int, int) +chr +# +--format=lucid --no-params +complex_error__FR11c_exception +complex_error(c_exception &) +complex_error +# +--format=lucid --no-params +complexfunc2__FPFPc_i +complexfunc2(int (*)(char *)) +complexfunc2 +# +--format=lucid --no-params +complexfunc3__FPFPFPl_s_i +complexfunc3(int (*)(short (*)(long *))) +complexfunc3 +# +--format=lucid --no-params +complexfunc4__FPFPFPc_s_i +complexfunc4(int (*)(short (*)(char *))) +complexfunc4 +# +--format=lucid --no-params +complexfunc5__FPFPc_PFl_i +complexfunc5(int (*(*)(char *))(long)) +complexfunc5 +# +--format=lucid --no-params +complexfunc6__FPFPi_PFl_i +complexfunc6(int (*(*)(int *))(long)) +complexfunc6 +# +--format=lucid --no-params +complexfunc7__FPFPFPc_i_PFl_i +complexfunc7(int (*(*)(int (*)(char *)))(long)) +complexfunc7 +# +--format=lucid --no-params +complicated_put__7ostreamFc +ostream::complicated_put(char) +ostream::complicated_put +# +--format=lucid --no-params +conv10__FlPc +conv10(long, char *) +conv10 +# +--format=lucid --no-params +conv16__FUlPc +conv16(unsigned long, char *) +conv16 +# +--format=lucid --no-params +dec__FR3ios +dec(ios &) +dec +# +--format=lucid --no-params +dec__Fli +dec(long, int) +dec +# +--format=lucid --no-params +dofield__FP7ostreamPciT2T3 +dofield(ostream *, char *, int, char *, int) +dofield +# +--format=lucid --no-params +flags__3iosFl +ios::flags(long) +ios::flags +# +--format=lucid --no-params +flags__3iosFv +ios::flags(void) +ios::flags +# +--format=lucid --no-params +foo__FiN31 +foo(int, int, int, int) +foo +# +--format=lucid --no-params +foo__FiR3fooT1T2T1T2 +foo(int, foo &, int, foo &, int, foo &) +foo +# +--format=lucid --no-params +foo___3barFl +bar::foo_(long) +bar::foo_ +# +--format=lucid --no-params +get__7istreamFPcic +istream::get(char *, int, char) +istream::get +# +--format=lucid --no-params +get__7istreamFR9streambufc +istream::get(streambuf &, char) +istream::get +# +--format=lucid --no-params +get_complicated__7istreamFRUc +istream::get_complicated(unsigned char &) +istream::get_complicated +# +--format=lucid --no-params +get_complicated__7istreamFRc +istream::get_complicated(char &) +istream::get_complicated +# +--format=lucid --no-params +getline__7istreamFPUcic +istream::getline(unsigned char *, int, char) +istream::getline +# +--format=lucid --no-params +getline__7istreamFPcic +istream::getline(char *, int, char) +istream::getline +# +--format=lucid --no-params +ignore__7istreamFiT1 +istream::ignore(int, int) +istream::ignore +# +--format=lucid --no-params +init__12strstreambufFPciT1 +strstreambuf::init(char *, int, char *) +strstreambuf::init +# +--format=lucid --no-params +init__3iosFP9streambuf +ios::init(streambuf *) +ios::init +# +--format=lucid --no-params +initcount__13Iostream_init +Iostream_init::initcount +Iostream_init::initcount +# +--format=lucid --no-params +ipfx__7istreamFi +istream::ipfx(int) +istream::ipfx +# +--format=lucid --no-params +ls_complicated__7ostreamFUc +ostream::ls_complicated(unsigned char) +ostream::ls_complicated +# +--format=lucid --no-params +ls_complicated__7ostreamFc +ostream::ls_complicated(char) +ostream::ls_complicated +# +--format=lucid --no-params +overload1arg__FSc +overload1arg(signed char) +overload1arg +# +--format=lucid --no-params +overload1arg__FUc +overload1arg(unsigned char) +overload1arg +# +--format=lucid --no-params +overload1arg__FUi +overload1arg(unsigned int) +overload1arg +# +--format=lucid --no-params +overload1arg__FUl +overload1arg(unsigned long) +overload1arg +# +--format=lucid --no-params +overload1arg__FUs +overload1arg(unsigned short) +overload1arg +# +--format=lucid --no-params +overload1arg__Fc +overload1arg(char) +overload1arg +# +--format=lucid --no-params +overload1arg__Fd +overload1arg(double) +overload1arg +# +--format=lucid --no-params +overload1arg__Ff +overload1arg(float) +overload1arg +# +--format=lucid --no-params +overload1arg__Fi +overload1arg(int) +overload1arg +# +--format=lucid --no-params +overload1arg__Fl +overload1arg(long) +overload1arg +# +--format=lucid --no-params +overload1arg__Fs +overload1arg(short) +overload1arg +# +--format=lucid --no-params +overload1arg__Fv +overload1arg(void) +overload1arg +# +--format=lucid --no-params +overloadargs__FiN21 +overloadargs(int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiN31 +overloadargs(int, int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiN41 +overloadargs(int, int, int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiN51 +overloadargs(int, int, int, int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiN61 +overloadargs(int, int, int, int, int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiN71 +overloadargs(int, int, int, int, int, int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiN81 +overloadargs(int, int, int, int, int, int, int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiN91 +overloadargs(int, int, int, int, int, int, int, int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiN91N11 +overloadargs(int, int, int, int, int, int, int, int, int, int, int) +overloadargs +# +--format=lucid --no-params +overloadargs__FiT1 +overloadargs(int, int) +overloadargs +# +--format=lucid --no-params +polar__FdT1 +polar(double, double) +polar +# +--format=lucid --no-params +pow__F7complexT1 +pow(complex, complex) +pow +# +--format=lucid --no-params +pow__F7complexd +pow(complex, double) +pow +# +--format=lucid --no-params +pow__F7complexi +pow(complex, int) +pow +# +--format=lucid --no-params +pow__Fd7complex +pow(double, complex) +pow +# +--format=lucid --no-params +pstart__FPciT2 +pstart(char *, int, int) +pstart +# +--format=lucid --no-params +put__7ostreamFc +ostream::put(char) +ostream::put +# +--format=lucid --no-params +read__7istreamFPci +istream::read(char *, int) +istream::read +# +--format=lucid --no-params +resetiosflags__FR3iosl +resetiosflags(ios &, long) +resetiosflags +# +--format=lucid --no-params +restore_errno__FRi +restore_errno(int &) +restore_errno +# +--format=lucid --no-params +rs_complicated__7istreamFRUc +istream::rs_complicated(unsigned char &) +istream::rs_complicated +# +--format=lucid --no-params +rs_complicated__7istreamFRc +istream::rs_complicated(char &) +istream::rs_complicated +# +--format=lucid --no-params +seekg__7istreamFl8seek_dir +istream::seekg(long, seek_dir) +istream::seekg +# +--format=lucid --no-params +seekoff__12strstreambufFl8seek_diri +strstreambuf::seekoff(long, seek_dir, int) +strstreambuf::seekoff +# +--format=lucid --no-params +seekoff__9streambufFlQ2_3ios12ios_seek_diri +streambuf::seekoff(long, ios::ios_seek_dir, int) +streambuf::seekoff +# +--format=lucid --no-params +seekpos__9streambufFli +streambuf::seekpos(long, int) +streambuf::seekpos +# +--format=lucid --no-params +set_new_handler__FPFv_v +set_new_handler(void (*)(void)) +set_new_handler +# +--format=lucid --no-params +setb__9streambufFPcT1i +streambuf::setb(char *, char *, int) +streambuf::setb +# +--format=lucid --no-params +setb__FR3iosi +setb(ios &, int) +setb +# +--format=lucid --no-params +setbuf__11fstreambaseFPci +fstreambase::setbuf(char *, int) +fstreambase::setbuf +# +--format=lucid --no-params +setbuf__9streambufFPUci +streambuf::setbuf(unsigned char *, int) +streambuf::setbuf +# +--format=lucid --no-params +setbuf__9streambufFPciT2 +streambuf::setbuf(char *, int, int) +streambuf::setbuf +# +--format=lucid --no-params +setf__3iosFlT1 +ios::setf(long, long) +ios::setf +# +--format=lucid --no-params +setfill__FR3iosi +setfill(ios &, int) +setfill +# +--format=lucid --no-params +setg__9streambufFPcN21 +streambuf::setg(char *, char *, char *) +streambuf::setg +# +--format=lucid --no-params +setp__9streambufFPcT1 +streambuf::setp(char *, char *) +streambuf::setp +# +--format=lucid --no-params +tie__3iosFP7ostream +ios::tie(ostream *) +ios::tie +# +--format=lucid --no-params +uconv10__FUlPc +uconv10(unsigned long, char *) +uconv10 +# +--format=lucid --no-params +xget__7istreamFPc +istream::xget(char *) +istream::xget +# +--format=lucid --no-params +xsgetn__9streambufFPci +streambuf::xsgetn(char *, int) +streambuf::xsgetn +# +--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 --no-params +__ct__1cFi +c::c(int) +c::c +# +--format=arm --no-params +__dt__11T5__pt__2_iFv +T5<int>::~T5(void) +T5<int>::~T5 +# +--format=arm --no-params +__dt__11T5__pt__2_cFv +T5<char>::~T5(void) +T5<char>::~T5 +# +--format=arm --no-params +__ct__2T2Fi +T2::T2(int) +T2::T2 +# +--format=arm --no-params +__dt__2T1Fv +T1::~T1(void) +T1::~T1 +# +--format=arm --no-params +__dt__12T5__pt__3_1xFv +T5<x>::~T5(void) +T5<x>::~T5 +# +--format=arm --no-params +__dt__17T5__pt__8_PFcPv_iFv +T5<int (*)(char, void *)>::~T5(void) +T5<int (*)(char, void *)>::~T5 +# +--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 --no-params +__amd__FR2T2i +operator%=(T2 &, int) +operator%= +# +--format=arm --no-params +__adv__FR2T2i +operator/=(T2 &, int) +operator/= +# +--format=arm --no-params +__amu__FR2T2i +operator*=(T2 &, int) +operator*= +# +--format=arm --no-params +__ami__FR2T2i +operator-=(T2 &, int) +operator-= +# +--format=arm --no-params +__apl__FR2T2i +operator+=(T2 &, int) +operator+= +# +--format=arm --no-params +__nw__2T1SFUi +T1::operator new(unsigned int) static +T1::operator new +# +--format=arm --no-params +__dl__2T1SFPv +T1::operator delete(void *) static +T1::operator delete +# +--format=arm --no-params +put__2T7SFi +T7::put(int) static +T7::put +# +--format=arm --no-params +__dl__12T5__pt__3_1xSFPv +T5<x>::operator delete(void *) static +T5<x>::operator delete +# +--format=arm --no-params +h__FUc +h(unsigned char) +h +# +--format=arm --no-params +f__Fic +f(int, char) +f +# +--format=arm --no-params +h__FUi +h(unsigned int) +h +# +--format=arm --no-params +h__Fci +h(char, int) +h +# +--format=arm --no-params +h__FUl +h(unsigned long) +h +# +--format=arm --no-params +h__Fcl +h(char, long) +h +# +--format=arm --no-params +h__FUs +h(unsigned short) +h +# +--format=arm --no-params +h__Fcs +h(char, short) +h +# +--format=arm --no-params +X__12T5__pt__3_1x +T5<x>::X +T5<x>::X +# +--format=arm --no-params +__ct__11T5__pt__2_iFi +T5<int>::T5(int) +T5<int>::T5 +# +--format=arm --no-params +__ct__11T5__pt__2_cFi +T5<char>::T5(int) +T5<char>::T5 +# +--format=arm --no-params +h__FcT1 +h(char, char) +h +# +--format=arm --no-params +f__Ficd +f(int, char, double) +f +# +--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 --no-params +X__17T5__pt__8_PFcPv_i +T5<int (*)(char, void *)>::X +T5<int (*)(char, void *)>::X +# +--format=arm --no-params +__ct__12T5__pt__3_1xFi +T5<x>::T5(int) +T5<x>::T5 +# +--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 --no-params +__std__foo +global destructors keyed to foo +global destructors keyed to foo +# +--format=arm --no-params +__sti__bar +global constructors keyed to bar +global constructors keyed to bar +# +--format=arm --no-params +f__FicdPcPFci_v +f(int, char, double, char *, void (*)(char, int)) +f +# +--format=arm --no-params +f__FicdPcPFic_v +f(int, char, double, char *, void (*)(int, char)) +f +# +--format=arm --no-params +get__2T7SFv +T7::get(void) static +T7::get +# +--format=arm --no-params +X__21T5__pt__11_PFiPPdPv_i +T5<int (*)(int, double **, void *)>::X +T5<int (*)(int, double **, void *)>::X +# +--format=arm --no-params +__dl__11T5__pt__2_iSFPv +T5<int>::operator delete(void *) static +T5<int>::operator delete +# +--format=arm --no-params +__dl__11T5__pt__2_cSFPv +T5<char>::operator delete(void *) static +T5<char>::operator delete +# +--format=arm --no-params +h__Fc +h(char) +h +# +--format=arm --no-params +h__Fd +h(double) +h +# +--format=arm --no-params +h__Ff +h(float) +h +# +--format=arm --no-params +h__Fi +h(int) +h +# +--format=arm --no-params +f__Fi +f(int) +f +# +--format=arm --no-params +h__Fl +h(long) +h +# +--format=arm --no-params +h__Fs +h(short) +h +# +--format=arm --no-params +X__11T5__pt__2_c +T5<char>::X +T5<char>::X +# +--format=arm --no-params +X__11T5__pt__2_i +T5<int>::X +T5<int>::X +# +--format=arm --no-params +__ct__17T5__pt__8_PFcPv_iFi +T5<int (*)(char, void *)>::T5(int) +T5<int (*)(char, void *)>::T5 +# +--format=arm --no-params +f__FicdPc +f(int, char, double, char *) +f +# +--format=arm --no-params +__nw__FUi +operator new(unsigned int) +operator new +# +--format=arm --no-params +__ct__Q3_2T11a1bSFi +T1::a::b::b(int) static +T1::a::b::b +# +--format=arm --no-params +__dt__Q3_2T11a1bSFi +T1::a::b::~b(int) static +T1::a::b::~b +# +--format=arm --no-params +put__Q3_2T11a1bSFi +T1::a::b::put(int) static +T1::a::b::put +# +--format=arm --no-params +get__Q2_2T11aSFv +T1::a::get(void) static +T1::a::get +# +--format=arm --no-params +put__2T1SFi +T1::put(int) static +T1::put +# +--format=arm --no-params +put__Q5_2T11a1b1c1dSFi +T1::a::b::c::d::put(int) static +T1::a::b::c::d::put +# +--format=arm --no-params +get__Q4_2T11a1b1cSFv +T1::a::b::c::get(void) static +T1::a::b::c::get +# +--format=arm --no-params +put__Q2_2T11aSFi +T1::a::put(int) static +T1::a::put +# +--format=arm --no-params +put__Q4_2T11a1b1cSFi +T1::a::b::c::put(int) static +T1::a::b::c::put +# +--format=arm --no-params +get__Q3_2T11a1bSFv +T1::a::b::get(void) static +T1::a::b::get +# +--format=arm --no-params +get__2T1SFv +T1::get(void) static +T1::get +# +--format=arm --no-params +get__Q5_2T11a1b1c1dSFv +T1::a::b::c::d::get(void) static +T1::a::b::c::d::get +# +--format=arm --no-params +__dt__11T1__pt__2_cFv +T1<char>::~T1(void) +T1<char>::~T1 +# +--format=arm --no-params +__dt__12T1__pt__3_1tFv +T1<t>::~T1(void) +T1<t>::~T1 +# +--format=arm --no-params +__dl__12T1__pt__3_1tSFPv +T1<t>::operator delete(void *) static +T1<t>::operator delete +# +--format=arm --no-params +__ct__11T1__pt__2_cFi +T1<char>::T1(int) +T1<char>::T1 +# +--format=arm --no-params +__ct__11T1__pt__2_cFv +T1<char>::T1(void) +T1<char>::T1 +# +--format=arm --no-params +__ct__12T1__pt__3_1tFi +T1<t>::T1(int) +T1<t>::T1 +# +--format=arm --no-params +__ct__12T1__pt__3_1tFv +T1<t>::T1(void) +T1<t>::T1 +# +--format=arm --no-params +__dl__11T1__pt__2_cSFPv +T1<char>::operator delete(void *) static +T1<char>::operator delete +# +--format=arm --no-params +bar__3fooFPv +foo::bar(void *) +foo::bar +# +--format=arm --no-params +bar__3fooCFPv +foo::bar(void *) const +foo::bar +# +--format=arm --no-params +__eq__3fooFR3foo +foo::operator==(foo &) +foo::operator== +# +--format=arm --no-params +__eq__3fooCFR3foo +foo::operator==(foo &) const +foo::operator== +# +--format=arm --no-params +elem__15vector__pt__2_dFi +vector<double>::elem(int) +vector<double>::elem +# +--format=arm --no-params +elem__15vector__pt__2_iFi +vector<int>::elem(int) +vector<int>::elem +# +--format=arm --no-params +__ct__15vector__pt__2_dFi +vector<double>::vector(int) +vector<double>::vector +# +--format=arm --no-params +__ct__15vector__pt__2_iFi +vector<int>::vector(int) +vector<int>::vector +# +--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 --no-params +bar__3fooFiT16FooBar +foo::bar(int, int, FooBar) +foo::bar +# +--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 --no-params +__amd__FR2T2i +operator%=(T2 &, int) +operator%= +# +--format=hp --no-params +__adv__FR2T2i +operator/=(T2 &, int) +operator/= +# +--format=hp --no-params +__amu__FR2T2i +operator*=(T2 &, int) +operator*= +# +--format=hp --no-params +__ami__FR2T2i +operator-=(T2 &, int) +operator-= +# +--format=hp --no-params +__apl__FR2T2i +operator+=(T2 &, int) +operator+= +# +--format=hp --no-params +__nw__2T1SFUi +T1::operator new(unsigned int) static +T1::operator new +# +--format=hp --no-params +__dl__2T1SFPv +T1::operator delete(void *) static +T1::operator delete +# +--format=hp --no-params +put__2T7SFi +T7::put(int) static +T7::put +# +--format=hp --no-params +h__FUc +h(unsigned char) +h +# +--format=hp --no-params +f__Fic +f(int, char) +f +# +--format=hp --no-params +h__FUi +h(unsigned int) +h +# +--format=hp --no-params +h__Fci +h(char, int) +h +# +--format=hp --no-params +h__FUl +h(unsigned long) +h +# +--format=hp --no-params +h__Fcl +h(char, long) +h +# +--format=hp --no-params +h__FUs +h(unsigned short) +h +# +--format=hp --no-params +h__Fcs +h(char, short) +h +# +--format=hp --no-params +h__FcT1 +h(char, char) +h +# +--format=hp --no-params +f__Ficd +f(int, char, double) +f +# +--format=hp --no-params +f__FicdPcPFci_v +f(int, char, double, char *, void (*)(char, int)) +f +# +--format=hp --no-params +f__FicdPcPFic_v +f(int, char, double, char *, void (*)(int, char)) +f +# +--format=hp --no-params +get__2T7SFv +T7::get(void) static +T7::get +# +--format=hp --no-params +h__Fc +h(char) +h +# +--format=hp --no-params +h__Fd +h(double) +h +# +--format=hp --no-params +h__Ff +h(float) +h +# +--format=hp --no-params +h__Fi +h(int) +h +# +--format=hp --no-params +f__Fi +f(int) +f +# +--format=hp --no-params +h__Fl +h(long) +h +# +--format=hp --no-params +h__Fs +h(short) +h +# +--format=hp --no-params +f__FicdPc +f(int, char, double, char *) +f +# +--format=hp --no-params +__nw__FUi +operator new(unsigned int) +operator new +# +--format=hp --no-params +__ct__Q3_2T11a1bSFi +T1::a::b::b(int) static +T1::a::b::b +# +--format=hp --no-params +__dt__Q3_2T11a1bSFi +T1::a::b::~b(int) static +T1::a::b::~b +# +--format=hp --no-params +put__Q3_2T11a1bSFi +T1::a::b::put(int) static +T1::a::b::put +# +--format=hp --no-params +get__Q2_2T11aSFv +T1::a::get(void) static +T1::a::get +# +--format=hp --no-params +put__2T1SFi +T1::put(int) static +T1::put +# +--format=hp --no-params +put__Q5_2T11a1b1c1dSFi +T1::a::b::c::d::put(int) static +T1::a::b::c::d::put +# +--format=hp --no-params +get__Q4_2T11a1b1cSFv +T1::a::b::c::get(void) static +T1::a::b::c::get +# +--format=hp --no-params +put__Q2_2T11aSFi +T1::a::put(int) static +T1::a::put +# +--format=hp --no-params +put__Q4_2T11a1b1cSFi +T1::a::b::c::put(int) static +T1::a::b::c::put +# +--format=hp --no-params +get__Q3_2T11a1bSFv +T1::a::b::get(void) static +T1::a::b::get +# +--format=hp --no-params +get__2T1SFv +T1::get(void) static +T1::get +# +--format=hp --no-params +get__Q5_2T11a1b1c1dSFv +T1::a::b::c::d::get(void) static +T1::a::b::c::d::get +# +--format=hp --no-params +bar__3fooFPv +foo::bar(void *) +foo::bar +# +--format=hp --no-params +bar__3fooCFPv +foo::bar(void *) const +foo::bar +# +--format=hp --no-params +__eq__3fooFR3foo +foo::operator==(foo &) +foo::operator== +# +--format=hp --no-params +__eq__3fooCFR3foo +foo::operator==(foo &) const +foo::operator== +# +--format=hp --no-params +bar__3fooFiT16FooBar +foo::bar(int, int, FooBar) +foo::bar +# +--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 --no-params +__dt__2T5XTPFiPPdPv_i__Fv +T5<int (*)(int, double **, void *)>::~T5(void) +T5<int (*)(int, double **, void *)>::~T5 +# +--format=hp --no-params +__ct__1cFi +c::c(int) +c::c +# +--format=hp --no-params +__dt__2T5XTi__Fv +T5<int>::~T5(void) +T5<int>::~T5 +# +--format=hp --no-params +__dt__2T5XTc__Fv +T5<char>::~T5(void) +T5<char>::~T5 +# +--format=hp --no-params +__ct__2T2Fi +T2::T2(int) +T2::T2 +# +--format=hp --no-params +__dt__2T1Fv +T1::~T1(void) +T1::~T1 +# +--format=hp --no-params +__dt__2T5XT1x__Fv +T5<x>::~T5(void) +T5<x>::~T5 +# +--format=hp --no-params +__dt__2T5XTPFcPv_i__Fv +T5<int (*)(char, void *)>::~T5(void) +T5<int (*)(char, void *)>::~T5 +# +--format=hp --no-params +__ct__2T5XTPFiPPdPv_i__Fi +T5<int (*)(int, double **, void *)>::T5(int) +T5<int (*)(int, double **, void *)>::T5 +# +--format=hp --no-params +__dl__2T5XT1x__SFPv +T5<x>::operator delete(void *) static +T5<x>::operator delete +# +--format=hp --no-params +X__2T5XT1x +T5<x>::X +T5<x>::X +# +--format=hp --no-params +__ct__2T5XTi__Fi +T5<int>::T5(int) +T5<int>::T5 +# +--format=hp --no-params +__ct__2T5XTc__Fi +T5<char>::T5(int) +T5<char>::T5 +# +--format=hp --no-params +__dl__2T5XTPFcPv_i__SFPv +T5<int (*)(char, void *)>::operator delete(void *) static +T5<int (*)(char, void *)>::operator delete +# +--format=hp --no-params +X__2T5XTPFcPv_i +T5<int (*)(char, void *)>::X +T5<int (*)(char, void *)>::X +# +--format=hp --no-params +__ct__2T5XT1x__Fi +T5<x>::T5(int) +T5<x>::T5 +# +--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 --no-params +X__2T5XTPFiPPdPv_i +T5<int (*)(int, double **, void *)>::X +T5<int (*)(int, double **, void *)>::X +# +--format=hp --no-params +__dl__2T5XTi__SFPv +T5<int>::operator delete(void *) static +T5<int>::operator delete +# +--format=hp --no-params +__dl__2T5XTc__SFPv +T5<char>::operator delete(void *) static +T5<char>::operator delete +# +--format=hp --no-params +X__2T5XTc +T5<char>::X +T5<char>::X +# +--format=hp --no-params +X__2T5XTi +T5<int>::X +T5<int>::X +# +--format=hp --no-params +__ct__2T5XTPFcPv_i__Fi +T5<int (*)(char, void *)>::T5(int) +T5<int (*)(char, void *)>::T5 +# +--format=hp --no-params +__dt__2T1XTc__Fv +T1<char>::~T1(void) +T1<char>::~T1 +# +--format=hp --no-params +__dt__2T1XT1t__Fv +T1<t>::~T1(void) +T1<t>::~T1 +# +--format=hp --no-params +__dl__2T1XT1t__SFPv +T1<t>::operator delete(void *) static +T1<t>::operator delete +# +--format=hp --no-params +__ct__2T1XTc__Fi +T1<char>::T1(int) +T1<char>::T1 +# +--format=hp --no-params +__ct__2T1XTc__Fv +T1<char>::T1(void) +T1<char>::T1 +# +--format=hp --no-params +__ct__2T1XT1t__Fi +T1<t>::T1(int) +T1<t>::T1 +# +--format=hp --no-params +__ct__2T1XT1t__Fv +T1<t>::T1(void) +T1<t>::T1 +# +--format=hp --no-params +__dl__2T1XTc__SFPv +T1<char>::operator delete(void *) static +T1<char>::operator delete +# +--format=hp --no-params +elem__6vectorXTd__Fi +vector<double>::elem(int) +vector<double>::elem +# +--format=hp --no-params +elem__6vectorXTi__Fi +vector<int>::elem(int) +vector<int>::elem +# +--format=hp --no-params +__ct__6vectorXTd__Fi +vector<double>::vector(int) +vector<double>::vector +# +--format=hp --no-params +__ct__6vectorXTi__Fi +vector<int>::vector(int) +vector<int>::vector +# +--format=hp --no-params +__ct__9DListNodeXTR6RLabel__FR6RLabelP9DListNodeXTR6RLabel_T2 +DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *) +DListNode<RLabel &>::DListNode +# +--format=hp --no-params +elem__6vectorXTiUP34__Fi +vector<int,34U>::elem(int) +vector<int,34U>::elem +# +--format=hp --no-params +elem__6vectorXUP2701Td__Fi +vector<2701U,double>::elem(int) +vector<2701U,double>::elem +# +--format=hp --no-params +elem__6vectorXTiSP334__Fi +vector<int,334>::elem(int) +vector<int,334>::elem +# +--format=hp --no-params +elem__6vectorXTiSN67__Fi +vector<int,-67>::elem(int) +vector<int,-67>::elem +# +--format=hp --no-params +elem__6vectorXTiSM__SCFPPd +vector<int,-2147483648>::elem(double **) static const +vector<int,-2147483648>::elem +# +--format=hp --no-params +elem__6vectorXTiSN67UP4000TRs__Fi +vector<int,-67,4000U,short &>::elem(int) +vector<int,-67,4000U,short &>::elem +# +--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 --no-params +X__6vectorXTiSN67TdTPvUP5TRs +vector<int,-67,double,void *,5U,short &>::X +vector<int,-67,double,void *,5U,short &>::X +# +--format=hp --no-params +elem__6vectorXTiA3foo__Fi +vector<int,&foo>::elem(int) +vector<int,&foo>::elem +# +--format=hp --no-params +elem__6vectorXTiA3fooTPvA5Label__FiPPvT2 +vector<int,&foo,void *,&Label>::elem(int, void **, void **) +vector<int,&foo,void *,&Label>::elem +# +--format=hp --no-params +elem__6vectorXTiSN42A3foo__Fi +vector<int,-42,&foo>::elem(int) +vector<int,-42,&foo>::elem +# +--format=hp --no-params +__ct__2T5XTPFcPv_i__Fi_2 +T5<int (*)(char, void *)>::T5(int) +T5<int (*)(char, void *)>::T5 +# +--format=hp --no-params +__ct__2T5XTPFcPv_i__Fi_19 +T5<int (*)(char, void *)>::T5(int) +T5<int (*)(char, void *)>::T5 +# +--format=hp --no-params +f__FicdPcPFci_v_34 +f(int, char, double, char *, void (*)(char, int)) +f +# +--format=hp --no-params +spec__13Spec<#1,#1.*>XTiTPi_FPi +Spec<int,int *>::spec(int *) +Spec<int,int *>::spec +# +--format=hp --no-params +spec__16Spec<#1,#1.&,#1>XTiTRiTi_FPi +Spec<int,int &,int>::spec(int *) +Spec<int,int &,int>::spec +# +--format=hp --no-params +add__XTc_FcT1 +add<char>(char, char) +add<char> +# +--format=hp --no-params +add__XTcSP9A5label_FcPPlT1 +add<char,9,&label>(char, long **, char) +add<char,9,&label> +# +--format=hp --no-params +add__XTPfTFPd_f_FcT1 +add<float *,float (double *)>(char, char) +add<float *,float (double *)> +# +--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 --no-params +call__H1Z4Test_RX01_t1C2ZX01PMX01FPX01i_vQ2X016output +C<Test, Test::output> call<Test>(Test &) +C<Test, Test::output> call<Test> +# +--format=gnu --no-params +fn__FPQ21n1cPMQ21n1cFPQ21n1c_i +fn(n::c *, int (n::c::*)(n::c *)) +fn +# +--format=gnu --no-params +f__FGt3Bar1i2G1i +f(Bar<2>, i) +f +# +--format=gnu --no-params +f__FGt3Bar1i21i +f(Bar<21>, int) +f +# +--format=gnu --no-params +f__FGt3Bar1i2G4XY_t +f(Bar<2>, XY_t) +f +# +--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 --no-params +foo__H1Zt2TA2ZcZt2NA1Ui20_X01_i +int foo<TA<char, NA<20> > >(TA<char, NA<20> >) +int foo<TA<char, NA<20> > > +# +--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 --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 --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 --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 --no-params +foo__H1Zt2TA2ZcZt2NA1im1_X01_i +int foo<TA<char, NA<-1> > >(TA<char, NA<-1> >) +int foo<TA<char, NA<-1> > > +# +--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 --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 --no-params +__opi__t2TA2ZiZt4N__A1i9 +TA<int, N__A<9> >::operator int(void) +TA<int, N__A<9> >::operator int +# +--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 --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 --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 --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 --no-params +__tfP8sockaddr +sockaddr * type_info function +sockaddr * type_info function +# +--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 --no-params +__tiP8sockaddr +sockaddr * type_info node +sockaddr * type_info node +# +--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 --no-params +_27_GLOBAL_.N.__12burst_app_ct.app_instance +{anonymous}::app_instance +{anonymous}::app_instance +# +--format=gnu --no-params +_26_GLOBAL_$N$_tmp_n.iilg4Gya$app_instance +{anonymous}::app_instance +{anonymous}::app_instance +# +--format=gnu-v3 --no-params +_Z3fo5n +fo5(__int128) +fo5 +# +--format=gnu-v3 --no-params +_Z3fo5o +fo5(unsigned __int128) +fo5 +# +--format=java +_ZN4java3awt10ScrollPane7addImplEPNS0_9ComponentEPNS_4lang6ObjectEi +java.awt.ScrollPane.addImpl(java.awt.Component, java.lang.Object, int) +# +--format=java +_ZN4java3awt4geom15AffineTransform9getMatrixEP6JArrayIdE +java.awt.geom.AffineTransform.getMatrix(double[]) +# +--format=java +_ZN23Mangle$Inner$InnerInner3fooEP6JArrayIPS0_IiEEdPS0_IPS0_IPS0_IPS0_IPN4java4lang6StringEEEEEPS0_IPS0_IPN6MangleEEE +Mangle$Inner$InnerInner.foo(int[][], double, java.lang.String[][][][], Mangle[][]) +# +--format=java +_ZN6JArray1tEP6JArrayIPS_E +JArray.t(JArray[]) +# +--format=java +_ZN4Prim1iEibcdfwPN4java4lang6StringEsx +Prim.i(int, boolean, byte, double, float, char, java.lang.String, short, long) +# +--format=java +_ZN4java4util14Map__U24_Entry11class__U24_E +java.util.Map$Entry.class$ +# +--format=java +_ZN3org7eclipse3cdt5debug8internal4core5model9CVariable6sizeof$Ev +org.eclipse.cdt.debug.internal.core.model.CVariable.sizeof() +# +--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 --no-params +St9bad_alloc +std::bad_alloc +std::bad_alloc +# +--format=gnu-v3 --no-params +_ZN1f1fE +f::f +f::f +# +--format=gnu-v3 --no-params +_Z1fv +f() +f +# +--format=gnu-v3 --no-params +_Z1fi +f(int) +f +# +--format=gnu-v3 --no-params +_Z3foo3bar +foo(bar) +foo +# +--format=gnu-v3 --no-params +_Zrm1XS_ +operator%(X, X) +operator% +# +--format=gnu-v3 --no-params +_ZplR1XS0_ +operator+(X&, X&) +operator+ +# +--format=gnu-v3 --no-params +_ZlsRK1XS1_ +operator<<(X const&, X const&) +operator<< +# +--format=gnu-v3 --no-params +_ZN3FooIA4_iE3barE +Foo<int [4]>::bar +Foo<int [4]>::bar +# +--format=gnu-v3 --no-params +_Z1fIiEvi +void f<int>(int) +f<int> +# +--format=gnu-v3 --no-params +_Z5firstI3DuoEvS0_ +void first<Duo>(Duo) +first<Duo> +# +--format=gnu-v3 --no-params +_Z5firstI3DuoEvT_ +void first<Duo>(Duo) +first<Duo> +# +--format=gnu-v3 --no-params +_Z3fooIiFvdEiEvv +void foo<int, void (double), int>() +foo<int, void (double), int> +# +--format=gnu-v3 --no-params +_Z1fIFvvEEvv +void f<void ()>() +f<void ()> +# +--format=gnu-v3 --no-params +_ZN1N1fE +N::f +N::f +# +--format=gnu-v3 --no-params +_ZN6System5Sound4beepEv +System::Sound::beep() +System::Sound::beep +# +--format=gnu-v3 --no-params +_ZN5Arena5levelE +Arena::level +Arena::level +# +--format=gnu-v3 --no-params +_ZN5StackIiiE5levelE +Stack<int, int>::level +Stack<int, int>::level +# +--format=gnu-v3 --no-params +_Z1fI1XEvPVN1AIT_E1TE +void f<X>(A<X>::T volatile*) +f<X> +# +--format=gnu-v3 --no-params +_ZngILi42EEvN1AIXplT_Li2EEE1TE +void operator-<42>(A<(42)+(2)>::T) +operator-<42> +# +--format=gnu-v3 --no-params +_Z4makeI7FactoryiET_IT0_Ev +Factory<int> make<Factory, int>() +make<Factory, int> +# +--format=gnu-v3 --no-params +_Z4makeI7FactoryiET_IT0_Ev +Factory<int> make<Factory, int>() +make<Factory, int> +# +--format=gnu-v3 --no-params +_Z3foo5Hello5WorldS0_S_ +foo(Hello, World, World, Hello) +foo +# +--format=gnu-v3 --no-params +_Z3fooPM2ABi +foo(int AB::**) +foo +# +--format=gnu-v3 --no-params +_ZlsRSoRKSs +operator<<(std::ostream&, std::string const&) +operator<< +# +--format=gnu-v3 --no-params +_ZTI7a_class +typeinfo for a_class +typeinfo for a_class +# +--format=gnu-v3 --no-params +U4_farrVKPi +int* const volatile restrict _far +int* const volatile restrict _far +# +--format=gnu-v3 --no-params +_Z3fooILi2EEvRAplT_Li1E_i +void foo<2>(int (&) [(2)+(1)]) +foo<2> +# +--format=gnu-v3 --no-params +_Z1fM1AKFvvE +f(void (A::*)() const) +f +# +--format=gnu-v3 --no-params +_Z3fooc +foo(char) +foo +# +--format=gnu-v3 --no-params +_Z2f0u8char16_t +f0(char16_t) +f0 +# +--format=gnu-v3 --no-params +_Z2f0Pu8char16_t +f0(char16_t*) +f0 +# +--format=gnu-v3 --no-params +_Z2f0u8char32_t +f0(char32_t) +f0 +# +--format=gnu-v3 --no-params +_Z2f0Pu8char32_t +f0(char32_t*) +f0 +# +--format=gnu-v3 --no-params +2CBIL_Z3foocEE +CB<foo(char)> +CB<foo(char)> +# +--format=gnu-v3 --no-params +2CBIL_Z7IsEmptyEE +CB<IsEmpty> +CB<IsEmpty> +# +--format=gnu-v3 --no-params +_ZZN1N1fEiE1p +N::f(int)::p +N::f(int)::p +# +--format=gnu-v3 --no-params +_ZZN1N1fEiEs +N::f(int)::string literal +N::f(int)::string literal +# +--format=gnu-v3 --no-params +_Z1fPFvvEM1SFvvE +f(void (*)(), void (S::*)()) +f +# +--format=gnu-v3 --no-params +_ZN1N1TIiiE2mfES0_IddE +N::T<int, int>::mf(N::T<double, double>) +N::T<int, int>::mf +# +--format=gnu-v3 --no-params +_ZSt5state +std::state +std::state +# +--format=gnu-v3 --no-params +_ZNSt3_In4wardE +std::_In::ward +std::_In::ward +# +--format=gnu-v3 --no-params +_Z1fKPFiiE +f(int (* const)(int)) +f +# +--format=gnu-v3 --no-params +_Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i +f(int [sizeof (N::A::f() const::foo)]) +f +# +--format=gnu-v3 --no-params +_Z1fA37_iPS_ +f(int [37], int (*) [37]) +f +# +--format=gnu-v3 --no-params +_Z1fM1AFivEPS0_ +f(int (A::*)(), int (*)()) +f +# +--format=gnu-v3 --no-params +_Z1fPFPA1_ivE +f(int (*(*)()) [1]) +f +# +--format=gnu-v3 --no-params +_Z1fPKM1AFivE +f(int (A::* const*)()) +f +# +--format=gnu-v3 --no-params +_Z1jM1AFivEPS1_ +j(int (A::*)(), int (A::**)()) +j +# +--format=gnu-v3 --no-params +_Z1sPA37_iPS0_ +s(int (*) [37], int (**) [37]) +s +# +--format=gnu-v3 --no-params +_Z3fooA30_A_i +foo(int [30][]) +foo +# +--format=gnu-v3 --no-params +_Z3kooPA28_A30_i +koo(int (*) [28][30]) +koo +# +--format=gnu-v3 --no-params +_ZlsRKU3fooU4bart1XS0_ +operator<<(X bart foo const&, X bart) +operator<< +# +--format=gnu-v3 --no-params +_ZlsRKU3fooU4bart1XS2_ +operator<<(X bart foo const&, X bart foo const) +operator<< +# +--format=gnu-v3 --no-params +_Z1fM1AKFivE +f(int (A::*)() const) +f +# +--format=gnu-v3 --no-params +_Z3absILi11EEvv +void abs<11>() +abs<11> +# +--format=gnu-v3 --no-params +_ZN1AIfEcvT_IiEEv +A<float>::operator int<int>() +A<float>::operator int<int> +# +--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 --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 --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 --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 --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 --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 --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 --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 --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 --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 --no-params +_X11TransParseAddress +_X11TransParseAddress +_X11TransParseAddress +# +--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 --no-params +_GLOBAL__I__Z2fnv +global constructors keyed to fn() +global constructors keyed to fn() +# +--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 --no-params +_Z10hairyfunc5PFPFilEPcE +hairyfunc5(int (*(*)(char*))(long)) +hairyfunc5 +# +# This is from gcc PR 8861 +--format=gnu-v3 --no-params +_Z1fILi1ELc120EEv1AIXplT_cviLd810000000000000000703DAD7A370C5EEE +void f<1, (char)120>(A<(1)+((int)((double)[810000000000000000703DAD7A370C5]))>) +f<1, (char)120> +# +# This is also from gcc PR 8861 +--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 --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 --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 --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 --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 --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 --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 --no-params +_Z1fILin1EEvv +void f<-1>() +f<-1> +# +# Check a destructor of a standard substitution. +--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 --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 --no-params +_ZNK1C1fIiEEPFivEv +int (*C::f<int>() const)() +C::f<int> +# +# Another case where we got member function qualifiers wrong. +--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 --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 --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::*)() +# +# Multi-dimensional arrays with qualifiers on the inner dimensions. +--format=gnu-v3 --no-params +_Z3fooIA6_KiEvA9_KT_rVPrS4_ +void foo<int const [6]>(int const [9][6], int restrict const (* volatile restrict) [9][6]) +foo<int const [6]> +# +# From PR libstdc++/12736 +--format=gnu-v3 --no-params +_Z3fooIA3_iEvRKT_ +void foo<int [3]>(int const (&) [3]) +foo<int [3]> +# +# Related to PR libstdc++/12736 +--format=gnu-v3 --no-params +_Z3fooIPA3_iEvRKT_ +void foo<int (*) [3]>(int (* const&) [3]) +foo<int (*) [3]> +# +# This used to crash the demangler--PR 16240 +--format=gnu-v3 --no-params +_ZN13PatternDriver23StringScalarDeleteValueC1ERKNS_25ConflateStringScalarValueERKNS_25AbstractStringScalarValueERKNS_12TemplateEnumINS_12pdcomplementELZNS_16complement_namesEELZNS_14COMPLEMENTENUMEEEE +PatternDriver::StringScalarDeleteValue::StringScalarDeleteValue(PatternDriver::ConflateStringScalarValue const&, PatternDriver::AbstractStringScalarValue const&, PatternDriver::TemplateEnum<PatternDriver::pdcomplement, PatternDriver::complement_names, PatternDriver::COMPLEMENTENUM> const&) +PatternDriver::StringScalarDeleteValue::StringScalarDeleteValue +# +# This used to cause the demangler to walk into undefined memory--PR 22268 +--format=gnu-v3 --no-params +ALsetchannels +ALsetchannels +ALsetchannels +# 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. +# +# This is generated by an EDG compiler (kcc 4.0). To demangle it +# correctly, I believe that we have to understand that the J37J deep +# in the string somehow refers back to the type starting 37 characters +# in from some starting point, so that it winds up being the type +# starting with 41THandle.... However, lacking a spec for EDG +# demangling, it's hard to implement this. +# +# In the meantime, this symbol can be successfully demangled in GNU +# 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 --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 --no-params +_test_array__L_1__B23b___clean.6 +_test_array__L_1__B23b___clean.6 +_test_array__L_1__B23b___clean.6 +# +--format=java +_ZGAN4java4lang5Class7forNameEPNS0_6StringE +hidden alias for java.lang.Class.forName(java.lang.String) +# +# Test cases to verify encoding that determines if a return type is present +# Related to PR9861 +--format=java +_ZN4java4lang4Math4acosEJdd +java.lang.Math.acos(double)double +# +--format=auto +_ZN4java4lang4Math4acosEJdd +double java::lang::Math::acos(double) +# +--format=auto +_ZN4java4lang4Math4acosEJvd +void java::lang::Math::acos(double) +# +--format=auto --ret-postfix +_ZN4java4lang4Math4acosEJdd +java::lang::Math::acos(double)double +# +--format=gnu-v3 --no-params --ret-postfix +_Z4makeI7FactoryiET_IT0_Ev +make<Factory, int>()Factory<int> +make<Factory, int> +# +# From PR 28797 +--format=auto --no-params +_Z1fM1AKiPKS1_ +f(int const A::*, int const A::* const*) +f +# This used to cause a core dump in the demangler -- PR 29176 +--format=auto --no-params +SASDASDFASDF_sdfsdf +SASDASDFASDF_sdfsdf +SASDASDFASDF_sdfsdf +# These are all cases of invalid manglings where the demangler would read +# past the end of the string. +# d_name wasn't honouring a NULL from d_substitution +--format=gnu-v3 +_ZSA +_ZSA +# d_expr_primary wasn't honouring NULL from cplus_demangle_mangled_name +--format=gnu-v3 +_ZN1fIL_ +_ZN1fIL_ +# d_operator_name was taking two characters in a row +--format=gnu-v3 +_Za +_Za +# d_prefix wasn't honouring NULL from d_substitution +--format=gnu-v3 +_ZNSA +_ZNSA +# d_prefix wasn't honouring NULL from d_template_param +--format=gnu-v3 +_ZNT +_ZNT +# Dereferencing NULL in d_pointer_to_member_type +--format=gnu-v3 +_Z1aMark +_Z1aMark +# <local-source-name> test 1 +--format=gnu-v3 +_ZL3foo_2 +foo +# <local-source-name> test 2 +--format=gnu-v3 +_ZZL3foo_2vE4var1 +foo()::var1 +# <local-source-name> test 3 +--format=gnu-v3 +_ZZL3foo_2vE4var1_0 +foo()::var1 +# <local-source-name> test 4 +--format=gnu-v3 +_ZZN7myspaceL3foo_1EvEN11localstruct1fEZNS_3fooEvE16otherlocalstruct +myspace::foo()::localstruct::f(myspace::foo()::otherlocalstruct) +# Java resource name +--format=gnu-v3 +_ZGr32_java$Sutil$Siso4217$_properties +java resource java/util/iso4217.properties +# decltype/param placeholder test +--format=gnu-v3 +_Z3addIidEDTplfp_fp0_ET_T0_ +decltype ({parm#1}+{parm#2}) add<int, double>(int, double) +# decltype/fn call test +--format=gnu-v3 +_Z4add3IidEDTclL_Z1gEfp_fp0_EET_T0_ +decltype (g({parm#1}, {parm#2})) add3<int, double>(int, double) +# new (2008) built in types test +--format=gnu-v3 +_Z1fDfDdDeDhDsDi +f(decimal32, decimal64, decimal128, half, char16_t, char32_t) +# pack expansion test +--format=gnu-v3 +_Z1fIIPiPfPdEEvDpT_ +void f<int*, float*, double*>(int*, float*, double*) +# '.' test +--format=gnu-v3 +_Z1hI1AIiEdEDTcldtfp_1gIT0_EEET_S2_ +decltype (({parm#1}.(g<double>))()) h<A<int>, double>(A<int>, double) +# test for typed function in decltype +--format=gnu-v3 +_ZN1AIiE1jIiEEDTplfp_clL_Z1xvEEET_ +decltype ({parm#1}+((x())())) A<int>::j<int>(int) +# test for expansion of function parameter pack +--format=gnu-v3 +_Z1gIIidEEDTclL_Z1fEspplfp_Li1EEEDpT_ +decltype (f(({parm#1}+(1))...)) g<int, double>(int, double) +# lambda tests +--format=gnu-v3 +_ZZ1giENKUlvE_clEv +g(int)::{lambda()#1}::operator()() const +--format=gnu-v3 +_Z4algoIZ1giEUlvE0_EiT_ +int algo<g(int)::{lambda()#2}>(g(int)::{lambda()#2}) +--format=gnu-v3 +_ZZN1S1fEiiEd0_NKUlvE0_clEv +S::f(int, int)::{default arg#2}::{lambda()#2}::operator()() const +--format=gnu-v3 +_ZNK1SIiE1xMUlvE1_clEv +S<int>::x::{lambda()#3}::operator()() const +--format=gnu-v3 +_Z1fN1SUt_E +f(S::{unnamed type#1}) +--format=gnu-v3 +_Z1fDv32_f +f(float __vector(32)) +--format=gnu-v3 +_Z1fIfLi4EEvDv_T0__T_ +void f<float, 4>(float __vector(4)) +--format=gnu-v3 +_Z1fI1AEDTclonplfp_fp_EET_ +decltype ((operator+)({parm#1}, {parm#1})) f<A>(A) +--format=gnu-v3 +_Z1hI1AEDTcldtfp_miEET_ +decltype (({parm#1}.(operator-))()) h<A>(A) +--format=gnu-v3 +_Z1fDn +f(decltype(nullptr)) +--format=gnu-v3 +_ZN5aaaaa6bbbbbb5cccccIN23ddddddddddddddddddddddd3eeeENS2_4ffff16ggggggggggggggggENS0_9hhhhhhhhhES6_S6_S6_S6_S6_S6_S6_EE +aaaaa::bbbbbb::ccccc<ddddddddddddddddddddddd::eee, ddddddddddddddddddddddd::ffff::gggggggggggggggg, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh> +# +# Ada (GNAT) tests. +# +# Simple test. +--format=gnat +yz__qrs +yz.qrs +# Operator +--format=gnat +oper__Oadd +oper."+" +# Overloaded subprogram. +--format=gnat +yz__qrs__2 +yz.qrs +# Nested subprogram. +--format=gnat +yz__qrs__tuv.1661 +yz.qrs.tuv +# Nested and overloaded subprograms. +--format=gnat +yz__qrs__tuv__2_1.1667 +yz.qrs.tuv +--format=gnat +yz__qrs__tuv__2_2.1670 +yz.qrs.tuv +--format=gnat +yz__qrs__tuv__2_3.1674 +yz.qrs.tuv +# Elaborated flag (not demangled) +--format=gnat +x_E +<x_E> +# Nested package +--format=gnat +x__m1 +x.m1 +--format=gnat +x__m3 +x.m3 +--format=gnat +x__y__m2X +x.y.m2 +--format=gnat +x__y__z__rXb +x.y.z.r +# Child package +--format=gnat +x__y__j +x.y.j +# Library level +--format=gnat +_ada_x__m3 +x.m3 +# Package body elaborator +--format=gnat +p___elabb +p'Elab_Body +# Package spec elaborator +--format=gnat +p___elabs +p'Elab_Spec +# Task body +--format=gnat +p__taskobjTKB +p.taskobj +# Task subprogram +--format=gnat +p__taskobjTK__f1.2330 +p.taskobj.f1 +# Protected types subprograms +--format=gnat +prot__lock__getN +prot.lock.get +--format=gnat +prot__lock__getP +prot.lock.get +--format=gnat +prot__lock__get__sub.2590 +prot.lock.get.sub +--format=gnat +prot__lock__setN +prot.lock.set +--format=gnat +prot__lock__setP +prot.lock.set +# Protected type entries +--format=gnat +prot__lock__update_B7s +prot.lock.update +--format=gnat +prot__lock__update_E6s +prot.lock.update +# Controlled types +--format=gnat +gnat__sockets__sockets_library_controllerDF__2 +gnat.sockets.sockets_library_controller.Finalize +--format=gnat +system__partition_interface__racw_stub_typeDA +system.partition_interface.racw_stub_type.Adjust +# Stream operations +--format=gnat +gnat__wide_wide_string_split__slice_setSR__2 +gnat.wide_wide_string_split.slice_set'Read +--format=gnat +ada__real_time__timing_events__events__listSW__2Xnn +ada.real_time.timing_events.events.list'Write +--format=gnat +system__finalization_root__root_controlledSI +system.finalization_root.root_controlled'Input +--format=gnat +ada__finalization__limited_controlledSO__2 +ada.finalization.limited_controlled'Output +# Tagged types +--format=gnat +ada__synchronous_task_control___size__2 +ada.synchronous_task_control'Size +--format=gnat +ada__real_time__timing_events__events___alignment__2Xnn +ada.real_time.timing_events.events'Alignment +--format=gnat +system__finalization_root___assign__2 +system.finalization_root.":=" +# +# Used to crash the demangler. +--format=gnu-v3 +DFA +DFA +# +# http://sourceware.org/bugzilla/show_bug.cgi?id=11572 +--format=auto +_ZN3Psi7VariantIIcPKcEE5visitIIRZN11VariantTest9TestVisit11test_methodEvEUlS2_E0_RZNS6_11test_methodEvEUlcE1_RZNS6_11test_methodEvEUlNS_4NoneEE_EEENS_13VariantDetail19SelectVisitorResultIIDpT_EE4typeEDpOSG_ +Psi::VariantDetail::SelectVisitorResult<VariantTest::TestVisit::test_method()::{lambda(char const*)#2}&, VariantTest::TestVisit::test_method()::{lambda(char)#3}&, VariantTest::TestVisit::test_method()::{lambda(Psi::None)#1}&>::type Psi::Variant<char, char const*>::visit<VariantTest::TestVisit::test_method()::{lambda(char const*)#2}&, VariantTest::TestVisit::test_method()::{lambda(char)#3}&, VariantTest::TestVisit::test_method()::{lambda(Psi::None)#1}&>((VariantTest::TestVisit::test_method()::{lambda(Psi::None)#1}&&&)...) +# +# Clone suffix tests +# +--format=gnu-v3 --no-params +_Z3fo5n.clone.1 +fo5(__int128) [clone .clone.1] +fo5 +# +--format=gnu-v3 --no-params +_Z3fo5n.constprop.2 +fo5(__int128) [clone .constprop.2] +fo5 +# +--format=gnu-v3 --no-params +_Z3fo5n.isra.3 +fo5(__int128) [clone .isra.3] +fo5 +# +--format=gnu-v3 --no-params +_Z3fo5n.part.4 +fo5(__int128) [clone .part.4] +fo5 +# +--format=gnu-v3 --no-params +_Z12to_be_clonediPv.clone.0 +to_be_cloned(int, void*) [clone .clone.0] +to_be_cloned +# +--format=gnu-v3 --no-params +_Z3fooi.1988 +foo(int) [clone .1988] +foo +# +--format=gnu-v3 --no-params +_Z3fooi.part.9.165493.constprop.775.31805 +foo(int) [clone .part.9.165493] [clone .constprop.775.31805] +foo +# +--format=gnu-v3 --no-params +_Z2f1IiEvT_S0_S0_._omp_fn.2 +void f1<int>(int, int, int) [clone ._omp_fn.2] +f1<int> +# +--format=gnu-v3 --no-params +_Z3fooi._omp_cpyfn.6 +foo(int) [clone ._omp_cpyfn.6] +foo diff --git a/libiberty/testsuite/test-demangle.c b/libiberty/testsuite/test-demangle.c new file mode 100644 index 000000000..1c982d6ef --- /dev/null +++ b/libiberty/testsuite/test-demangle.c @@ -0,0 +1,345 @@ +/* Demangler test program, + Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Written by Zack Weinberg <zack@codesourcery.com + + This file is part of GNU libiberty. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "ansidecl.h" +#include <stdio.h> +#include "libiberty.h" +#include "demangle.h" +#ifdef HAVE_STRING_H +#include <string.h> +#endif +#if HAVE_STDLIB_H +# include <stdlib.h> +#endif + +struct line +{ + size_t alloced; + char *data; +}; + +static unsigned int lineno; + +/* Safely read a single line of arbitrary length from standard input. */ + +#define LINELEN 80 + +static void +get_line(buf) + struct line *buf; +{ + char *data = buf->data; + size_t alloc = buf->alloced; + size_t count = 0; + int c; + + if (data == 0) + { + data = xmalloc (LINELEN); + alloc = LINELEN; + } + + /* Skip comment lines. */ + while ((c = getchar()) == '#') + { + while ((c = getchar()) != EOF && c != '\n'); + lineno++; + } + + /* c is the first character on the line, and it's not a comment + line: copy this line into the buffer and return. */ + while (c != EOF && c != '\n') + { + if (count + 1 >= alloc) + { + alloc *= 2; + data = xrealloc (data, alloc); + } + data[count++] = c; + c = getchar(); + } + lineno++; + data[count] = '\0'; + + buf->data = data; + buf->alloced = alloc; +} + +/* If we have mmap() and mprotect(), copy the string S just before a + protected page, so that if the demangler runs over the end of the + string we'll get a fault, and return the address of the new string. + If no mmap, or it fails, or it looks too hard, just return S. */ + +#ifdef HAVE_SYS_MMAN_H +#include <sys/mman.h> +#endif +#if defined(MAP_ANON) && ! defined (MAP_ANONYMOUS) +#define MAP_ANONYMOUS MAP_ANON +#endif + +static const char * +protect_end (const char * s) +{ +#if defined(HAVE_MMAP) && defined (MAP_ANONYMOUS) + size_t pagesize = getpagesize(); + static char * buf; + size_t s_len = strlen (s); + char * result; + + /* Don't try if S is too long. */ + if (s_len >= pagesize) + return s; + + /* Allocate one page of allocated space followed by an unmapped + page. */ + if (buf == NULL) + { + buf = mmap (NULL, pagesize * 2, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + if (! buf) + return s; + munmap (buf + pagesize, pagesize); + } + + result = buf + (pagesize - s_len - 1); + memcpy (result, s, s_len + 1); + return result; +#else + return s; +#endif +} + +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 + + 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. + --ret-postfix Passes the DMGL_RET_POSTFIX option + + 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) + int argc; + char **argv; +{ + enum demangling_styles style = auto_demangling; + int no_params; + int is_v3_ctor; + int is_v3_dtor; + int ret_postfix; + struct line format; + struct line input; + struct line expect; + char *result; + int failures = 0; + int tests = 0; + + if (argc > 1) + { + fprintf (stderr, "usage: %s < test-set\n", argv[0]); + return 2; + } + + format.data = 0; + input.data = 0; + expect.data = 0; + + for (;;) + { + const char *inp; + + get_line (&format); + if (feof (stdin)) + break; + + get_line (&input); + get_line (&expect); + + inp = protect_end (input.data); + + tests++; + + no_params = 0; + ret_postfix = 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 + { + char *p; + char *opt; + + 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 if (strcmp (opt, "--ret-postfix") == 0) + ret_postfix = 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) + { + char buf[20]; + + if (is_v3_ctor) + { + enum gnu_v3_ctor_kinds kc; + + kc = is_gnu_v3_mangled_ctor (inp); + sprintf (buf, "%d", (int) kc); + } + else + { + enum gnu_v3_dtor_kinds kd; + + kd = is_gnu_v3_mangled_dtor (inp); + sprintf (buf, "%d", (int) kd); + } + + if (strcmp (buf, expect.data) != 0) + { + fail (lineno, format.data, input.data, buf, expect.data); + failures++; + } + + continue; + } + + cplus_demangle_set_style (style); + + result = cplus_demangle (inp, + DMGL_PARAMS|DMGL_ANSI|DMGL_TYPES + |(ret_postfix ? DMGL_RET_POSTFIX : 0)); + + if (result + ? strcmp (result, expect.data) + : strcmp (input.data, expect.data)) + { + fail (lineno, format.data, input.data, result, expect.data); + failures++; + } + free (result); + + if (no_params) + { + get_line (&expect); + result = cplus_demangle (inp, 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); + free (input.data); + free (expect.data); + + printf ("%s: %d tests, %d failures\n", argv[0], tests, failures); + return failures ? 1 : 0; +} diff --git a/libiberty/testsuite/test-expandargv.c b/libiberty/testsuite/test-expandargv.c new file mode 100644 index 000000000..dc44a1750 --- /dev/null +++ b/libiberty/testsuite/test-expandargv.c @@ -0,0 +1,331 @@ +/* expandargv test program, + Copyright (C) 2006 Free Software Foundation, Inc. + Written by Carlos O'Donell <carlos@codesourcery.com> + + This file is part of the libiberty library, which is part of GCC. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + In addition to the permissions in the GNU General Public License, the + Free Software Foundation gives you unlimited permission to link the + compiled version of this file into combinations with other programs, + and to distribute those combinations without any restriction coming + from the use of this file. (The General Public License restrictions + do apply in other respects; for example, they cover modification of + the file, and distribution when not linked into a combined + executable.) + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "libiberty.h" +#include <stdio.h> +#include <errno.h> +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#ifdef HAVE_STRING_H +#include <string.h> +#endif + +#ifndef EXIT_SUCCESS +#define EXIT_SUCCESS 0 +#endif + +#ifndef EXIT_FAILURE +#define EXIT_FAILURE 1 +#endif + +static void fatal_error (int, const char *, int) ATTRIBUTE_NORETURN; +void writeout_test (int, const char *); +void run_replaces (char *); +void hook_char_replace (char *, size_t, char, char); +int run_tests (const char **); +void erase_test (int); + +/* Test input data, argv before, and argv after: + + The \n is an important part of test_data since expandargv + may have to work in environments where \n is translated + as \r\n. Thus \n is included in the test data for the file. + + We use \b to indicate that the test data is the null character. + This is because we use \0 normally to represent the end of the + file data, so we need something else for this. */ + +#define FILENAME_PATTERN "test-expandargv-%d.lst" +#define ARGV0 "test-expandargv" + +const char *test_data[] = { + /* Test 0 - Check for expansion with \r\n */ + "a\r\nb", /* Test 0 data */ + ARGV0, + "@test-expandargv-0.lst", + 0, /* End of argv[] before expansion */ + ARGV0, + "a", + "b", + 0, /* End of argv[] after expansion */ + + /* Test 1 - Check for expansion with \n */ + "a\nb", /* Test 1 data */ + ARGV0, + "@test-expandargv-1.lst", + 0, + ARGV0, + "a", + "b", + 0, + + /* Test 2 - Check for expansion with \0 */ + "a\bb", /* Test 2 data */ + ARGV0, + "@test-expandargv-2.lst", + 0, + ARGV0, + "a", + 0, + + /* Test 3 - Check for expansion with only \0 */ + "\b", /* Test 3 data */ + ARGV0, + "@test-expandargv-3.lst", + 0, + ARGV0, + 0, + + /* Test 4 - Check for options beginning with an empty line. */ + "\na\nb", /* Test 4 data */ + ARGV0, + "@test-expandargv-4.lst", + 0, + ARGV0, + "a", + "b", + 0, + + /* Test 5 - Check for options containing an empty argument. */ + "a\n''\nb", /* Test 5 data */ + ARGV0, + "@test-expandargv-5.lst", + 0, + ARGV0, + "a", + "", + "b", + 0, + + /* Test 6 - Check for options containing a quoted newline. */ + "a\n'a\n\nb'\nb", /* Test 6 data */ + ARGV0, + "@test-expandargv-6.lst", + 0, + ARGV0, + "a", + "a\n\nb", + "b", + 0, + + 0 /* Test done marker, don't remove. */ +}; + +/* Print a fatal error and exit. LINE is the line number where we + detected the error, ERRMSG is the error message to print, and ERR + is 0 or an errno value to print. */ + +static void +fatal_error (int line, const char *errmsg, int err) +{ + fprintf (stderr, "test-expandargv:%d: %s", line, errmsg); + if (errno != 0) + fprintf (stderr, ": %s", xstrerror (err)); + fprintf (stderr, "\n"); + exit (EXIT_FAILURE); +} + +/* hook_char_replace: + Replace 'replacethis' with 'withthis' */ + +void +hook_char_replace (char *string, size_t len, char replacethis, char withthis) +{ + int i = 0; + for (i = 0; i < len; i++) + if (string[i] == replacethis) + string[i] = withthis; +} + +/* run_replaces: + Hook here all the character for character replaces. + Be warned that expanding the string or contracting the string + should be handled with care. */ + +void +run_replaces (char * string) +{ + /* Store original string size */ + size_t len = strlen (string); + hook_char_replace (string, len, '\b', '\0'); +} + +/* write_test: + Write test datafile */ + +void +writeout_test (int test, const char * test_data) +{ + char filename[256]; + FILE *fd; + size_t len, sys_fwrite; + char * parse; + + /* Unique filename per test */ + sprintf (filename, FILENAME_PATTERN, test); + fd = fopen (filename, "w"); + if (fd == NULL) + fatal_error (__LINE__, "Failed to create test file.", errno); + + /* Generate RW copy of data for replaces */ + len = strlen (test_data); + parse = malloc (sizeof (char) * (len + 1)); + if (parse == NULL) + fatal_error (__LINE__, "Failed to malloc parse.", errno); + + memcpy (parse, test_data, sizeof (char) * len); + /* Run all possible replaces */ + run_replaces (parse); + + sys_fwrite = fwrite (parse, sizeof (char), len, fd); + if (sys_fwrite != len) + fatal_error (__LINE__, "Failed to write to test file.", errno); + + free (parse); + fclose (fd); +} + +/* erase_test: + Erase the test file */ + +void +erase_test (int test) +{ + char filename[256]; + sprintf (filename, FILENAME_PATTERN, test); + if (unlink (filename) != 0) + fatal_error (__LINE__, "Failed to erase test file.", errno); +} + + +/* run_tests: + Run expandargv + Compare argv before and after. + Return number of fails */ + +int +run_tests (const char **test_data) +{ + int argc_after, argc_before; + char ** argv_before, ** argv_after; + int i, j, k, fails, failed; + + i = j = fails = 0; + /* Loop over all the tests */ + while (test_data[j]) + { + /* Write test data */ + writeout_test (i, test_data[j++]); + /* Copy argv before */ + argv_before = dupargv ((char **) &test_data[j]); + + /* Count argc before/after */ + argc_before = 0; + argc_after = 0; + while (test_data[j + argc_before]) + argc_before++; + j += argc_before + 1; /* Skip null */ + while (test_data[j + argc_after]) + argc_after++; + + /* Copy argv after */ + argv_after = dupargv ((char **) &test_data[j]); + + /* Run all possible replaces */ + for (k = 0; k < argc_before; k++) + run_replaces (argv_before[k]); + for (k = 0; k < argc_after; k++) + run_replaces (argv_after[k]); + + /* Run test: Expand arguments */ + expandargv (&argc_before, &argv_before); + + failed = 0; + /* Compare size first */ + if (argc_before != argc_after) + { + printf ("FAIL: test-expandargv-%d. Number of arguments don't match.\n", i); + failed++; + } + /* Compare each of the argv's ... */ + else + for (k = 0; k < argc_after; k++) + if (strcmp (argv_before[k], argv_after[k]) != 0) + { + printf ("FAIL: test-expandargv-%d. Arguments don't match.\n", i); + failed++; + } + + if (!failed) + printf ("PASS: test-expandargv-%d.\n", i); + else + fails++; + + freeargv (argv_before); + freeargv (argv_after); + /* Advance to next test */ + j += argc_after + 1; + /* Erase test file */ + erase_test (i); + i++; + } + return fails; +} + +/* main: + Run tests. + Check result and exit with appropriate code. */ + +int +main(int argc, char **argv) +{ + int fails; + /* Repeat for all the tests: + - Parse data array and write into file. + - Run replace hooks before writing to file. + - Parse data array and build argv before/after. + - Run replace hooks on argv before/after + - Run expandargv. + - Compare output of expandargv argv to after argv. + - If they compare the same then test passes + else the test fails. + - Erase test file. */ + + fails = run_tests (test_data); + if (!fails) + exit (EXIT_SUCCESS); + else + exit (EXIT_FAILURE); +} + diff --git a/libiberty/testsuite/test-pexecute.c b/libiberty/testsuite/test-pexecute.c new file mode 100644 index 000000000..8e01fda47 --- /dev/null +++ b/libiberty/testsuite/test-pexecute.c @@ -0,0 +1,522 @@ +/* Pexecute test program, + Copyright (C) 2005 Free Software Foundation, Inc. + Written by Ian Lance Taylor <ian@airs.com>. + + This file is part of GNU libiberty. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "ansidecl.h" +#include "libiberty.h" +#include <stdio.h> +#include <signal.h> +#include <errno.h> +#ifdef HAVE_STRING_H +#include <string.h> +#endif +#include <sys/types.h> +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif +#ifdef HAVE_SYS_WAIT_H +#include <sys/wait.h> +#endif +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif +#ifdef HAVE_SYS_RESOURCE_H +#include <sys/resource.h> +#endif + +#ifndef WIFSIGNALED +#define WIFSIGNALED(S) (((S) & 0xff) != 0 && ((S) & 0xff) != 0x7f) +#endif +#ifndef WTERMSIG +#define WTERMSIG(S) ((S) & 0x7f) +#endif +#ifndef WIFEXITED +#define WIFEXITED(S) (((S) & 0xff) == 0) +#endif +#ifndef WEXITSTATUS +#define WEXITSTATUS(S) (((S) & 0xff00) >> 8) +#endif +#ifndef WSTOPSIG +#define WSTOPSIG WEXITSTATUS +#endif +#ifndef WCOREDUMP +#define WCOREDUMP(S) ((S) & WCOREFLG) +#endif +#ifndef WCOREFLG +#define WCOREFLG 0200 +#endif + +#ifndef EXIT_SUCCESS +#define EXIT_SUCCESS 0 +#endif + +#ifndef EXIT_FAILURE +#define EXIT_FAILURE 1 +#endif + +/* When this program is run with no arguments, it runs some tests of + the libiberty pexecute functions. As a test program, it simply + invokes itself with various arguments. + + argv[1]: + *empty string* Run tests, exit with success status + exit Exit success + error Exit error + abort Abort + echo Echo remaining arguments, exit success + echoerr Echo next arg to stdout, next to stderr, repeat + copy Copy stdin to stdout + write Write stdin to file named in next argument +*/ + +static void fatal_error (int, const char *, int) ATTRIBUTE_NORETURN; +static void error (int, const char *); +static void check_line (int, FILE *, const char *); +static void do_cmd (int, char **) ATTRIBUTE_NORETURN; + +/* The number of errors we have seen. */ + +static int error_count; + +/* Print a fatal error and exit. LINE is the line number where we + detected the error, ERRMSG is the error message to print, and ERR + is 0 or an errno value to print. */ + +static void +fatal_error (int line, const char *errmsg, int err) +{ + fprintf (stderr, "test-pexecute:%d: %s", line, errmsg); + if (errno != 0) + fprintf (stderr, ": %s", xstrerror (err)); + fprintf (stderr, "\n"); + exit (EXIT_FAILURE); +} + +#define FATAL_ERROR(ERRMSG, ERR) fatal_error (__LINE__, ERRMSG, ERR) + +/* Print an error message and bump the error count. LINE is the line + number where we detected the error, ERRMSG is the error to + print. */ + +static void +error (int line, const char *errmsg) +{ + fprintf (stderr, "test-pexecute:%d: %s\n", line, errmsg); + ++error_count; +} + +#define ERROR(ERRMSG) error (__LINE__, ERRMSG) + +/* Check a line in a file. */ + +static void +check_line (int line, FILE *e, const char *str) +{ + const char *p; + int c; + char buf[1000]; + + p = str; + while (1) + { + c = getc (e); + + if (*p == '\0') + { + if (c != '\n') + { + snprintf (buf, sizeof buf, "got '%c' when expecting newline", c); + fatal_error (line, buf, 0); + } + c = getc (e); + if (c != EOF) + { + snprintf (buf, sizeof buf, "got '%c' when expecting EOF", c); + fatal_error (line, buf, 0); + } + return; + } + + if (c != *p) + { + snprintf (buf, sizeof buf, "expected '%c', got '%c'", *p, c); + fatal_error (line, buf, 0); + } + + ++p; + } +} + +#define CHECK_LINE(E, STR) check_line (__LINE__, E, STR) + +/* Main function for the pexecute tester. Run the tests. */ + +int +main (int argc, char **argv) +{ + int trace; + struct pex_obj *test_pex_tmp; + int test_pex_status; + FILE *test_pex_file; + struct pex_obj *pex1; + char *subargv[10]; + int status; + FILE *e; + int statuses[10]; + + trace = 0; + if (argc > 1 && strcmp (argv[1], "-t") == 0) + { + trace = 1; + --argc; + ++argv; + } + + if (argc > 1) + do_cmd (argc, argv); + +#define TEST_PEX_INIT(FLAGS, TEMPBASE) \ + (((test_pex_tmp = pex_init (FLAGS, "test-pexecute", TEMPBASE)) \ + != NULL) \ + ? test_pex_tmp \ + : (FATAL_ERROR ("pex_init failed", 0), NULL)) + +#define TEST_PEX_RUN(PEXOBJ, FLAGS, EXECUTABLE, ARGV, OUTNAME, ERRNAME) \ + do \ + { \ + int err; \ + const char *pex_run_err; \ + if (trace) \ + fprintf (stderr, "Line %d: running %s %s\n", \ + __LINE__, EXECUTABLE, ARGV[0]); \ + pex_run_err = pex_run (PEXOBJ, FLAGS, EXECUTABLE, ARGV, OUTNAME, \ + ERRNAME, &err); \ + if (pex_run_err != NULL) \ + FATAL_ERROR (pex_run_err, err); \ + } \ + while (0) + +#define TEST_PEX_GET_STATUS_1(PEXOBJ) \ + (pex_get_status (PEXOBJ, 1, &test_pex_status) \ + ? test_pex_status \ + : (FATAL_ERROR ("pex_get_status failed", errno), 1)) + +#define TEST_PEX_GET_STATUS(PEXOBJ, COUNT, VECTOR) \ + do \ + { \ + if (!pex_get_status (PEXOBJ, COUNT, VECTOR)) \ + FATAL_ERROR ("pex_get_status failed", errno); \ + } \ + while (0) + +#define TEST_PEX_READ_OUTPUT(PEXOBJ) \ + ((test_pex_file = pex_read_output (PEXOBJ, 0)) != NULL \ + ? test_pex_file \ + : (FATAL_ERROR ("pex_read_output failed", errno), NULL)) + + remove ("temp.x"); + remove ("temp.y"); + + memset (subargv, 0, sizeof subargv); + + subargv[0] = "./test-pexecute"; + + pex1 = TEST_PEX_INIT (PEX_USE_PIPES, NULL); + subargv[1] = "exit"; + subargv[2] = NULL; + TEST_PEX_RUN (pex1, PEX_LAST, "./test-pexecute", subargv, NULL, NULL); + status = TEST_PEX_GET_STATUS_1 (pex1); + if (!WIFEXITED (status) || WEXITSTATUS (status) != EXIT_SUCCESS) + ERROR ("exit failed"); + pex_free (pex1); + + pex1 = TEST_PEX_INIT (PEX_USE_PIPES, NULL); + subargv[1] = "error"; + subargv[2] = NULL; + TEST_PEX_RUN (pex1, PEX_LAST, "./test-pexecute", subargv, NULL, NULL); + status = TEST_PEX_GET_STATUS_1 (pex1); + if (!WIFEXITED (status) || WEXITSTATUS (status) != EXIT_FAILURE) + ERROR ("error test failed"); + pex_free (pex1); + + /* We redirect stderr to a file to avoid an error message which is + printed on mingw32 when the child calls abort. */ + pex1 = TEST_PEX_INIT (PEX_USE_PIPES, NULL); + subargv[1] = "abort"; + subargv[2] = NULL; + TEST_PEX_RUN (pex1, PEX_LAST, "./test-pexecute", subargv, NULL, "temp.z"); + status = TEST_PEX_GET_STATUS_1 (pex1); + if (!WIFSIGNALED (status) || WTERMSIG (status) != SIGABRT) + ERROR ("abort failed"); + pex_free (pex1); + remove ("temp.z"); + + pex1 = TEST_PEX_INIT (PEX_USE_PIPES, "temp"); + subargv[1] = "echo"; + subargv[2] = "foo"; + subargv[3] = NULL; + TEST_PEX_RUN (pex1, 0, "./test-pexecute", subargv, NULL, NULL); + e = TEST_PEX_READ_OUTPUT (pex1); + CHECK_LINE (e, "foo"); + if (TEST_PEX_GET_STATUS_1 (pex1) != 0) + ERROR ("echo exit status failed"); + pex_free (pex1); + + pex1 = TEST_PEX_INIT (PEX_USE_PIPES, "temp"); + subargv[1] = "echo"; + subargv[2] = "bar"; + subargv[3] = NULL; + TEST_PEX_RUN (pex1, PEX_SUFFIX, "./test-pexecute", subargv, ".x", NULL); + subargv[1] = "copy"; + subargv[2] = NULL; + TEST_PEX_RUN (pex1, PEX_SUFFIX, "./test-pexecute", subargv, ".y", NULL); + e = TEST_PEX_READ_OUTPUT (pex1); + CHECK_LINE (e, "bar"); + TEST_PEX_GET_STATUS (pex1, 2, statuses); + if (!WIFEXITED (statuses[0]) || WEXITSTATUS (statuses[0]) != EXIT_SUCCESS + || !WIFEXITED (statuses[1]) || WEXITSTATUS (statuses[1]) != EXIT_SUCCESS) + ERROR ("copy exit status failed"); + pex_free (pex1); + if (fopen ("temp.x", "r") != NULL || fopen ("temp.y", "r") != NULL) + ERROR ("temporary files exist"); + + pex1 = TEST_PEX_INIT (0, "temp"); + subargv[1] = "echo"; + subargv[2] = "bar"; + subargv[3] = NULL; + TEST_PEX_RUN (pex1, PEX_SUFFIX, "./test-pexecute", subargv, ".x", NULL); + subargv[1] = "copy"; + subargv[2] = NULL; + TEST_PEX_RUN (pex1, PEX_SUFFIX, "./test-pexecute", subargv, ".y", NULL); + e = TEST_PEX_READ_OUTPUT (pex1); + CHECK_LINE (e, "bar"); + TEST_PEX_GET_STATUS (pex1, 2, statuses); + if (!WIFEXITED (statuses[0]) || WEXITSTATUS (statuses[0]) != EXIT_SUCCESS + || !WIFEXITED (statuses[1]) || WEXITSTATUS (statuses[1]) != EXIT_SUCCESS) + ERROR ("copy exit status failed"); + pex_free (pex1); + if (fopen ("temp.x", "r") != NULL || fopen ("temp.y", "r") != NULL) + ERROR ("temporary files exist"); + + pex1 = TEST_PEX_INIT (PEX_SAVE_TEMPS, "temp"); + subargv[1] = "echo"; + subargv[2] = "quux"; + subargv[3] = NULL; + TEST_PEX_RUN (pex1, PEX_SUFFIX, "./test-pexecute", subargv, ".x", NULL); + subargv[1] = "copy"; + subargv[2] = NULL; + TEST_PEX_RUN (pex1, PEX_SUFFIX, "./test-pexecute", subargv, ".y", NULL); + e = TEST_PEX_READ_OUTPUT (pex1); + CHECK_LINE (e, "quux"); + TEST_PEX_GET_STATUS (pex1, 2, statuses); + if (!WIFEXITED (statuses[0]) || WEXITSTATUS (statuses[0]) != EXIT_SUCCESS + || !WIFEXITED (statuses[1]) || WEXITSTATUS (statuses[1]) != EXIT_SUCCESS) + ERROR ("copy temp exit status failed"); + e = fopen ("temp.x", "r"); + if (e == NULL) + FATAL_ERROR ("fopen temp.x failed in copy temp", errno); + CHECK_LINE (e, "quux"); + fclose (e); + e = fopen ("temp.y", "r"); + if (e == NULL) + FATAL_ERROR ("fopen temp.y failed in copy temp", errno); + CHECK_LINE (e, "quux"); + fclose (e); + pex_free (pex1); + remove ("temp.x"); + remove ("temp.y"); + + pex1 = TEST_PEX_INIT (PEX_USE_PIPES, "temp"); + subargv[1] = "echoerr"; + subargv[2] = "one"; + subargv[3] = "two"; + subargv[4] = NULL; + TEST_PEX_RUN (pex1, PEX_SUFFIX, "./test-pexecute", subargv, ".x", "temp2.x"); + subargv[1] = "write"; + subargv[2] = "temp2.y"; + subargv[3] = NULL; + TEST_PEX_RUN (pex1, PEX_SUFFIX, "./test-pexecute", subargv, ".y", NULL); + TEST_PEX_GET_STATUS (pex1, 2, statuses); + if (!WIFEXITED (statuses[0]) || WEXITSTATUS (statuses[0]) != EXIT_SUCCESS + || !WIFEXITED (statuses[1]) || WEXITSTATUS (statuses[1]) != EXIT_SUCCESS) + ERROR ("echoerr exit status failed"); + pex_free (pex1); + if (fopen ("temp.x", "r") != NULL || fopen ("temp.y", "r") != NULL) + ERROR ("temporary files exist"); + e = fopen ("temp2.x", "r"); + if (e == NULL) + FATAL_ERROR ("fopen temp2.x failed in echoerr", errno); + CHECK_LINE (e, "two"); + fclose (e); + e = fopen ("temp2.y", "r"); + if (e == NULL) + FATAL_ERROR ("fopen temp2.y failed in echoerr", errno); + CHECK_LINE (e, "one"); + fclose (e); + remove ("temp2.x"); + remove ("temp2.y"); + + /* Test the old pexecute interface. */ + { + int pid1, pid2; + char *errmsg_fmt; + char *errmsg_arg; + char errbuf1[1000]; + char errbuf2[1000]; + + subargv[1] = "echo"; + subargv[2] = "oldpexecute"; + subargv[3] = NULL; + pid1 = pexecute ("./test-pexecute", subargv, "test-pexecute", "temp", + &errmsg_fmt, &errmsg_arg, PEXECUTE_FIRST); + if (pid1 < 0) + { + snprintf (errbuf1, sizeof errbuf1, errmsg_fmt, errmsg_arg); + snprintf (errbuf2, sizeof errbuf2, "pexecute 1 failed: %s", errbuf1); + FATAL_ERROR (errbuf2, 0); + } + + subargv[1] = "write"; + subargv[2] = "temp.y"; + subargv[3] = NULL; + pid2 = pexecute ("./test-pexecute", subargv, "test-pexecute", "temp", + &errmsg_fmt, &errmsg_arg, PEXECUTE_LAST); + if (pid2 < 0) + { + snprintf (errbuf1, sizeof errbuf1, errmsg_fmt, errmsg_arg); + snprintf (errbuf2, sizeof errbuf2, "pexecute 2 failed: %s", errbuf1); + FATAL_ERROR (errbuf2, 0); + } + + if (pwait (pid1, &status, 0) < 0) + FATAL_ERROR ("write pwait 1 failed", errno); + if (!WIFEXITED (status) || WEXITSTATUS (status) != EXIT_SUCCESS) + ERROR ("write exit status 1 failed"); + + if (pwait (pid2, &status, 0) < 0) + FATAL_ERROR ("write pwait 1 failed", errno); + if (!WIFEXITED (status) || WEXITSTATUS (status) != EXIT_SUCCESS) + ERROR ("write exit status 2 failed"); + + e = fopen ("temp.y", "r"); + if (e == NULL) + FATAL_ERROR ("fopen temp.y failed in copy temp", errno); + CHECK_LINE (e, "oldpexecute"); + fclose (e); + + remove ("temp.y"); + } + + if (trace) + fprintf (stderr, "Exiting with status %d\n", error_count); + + return error_count; +} + +/* Execute one of the special testing commands. */ + +static void +do_cmd (int argc, char **argv) +{ + const char *s; + + /* Try to prevent generating a core dump. */ +#ifdef RLIMIT_CORE + { + struct rlimit r; + + r.rlim_cur = 0; + r.rlim_max = 0; + setrlimit (RLIMIT_CORE, &r); + } +#endif + + s = argv[1]; + if (strcmp (s, "exit") == 0) + exit (EXIT_SUCCESS); + else if (strcmp (s, "echo") == 0) + { + int i; + + for (i = 2; i < argc; ++i) + { + if (i > 2) + putchar (' '); + fputs (argv[i], stdout); + } + putchar ('\n'); + exit (EXIT_SUCCESS); + } + else if (strcmp (s, "echoerr") == 0) + { + int i; + + for (i = 2; i < argc; ++i) + { + if (i > 3) + putc (' ', (i & 1) == 0 ? stdout : stderr); + fputs (argv[i], (i & 1) == 0 ? stdout : stderr); + } + putc ('\n', stdout); + putc ('\n', stderr); + exit (EXIT_SUCCESS); + } + else if (strcmp (s, "error") == 0) + exit (EXIT_FAILURE); + else if (strcmp (s, "abort") == 0) + abort (); + else if (strcmp (s, "copy") == 0) + { + int c; + + while ((c = getchar ()) != EOF) + putchar (c); + exit (EXIT_SUCCESS); + } + else if (strcmp (s, "write") == 0) + { + FILE *e; + int c; + + e = fopen (argv[2], "w"); + if (e == NULL) + FATAL_ERROR ("fopen for write failed", errno); + while ((c = getchar ()) != EOF) + putc (c, e); + if (fclose (e) != 0) + FATAL_ERROR ("fclose for write failed", errno); + exit (EXIT_SUCCESS); + } + else + { + char buf[1000]; + + snprintf (buf, sizeof buf, "unrecognized command %s", argv[1]); + FATAL_ERROR (buf, 0); + } + + exit (EXIT_FAILURE); +} |