# Copyright (C) 1992, 1997, 1999, 2003, 2004 Free Software Foundation, Inc.

# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  

# This file was written by Fred Fish. (fnf@cygnus.com)

if $tracelevel then {
    strace $tracelevel
}

if { [skip_cplus_tests] } { continue }

### The demangling style we last sent to GDB.
set current_demangling_style none

### Set GDB's current demangling style to STYLE.  Subsequent calls to
### test_demangle will include STYLE in the test name when reporting
### passes and failures.
proc set_demangling_style {style} {
    global gdb_prompt
    global current_demangling_style

    send_gdb "set demangle-style $style\n"
    gdb_expect {
	-re "set demangle-style $style\[\r\n\]+$gdb_prompt $" {
	    pass "$style: set demangle-style"
	}
	-re ".*$gdb_prompt $" {
	    fail "$style: set demangle-style"
	    error "set_demangling_style: set style"
	}
	timeout { 
	    fail "$style: set demangle-style (timeout)"
	    error "set_demangling_style: set style"
	}
    }

    send_gdb "show demangle-style\n"
    gdb_expect {
	-re "The current C\[+\]+ demangling style is \"$style\".\r\n$gdb_prompt $" { 
	    pass "$style: check demangling style"
	}
	-re ".*$gdb_prompt $" {
	    fail "$style: check demangling style"
	    error "set_demangling_style: check style"
	}
	timeout { 
	    fail "$style: check demangling style (timeout)" 
	    error "set_demangling_style: check style"
	}
    }

    set current_demangling_style $style
}


### Utility function for test_demangling and test_demangling_exact.
proc test_demangling_core {tester test result} {
    global current_demangling_style

    if {! [regexp {^([^ ]+): (.+)$} $test dummy style name]} {
      error "bad test name passed to test_demangling"
    }

    if {[string compare $style $current_demangling_style]} {
	set_demangling_style $style
    }

    $tester "maintenance demangle $name" $result $test
}

### Demangle an identifier, and check that the result matches a pattern.
###
### TEST should be of the form "STYLE: NAME", where STYLE is the name
### of a demangling style (like "gnu" or "arm"), and NAME is a mangled
### identifier to demangle.  Pass when the result matches the regular
### expression RESULT.  Report passes and fails using TEST as the name
### of the test.
###
### Why don't we just pass the STYLE and NAME as two separate
### arguments, or let the style be a global variable?  That would be
### cleaner.  However, doing it this way means that:
### 
### 1) the name of the test, as recorded in the summary and log,
### appears verbatim in the script, and
### 
### 2) that test names are unique, even though we try to demangle the same
### identifiers using several different mangling styles.
### 
### This makes it a lot easier for people tracking down failures to
### find the one they care about.

proc test_demangling {test result} {
    test_demangling_core gdb_test $test $result
}

### Like test_demangling, above, except that RESULT is not a regexp,
### but a string that must match exactly.

proc test_demangling_exact {test result} {
    test_demangling_core gdb_test_exact $test $result
}



#
#  Test gnu style name demangling
#

proc test_gnu_style_demangling {} {
    global gdb_prompt

    test_demangling "gnu: Abort__FP6EditoriPCc" \
	"Abort\[(\]+Editor \[*\]+, int, (const char|char const) \[*\]+\[)\]+"
    test_demangling_exact "gnu: AddAlignment__9ivTSolverUiP12ivInteractorP7ivTGlue" "ivTSolver::AddAlignment(unsigned int, ivInteractor *, ivTGlue *)"
    test_demangling "gnu: Append__15NameChooserViewPCc" \
	"NameChooserView::Append\[(\]+(const char|char const) \[*\]+\[)\]+"
    test_demangling_exact "gnu: ArrowheadIntersects__9ArrowLineP9ArrowheadR6BoxObjP7Graphic" "ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &, Graphic *)"
    test_demangling_exact "gnu: AtEnd__13ivRubberGroup" "ivRubberGroup::AtEnd(void)"
    test_demangling_exact "gnu: BgFilter__9ivTSolverP12ivInteractor" "ivTSolver::BgFilter(ivInteractor *)"
    test_demangling "gnu: BitPatterntoa__FRC10BitPatternccc" \
	"BitPatterntoa\[(\]+(const BitPattern|BitPattern const) &, char, char, char\[)\]+"
    test_demangling_exact "gnu: Check__6UArrayi" "UArray::Check(int)"
    test_demangling_exact "gnu: CoreConstDecls__8TextCodeR7ostream" "TextCode::CoreConstDecls(ostream &)"
    test_demangling_exact "gnu: Detach__8StateVarP12StateVarView" "StateVar::Detach(StateVarView *)"
    test_demangling_exact "gnu: Done__9ComponentG8Iterator" "Component::Done(Iterator)"
    test_demangling "gnu: DrawDestinationTransformedImage__FP7_XImageiiT0iiUlUiiiUiUlUlP4_XGCRC13ivTransformeriiii" \
	"DrawDestinationTransformedImage\[(\]+_XImage \[*\]+, int, int, _XImage \[*\]+, int, int, unsigned long, unsigned int, int, int, unsigned int, unsigned long, unsigned long, _XGC \[*\]+, (const ivTransformer|ivTransformer const) &, int, int, int, int\[)\]+"

    test_demangling "gnu: Edit__12StringEditorPCcii" \
	"StringEditor::Edit\[(\]+(const char|char const) \[*\]+, int, int\[)\]+"
    test_demangling_exact "gnu: Effect__11RelateManipR7ivEvent" "RelateManip::Effect(ivEvent &)"
    test_demangling "gnu: FilterName__FPCc" \
	"FilterName\[(\]+(const char|char const) \[*\]+\[)\]+"
    test_demangling "gnu: Filter__6PSTextPCci" \
	"PSText::Filter\[(\]+(const char|char const) \[*\]+, int\[)\]+"
    test_demangling "gnu: FindColor__7CatalogPCciii" \
	"Catalog::FindColor\[(\]+(const char|char const) \[*\]+, int, int, int\[)\]+"
    test_demangling_exact "gnu: FindFixed__FRP4CNetP4CNet" "FindFixed(CNet *&, CNet *)"
    test_demangling "gnu: FindFont__7CatalogPCcN21" \
	"Catalog::FindFont\[(\]+(const char|char const) \[*\]+, (const char|char const) \[*\]+, (const char|char const) \[*\]+\[)\]+"
    test_demangling_exact "gnu: Fix48_abort__FR8twolongs" "Fix48_abort(twolongs &)"
    test_demangling_exact "gnu: GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveRiT2" "iv2_6_VScroller::GetBarInfo(ivPerspective *, int &, int &)"
    test_demangling_exact "gnu: GetBgColor__C9ivPainter" "ivPainter::GetBgColor(void) const"

    test_demangling "gnu: Iisdouble__FPC6IntRep" \
	"Iisdouble\[(\]+(const IntRep|IntRep const) \[*\]+\[)\]+"
    test_demangling_exact "gnu: InsertBody__15H_PullrightMenuii" "H_PullrightMenu::InsertBody(int, int)"
    test_demangling_exact "gnu: InsertCharacter__9TextManipc" "TextManip::InsertCharacter(char)"

    test_demangling_exact "gnu: InsertToplevel__7ivWorldP12ivInteractorT1" "ivWorld::InsertToplevel(ivInteractor *, ivInteractor *)"
    test_demangling_exact "gnu: InsertToplevel__7ivWorldP12ivInteractorT1iiUi" "ivWorld::InsertToplevel(ivInteractor *, ivInteractor *, int, int, unsigned int)"
    test_demangling "gnu: IsADirectory__FPCcR4stat" \
	"IsADirectory\[(\]+(const char|char const) \[*\]+, stat &\[)\]+"
    test_demangling_exact "gnu: IsAGroup__FP11GraphicViewP11GraphicComp" "IsAGroup(GraphicView *, GraphicComp *)"
    test_demangling_exact "gnu: IsA__10ButtonCodeUl" "ButtonCode::IsA(unsigned long)"

    test_demangling_exact "gnu: ReadName__FR7istreamPc" "ReadName(istream &, char *)"
    test_demangling_exact "gnu: Redraw__13StringBrowseriiii" "StringBrowser::Redraw(int, int, int, int)"
    test_demangling_exact "gnu: Rotate__13ivTransformerf" "ivTransformer::Rotate(float)"
    test_demangling_exact "gnu: Rotated__C13ivTransformerf" "ivTransformer::Rotated(float) const"
    test_demangling_exact "gnu: Round__Ff" "Round(float)"

    test_demangling_exact "gnu: SetExport__16MemberSharedNameUi" "MemberSharedName::SetExport(unsigned int)"
    test_demangling_exact "gnu: Set__14ivControlState13ControlStatusUi" "ivControlState::Set(ControlStatus, unsigned int)"
    test_demangling_exact "gnu: Set__5DFacePcii" "DFace::Set(char *, int, int)"

    test_demangling_exact "gnu: VConvert__9ivTSolverP12ivInteractorRP8TElementT2" "ivTSolver::VConvert(ivInteractor *, TElement *&, TElement *&)"
    test_demangling_exact "gnu: VConvert__9ivTSolverP7ivTGlueRP8TElement" "ivTSolver::VConvert(ivTGlue *, TElement *&)"
    test_demangling_exact "gnu: VOrder__9ivTSolverUiRP12ivInteractorT2" "ivTSolver::VOrder(unsigned int, ivInteractor *&, ivInteractor *&)"
    test_demangling "gnu: Valid__7CatalogPCcRP4Tool" \
	"Catalog::Valid\[(\]+(const char|char const) \[*\]+, Tool \[*\]+&\[)\]+"
    test_demangling_exact "gnu: _10PageButton\$__both" "PageButton::__both"
    test_demangling_exact "gnu: _3RNG\$singleMantissa" "RNG::singleMantissa"
    test_demangling_exact "gnu: _5IComp\$_release" "IComp::_release"
    test_demangling_exact "gnu: _\$_10BitmapComp" "BitmapComp::~BitmapComp(void)"

    test_demangling_exact "gnu: _\$_9__io_defs" "__io_defs::~__io_defs(void)"
    test_demangling_exact "gnu: _\$_Q23foo3bar" "foo::bar::~bar(void)"
    test_demangling_exact "gnu: _\$_Q33foo3bar4bell" "foo::bar::bell::~bell(void)"
    test_demangling_exact "gnu: __10ivTelltaleiP7ivGlyph" "ivTelltale::ivTelltale(int, ivGlyph *)"
    test_demangling_exact "gnu: __10ivViewportiP12ivInteractorUi" "ivViewport::ivViewport(int, ivInteractor *, unsigned int)"
    test_demangling_exact "gnu: __10ostrstream" "ostrstream::ostrstream(void)"
    test_demangling_exact "gnu: __10ostrstreamPcii" "ostrstream::ostrstream(char *, int, int)"
    test_demangling "gnu: __11BasicDialogiPCcP13ivButtonStateN22Ui" \
	"BasicDialog::BasicDialog\[(\]+int, (const char|char const) \[*\]+, ivButtonState \[*\]+, (const char|char const) \[*\]+, (const char|char const) \[*\]+, unsigned int\[)\]+"
    test_demangling_exact "gnu: __11BitmapTablei" "BitmapTable::BitmapTable(int)"
    test_demangling_exact "gnu: __12ViewportCodeP12ViewportComp" "ViewportCode::ViewportCode(ViewportComp *)"
    test_demangling "gnu: __12iv2_6_BorderiPCci" \
	"iv2_6_Border::iv2_6_Border\[(\]+int, (const char|char const) \[*\]+, int\[)\]+"
    test_demangling_exact "gnu: __12iv2_6_Borderii" "iv2_6_Border::iv2_6_Border(int, int)"
    test_demangling "gnu: __12ivBackgroundiP7ivGlyphPC7ivColor" \
	"ivBackground::ivBackground\[(\]+int, ivGlyph \[*\]+, (const ivColor|ivColor const) \[*\]+\[)\]+"
    test_demangling_exact "gnu: __12ivBreak_Listl" "ivBreak_List::ivBreak_List(long)"
    test_demangling "gnu: __14TextInteractoriPCcUi" \
	"TextInteractor::TextInteractor\[(\]+int, (const char|char const) \[*\]+, unsigned int\[)\]+"
    test_demangling_exact "gnu: __14iv2_6_MenuItemiP12ivInteractor" "iv2_6_MenuItem::iv2_6_MenuItem(int, ivInteractor *)"
    test_demangling "gnu: __14iv2_6_MenuItemiPCcP12ivInteractor" \
	"iv2_6_MenuItem::iv2_6_MenuItem\[(\]+int, (const char|char const) \[*\]+, ivInteractor \[*\]+\[)\]+"

    test_demangling_exact "gnu: __20DisplayList_IteratorR11DisplayList" "DisplayList_Iterator::DisplayList_Iterator(DisplayList &)"
    test_demangling_exact "gnu: __3fooRT0" "foo::foo(foo &)"
    test_demangling_exact "gnu: __3fooiN31" "foo::foo(int, int, int, int)"
    test_demangling "gnu: __3fooiPCc" \
	"foo::foo\[(\]+int, (const char|char const) \[*\]+\[)\]+"
    test_demangling_exact "gnu: __3fooiRT0iT2iT2" "foo::foo(int, foo &, int, foo &, int, foo &)"
    test_demangling "gnu: __6GetOptiPPcPCc" \
	"GetOpt::GetOpt\[(\]+int, char \[*\]+\[*\]+, (const char|char const) \[*\]+\[)\]+"
    test_demangling_exact "gnu: __6KeyMapPT0" "KeyMap::KeyMap(KeyMap *)"
    test_demangling "gnu: __7ivWorldPCcRiPPcPC12ivOptionDescPC14ivPropertyData" \
	"ivWorld::ivWorld\[(\]+(const char|char const) \[*\]+, int &, char \[*\]+\[*\]+, (const ivOptionDesc|ivOptionDesc const) \[*\]+, (const ivPropertyData|ivPropertyData const) \[*\]+\[)\]+"
    test_demangling "gnu: __7procbufPCci" \
	"procbuf::procbuf\[(\]+(const char|char const) \[*\]+, int\[)\]+"
    test_demangling_exact "gnu: __8ArrowCmdP6EditorUiUi" "ArrowCmd::ArrowCmd(Editor *, unsigned int, unsigned int)"

    test_demangling_exact "gnu: __9F_EllipseiiiiP7Graphic" "F_Ellipse::F_Ellipse(int, int, int, int, Graphic *)"
    test_demangling_exact "gnu: __9FrameDataP9FrameCompi" "FrameData::FrameData(FrameComp *, int)"
    test_demangling_exact "gnu: __9HVGraphicP9CanvasVarP7Graphic" "HVGraphic::HVGraphic(CanvasVar *, Graphic *)"
    test_demangling_exact "gnu: __Q23foo3bar" "foo::bar::bar(void)"
    test_demangling_exact "gnu: __Q33foo3bar4bell" "foo::bar::bell::bell(void)"
    test_demangling_exact "gnu: __aa__3fooRT0" "foo::operator&&(foo &)"
    test_demangling_exact "gnu: __aad__3fooRT0" "foo::operator&=(foo &)"
    test_demangling_exact "gnu: __ad__3fooRT0" "foo::operator&(foo &)"
    test_demangling_exact "gnu: __adv__3fooRT0" "foo::operator/=(foo &)"
    test_demangling_exact "gnu: __aer__3fooRT0" "foo::operator^=(foo &)"
    test_demangling_exact "gnu: __als__3fooRT0" "foo::operator<<=(foo &)"
    test_demangling_exact "gnu: __amd__3fooRT0" "foo::operator%=(foo &)"
    test_demangling_exact "gnu: __ami__3fooRT0" "foo::operator-=(foo &)"
    test_demangling_exact "gnu: __aml__3FixRT0" "Fix::operator*=(Fix &)"
    test_demangling_exact "gnu: __aml__5Fix16i" "Fix16::operator*=(int)"
    test_demangling_exact "gnu: __aml__5Fix32RT0" "Fix32::operator*=(Fix32 &)"
    test_demangling_exact "gnu: __aor__3fooRT0" "foo::operator|=(foo &)"
    test_demangling_exact "gnu: __apl__3fooRT0" "foo::operator+=(foo &)"
    test_demangling_exact "gnu: __ars__3fooRT0" "foo::operator>>=(foo &)"

    test_demangling_exact "gnu: __as__3fooRT0" "foo::operator=(foo &)"
    test_demangling_exact "gnu: __cl__3fooRT0" "foo::operator()(foo &)"
    test_demangling_exact "gnu: __cl__6Normal" "Normal::operator()(void)"
    test_demangling_exact "gnu: __cl__6Stringii" "String::operator()(int, int)"
    test_demangling_exact "gnu: __cm__3fooRT0" "foo::operator, (foo &)"
    test_demangling_exact "gnu: __co__3foo" "foo::operator~(void)"
    test_demangling_exact "gnu: __dl__3fooPv" "foo::operator delete(void *)"
    test_demangling_exact "gnu: __dv__3fooRT0" "foo::operator/(foo &)"
    test_demangling_exact "gnu: __eq__3fooRT0" "foo::operator==(foo &)"
    test_demangling_exact "gnu: __er__3fooRT0" "foo::operator^(foo &)"
    test_demangling_exact "gnu: __ge__3fooRT0" "foo::operator>=(foo &)"
    test_demangling_exact "gnu: __gt__3fooRT0" "foo::operator>(foo &)"
    test_demangling_exact "gnu: __le__3fooRT0" "foo::operator<=(foo &)"
    test_demangling_exact "gnu: __ls__3fooRT0" "foo::operator<<(foo &)"
    test_demangling_exact "gnu: __ls__FR7ostreamPFR3ios_R3ios" "operator<<(ostream &, ios &(*)(ios &))"
    test_demangling_exact "gnu: __ls__FR7ostreamR3Fix" "operator<<(ostream &, Fix &)"
    test_demangling_exact "gnu: __lt__3fooRT0" "foo::operator<(foo &)"
    test_demangling_exact "gnu: __md__3fooRT0" "foo::operator%(foo &)"
    test_demangling_exact "gnu: __mi__3fooRT0" "foo::operator-(foo &)"
    test_demangling_exact "gnu: __ml__3fooRT0" "foo::operator*(foo &)"
    test_demangling_exact "gnu: __mm__3fooi" "foo::operator--(int)"

    test_demangling_exact "gnu: __ne__3fooRT0" "foo::operator!=(foo &)"
    test_demangling "gnu: __ne__FRC7ComplexT0" \
	"operator!=\[(\]+(const Complex|Complex const) &, (const Complex|Complex const) &\[)\]+"
    test_demangling "gnu: __ne__FRC7Complexd" \
	"operator!=\[(\]+(const Complex|Complex const) &, double\[)\]+"
    test_demangling "gnu: __ne__FRC9SubStringRC6String" \
	"operator!=\[(\]+(const SubString|SubString const) &, (const String|String const) &\[)\]+"
    test_demangling_exact "gnu: __nt__3foo" "foo::operator!(void)"
    test_demangling_exact "gnu: __nw__3fooi" "foo::operator new(int)"
    test_demangling_exact "gnu: __oo__3fooRT0" "foo::operator||(foo &)"
    test_demangling_exact "gnu: __opPc__3foo" "foo::operator char *(void)"
    test_demangling_exact "gnu: __opi__3foo" "foo::operator int(void)"
    test_demangling_exact "gnu: __or__3fooRT0" "foo::operator|(foo &)"
    test_demangling_exact "gnu: __pl__3fooRT0" "foo::operator+(foo &)"
    test_demangling_exact "gnu: __pp__3fooi" "foo::operator++(int)"
    test_demangling_exact "gnu: __rf__3foo" "foo::operator->(void)"
    test_demangling_exact "gnu: __rm__3fooRT0" "foo::operator->*(foo &)"
    test_demangling_exact "gnu: __rs__3fooRT0" "foo::operator>>(foo &)"
    test_demangling "gnu: __vc__3fooRT0" "foo::operator\\\[\\\]\\(foo &\\)"
    test_demangling "gnu: _gsub__6StringRC5RegexPCci" \
	"String::_gsub\[(\]+(const Regex|Regex const) &, (const char|char const) \[*\]+, int\[)\]+"
    test_demangling_exact "gnu: _new_Fix__FUs" "_new_Fix(unsigned short)"

    # gcc 2.4.5 (and earlier) style virtual tables.  We want to continue to
    # correctly demangle these even if newer compilers use a different form.
    test_demangling_exact "gnu: _vt.foo" "foo virtual table"
    test_demangling_exact "gnu: _vt.foo.bar" "foo::bar virtual table"
    test_demangling_exact "gnu: _vt\$foo" "foo virtual table"
    test_demangling_exact "gnu: _vt\$foo\$bar" "foo::bar virtual table"

    test_demangling_exact "gnu: append__7ivGlyphPT0" "ivGlyph::append(ivGlyph *)"
    test_demangling "gnu: arg__FRC7Complex" \
	"arg\[(\]+(const Complex|Complex const) &\[)\]+"
    test_demangling_exact "gnu: clearok__FP7_win_sti" "clearok(_win_st *, int)"

    test_demangling_exact "gnu: complexfunc2__FPFPc_i" "complexfunc2(int (*)(char *))"
    test_demangling_exact "gnu: complexfunc3__FPFPFPl_s_i" "complexfunc3(int (*)(short (*)(long *)))"
    test_demangling_exact "gnu: complexfunc4__FPFPFPc_s_i" "complexfunc4(int (*)(short (*)(char *)))"
    test_demangling_exact "gnu: complexfunc5__FPFPc_PFl_i" "complexfunc5(int (*(*)(char *))(long))"
    test_demangling_exact "gnu: complexfunc6__FPFPi_PFl_i" "complexfunc6(int (*(*)(int *))(long))"
    test_demangling_exact "gnu: complexfunc7__FPFPFPc_i_PFl_i" "complexfunc7(int (*(*)(int (*)(char *)))(long))"
    test_demangling "gnu: contains__C9BitStringRC10BitPattern" \
	"BitString::contains\[(\]+(const BitPattern|BitPattern const) &\[)\]+ const"
    test_demangling "gnu: contains__C9BitStringRC12BitSubStringi" \
	"BitString::contains\[(\]+(const BitSubString|BitSubString const) &, int\[)\]+ const"
    test_demangling "gnu: contains__C9BitStringRT0" \
	"BitString::contains\[(\]+(const BitString|BitString const) &\[)\]+ const"
    test_demangling "gnu: div__FPC6IntRepT0P6IntRep" \
	"div\[(\]+(const IntRep|IntRep const) \[*\]+, (const IntRep|IntRep const) \[*\]+, IntRep \[*\]+\[)\]+"
    test_demangling "gnu: div__FPC6IntReplP6IntRep" \
	"div\[(\]+(const IntRep|IntRep const) \[*\]+, long, IntRep \[*\]+\[)\]+"
    test_demangling "gnu: div__FRC8RationalT0R8Rational" \
	"div\[(\]+(const Rational|Rational const) &, (const Rational|Rational const) &, Rational &\[)\]+"
    test_demangling "gnu: divide__FRC7IntegerT0R7IntegerT2" \
	"divide\[(\]+(const Integer|Integer const) &, (const Integer|Integer const) &, Integer &, Integer &\[)\]+"
    test_demangling "gnu: divide__FRC7IntegerlR7IntegerRl" \
	"divide\[(\]+(const Integer|Integer const) &, long, Integer &, long &\[)\]+"
    test_demangling "gnu: enable__14DocumentViewerPCcUi" \
	"DocumentViewer::enable\[(\]+(const char|char const) \[*\]+, unsigned int\[)\]+"

    test_demangling_exact "gnu: foo__FiN30" "foo(int, int, int, int)"
    test_demangling_exact "gnu: foo__FiR3fooiT1iT1" "foo(int, foo &, int, foo &, int, foo &)"
    test_demangling_exact "gnu: foo___3barl" "bar::foo_(long)"
    test_demangling_exact "gnu: insert__15ivClippingStacklRP8_XRegion" "ivClippingStack::insert(long, _XRegion *&)"
    test_demangling_exact "gnu: insert__16ChooserInfo_ListlR11ChooserInfo" "ChooserInfo_List::insert(long, ChooserInfo &)"
    test_demangling_exact "gnu: insert__17FontFamilyRepListlRP15ivFontFamilyRep" "FontFamilyRepList::insert(long, ivFontFamilyRep *&)"
    test_demangling_exact "gnu: leaveok__FP7_win_stc" "leaveok(_win_st *, char)"
    test_demangling_exact "gnu: left_mover__C7ivMFKitP12ivAdjustableP7ivStyle" "ivMFKit::left_mover(ivAdjustable *, ivStyle *) const"
    test_demangling "gnu: matches__C9BitStringRC10BitPatterni" \
	"BitString::matches\[(\]+(const BitPattern|BitPattern const) &, int\[)\]+ const"
    test_demangling "gnu: matches__C9SubStringRC5Regex" \
	"SubString::matches\[(\]+(const Regex|Regex const) &\[)\]+ const"

    test_demangling_exact "gnu: overload1arg__FSc" "overload1arg(signed char)"
    test_demangling_exact "gnu: overload1arg__FUc" "overload1arg(unsigned char)"
    test_demangling_exact "gnu: overload1arg__FUi" "overload1arg(unsigned int)"
    test_demangling_exact "gnu: overload1arg__FUl" "overload1arg(unsigned long)"
    test_demangling_exact "gnu: overload1arg__FUs" "overload1arg(unsigned short)"
    test_demangling_exact "gnu: overload1arg__Fc" "overload1arg(char)"
    test_demangling_exact "gnu: overload1arg__Fd" "overload1arg(double)"
    test_demangling_exact "gnu: overload1arg__Ff" "overload1arg(float)"
    test_demangling_exact "gnu: overload1arg__Fi" "overload1arg(int)"
    test_demangling_exact "gnu: overload1arg__Fl" "overload1arg(long)"
    test_demangling_exact "gnu: overload1arg__Fs" "overload1arg(short)"
    test_demangling_exact "gnu: overload1arg__Fv" "overload1arg(void)"
    test_demangling_exact "gnu: overloadargs__Fi" "overloadargs(int)"
    test_demangling_exact "gnu: overloadargs__Fii" "overloadargs(int, int)"
    test_demangling_exact "gnu: overloadargs__Fiii" "overloadargs(int, int, int)"
    test_demangling_exact "gnu: overloadargs__Fiiii" "overloadargs(int, int, int, int)"

    test_demangling_exact "gnu: overloadargs__Fiiiii" "overloadargs(int, int, int, int, int)"
    test_demangling_exact "gnu: overloadargs__Fiiiiii" "overloadargs(int, int, int, int, int, int)"
    test_demangling_exact "gnu: overloadargs__Fiiiiiii" "overloadargs(int, int, int, int, int, int, int)"
    test_demangling_exact "gnu: overloadargs__Fiiiiiiii" "overloadargs(int, int, int, int, int, int, int, int)"
    test_demangling_exact "gnu: overloadargs__Fiiiiiiiii" "overloadargs(int, int, int, int, int, int, int, int, int)"
    test_demangling_exact "gnu: overloadargs__Fiiiiiiiiii" "overloadargs(int, int, int, int, int, int, int, int, int, int)"
    test_demangling_exact "gnu: overloadargs__Fiiiiiiiiiii" "overloadargs(int, int, int, int, int, int, int, int, int, int, int)"
    test_demangling "gnu: pick__13ivCompositionP8ivCanvasRC12ivAllocationiR5ivHit" \
	"ivComposition::pick\[(\]+ivCanvas \[*\]+, (const ivAllocation|ivAllocation const) &, int, ivHit &\[)\]+"
    test_demangling "gnu: pointer__C11ivHScrollerRC7ivEventRC12ivAllocation" \
	"ivHScroller::pointer\[(\]+(const ivEvent|ivEvent const) &, (const ivAllocation|ivAllocation const) &\[)\]+ const"
    test_demangling_exact "gnu: poke__8ivRasterUlUlffff" "ivRaster::poke(unsigned long, unsigned long, float, float, float, float)"
    test_demangling_exact "gnu: polar__Fdd" "polar(double, double)"
    test_demangling "gnu: read__10osStdInputRPCc" \
	"osStdInput::read\[(\]+(const char|char const) \[*\]+&\[)\]+"

    test_demangling_exact "gnu: scale__13ivTransformerff" "ivTransformer::scale(float, float)"
    test_demangling "gnu: scanw__12CursesWindowPCce" \
	"CursesWindow::scanw\[(\]+(const char|char const) \[*\]+,...\[)\]+"
    test_demangling "gnu: scmp__FPCcT0" \
	"scmp\[(\]+(const char|char const) \[*\]+, (const char|char const) \[*\]+\[)\]+"
    test_demangling_exact "gnu: sgetn__7filebufPci" "filebuf::sgetn(char *, int)"
    test_demangling_exact "gnu: shift__FP5_FrepiT0" "shift(_Frep *, int, _Frep *)"
    test_demangling_exact "gnu: test__C6BitSeti" "BitSet::test(int) const"
    test_demangling_exact "gnu: test__C6BitSetii" "BitSet::test(int, int) const"
    test_demangling "gnu: testbit__FRC7Integerl" \
	"testbit\[(\]+(const Integer|Integer const) &, long\[)\]+"
    test_demangling_exact "gnu: text_source__8Documentl" "Document::text_source(long)"
    test_demangling_exact "gnu: variance__6Erlangd" "Erlang::variance(double)"
    test_demangling "gnu: vform__8iostreamPCcPc" \
	"iostream::vform\[(\]+(const char|char const) \[*\]+, char \[*\]+\[)\]+"
    test_demangling_exact "gnu: view__14DocumentViewerP8ItemViewP11TabularItem" "DocumentViewer::view(ItemView *, TabularItem *)"
    test_demangling_exact "gnu: xy_extents__11ivExtensionffff" "ivExtension::xy_extents(float, float, float, float)"
    test_demangling_exact "gnu: zero__8osMemoryPvUi" "osMemory::zero(void *, unsigned int)"
    test_demangling_exact "gnu: _2T4\$N" "T4::N"
    test_demangling_exact "gnu: _Q22T42t1\$N" "T4::t1::N"
    test_demangling_exact "gnu: get__2T1" "T1::get(void)"
    test_demangling_exact "gnu: get__Q22T11a" "T1::a::get(void)"
    test_demangling_exact "gnu: get__Q32T11a1b" "T1::a::b::get(void)"
    test_demangling_exact "gnu: get__Q42T11a1b1c" "T1::a::b::c::get(void)"
    test_demangling_exact "gnu: get__Q52T11a1b1c1d" "T1::a::b::c::d::get(void)"
    test_demangling_exact "gnu: put__2T1i" "T1::put(int)"
    test_demangling_exact "gnu: put__Q22T11ai" "T1::a::put(int)"
    test_demangling_exact "gnu: put__Q32T11a1bi" "T1::a::b::put(int)"
    test_demangling_exact "gnu: put__Q42T11a1b1ci" "T1::a::b::c::put(int)"
    test_demangling_exact "gnu: put__Q52T11a1b1c1di" "T1::a::b::c::d::put(int)"

    test_demangling_exact "gnu: bar__3fooPv"       "foo::bar(void *)"
    test_demangling "gnu: bar__3fooPCv" \
	"foo::bar\[(\]+(const void|void const) *\[*\]+\[)\]+"
    test_demangling_exact "gnu: bar__C3fooPv"      "foo::bar(void *) const"
    test_demangling "gnu: bar__C3fooPCv" \
	"foo::bar\[(\]+(const void|void const) *\[*\]+\[)\]+ const"
    test_demangling_exact "gnu: __eq__3fooRT0"     "foo::operator==(foo &)"
    test_demangling "gnu: __eq__3fooRC3foo" \
	 "foo::operator==\[(\]+(const foo|foo const) &\[)\]+"
    test_demangling_exact "gnu: __eq__C3fooR3foo"  "foo::operator==(foo &) const"
    test_demangling "gnu: __eq__C3fooRT0" \
	   "foo::operator==\[(\]+(const foo|foo const) &\[)\]+ const"

    test_demangling_exact "gnu: elem__t6vector1Zdi" "vector<double>::elem(int)"
    test_demangling_exact "gnu: elem__t6vector1Zii" "vector<int>::elem(int)"
    test_demangling_exact "gnu: __t6vector1Zdi"     "vector<double>::vector(int)"
    test_demangling_exact "gnu: __t6vector1Zii"     "vector<int>::vector(int)"
    test_demangling_exact "gnu: _\$_t6vector1Zdi"    "vector<double>::~vector(int)"
    test_demangling_exact "gnu: _\$_t6vector1Zii"    "vector<int>::~vector(int)"

    test_demangling_exact "gnu: __nw__t2T11ZcUi" "T1<char>::operator new(unsigned int)"
    test_demangling_exact "gnu: __nw__t2T11Z1tUi" "T1<t>::operator new(unsigned int)"
    test_demangling_exact "gnu: __dl__t2T11ZcPv" "T1<char>::operator delete(void *)"
    test_demangling_exact "gnu: __dl__t2T11Z1tPv" "T1<t>::operator delete(void *)"
    test_demangling_exact "gnu: __t2T11Zci" "T1<char>::T1(int)"
    test_demangling_exact "gnu: __t2T11Zc" "T1<char>::T1(void)"
    test_demangling_exact "gnu: __t2T11Z1ti" "T1<t>::T1(int)"
    test_demangling_exact "gnu: __t2T11Z1t" "T1<t>::T1(void)"

    test_demangling_exact "gnu: __Q2t4List1Z10VHDLEntity3Pix" \
	"List<VHDLEntity>::Pix::Pix(void)"

    test_demangling_exact "gnu: __Q2t4List1Z10VHDLEntity3PixPQ2t4List1Z10VHDLEntity7element" \
	"List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::element *)"

    test_demangling_exact "gnu: __Q2t4List1Z10VHDLEntity3PixRCQ2t4List1Z10VHDLEntity3Pix" \
	"List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::Pix const &)"

    test_demangling_exact "gnu: __Q2t4List1Z10VHDLEntity7elementRC10VHDLEntityPT0" \
	"List<VHDLEntity>::element::element(VHDLEntity const &, List<VHDLEntity>::element *)"

    test_demangling_exact "gnu: __Q2t4List1Z10VHDLEntity7elementRCQ2t4List1Z10VHDLEntity7element" \
	"List<VHDLEntity>::element::element(List<VHDLEntity>::element const &)"

    test_demangling_exact "gnu: __cl__C11VHDLLibraryGt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity" \
	"VHDLLibrary::operator()(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >) const"

    test_demangling_exact "gnu: __cl__Ct4List1Z10VHDLEntityRCQ2t4List1Z10VHDLEntity3Pix" \
	"List<VHDLEntity>::operator()(List<VHDLEntity>::Pix const &) const"

    test_demangling_exact "gnu: __ne__FPvRCQ2t4List1Z10VHDLEntity3Pix" \
	"operator!=(void *, List<VHDLEntity>::Pix const &)"

    test_demangling_exact "gnu: __ne__FPvRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity" \
	"operator!=(void *, PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)"

    test_demangling_exact "gnu: __t4List1Z10VHDLEntityRCt4List1Z10VHDLEntity" \
	"List<VHDLEntity>::List(List<VHDLEntity> const &)"

    test_demangling_exact "gnu: __t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity" \
	"PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(void)"

    test_demangling_exact "gnu: __t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityP14VHDLLibraryRepGQ2t4List1Z10VHDLEntity3Pix" \
	"PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(VHDLLibraryRep *, List<VHDLEntity>::Pix)"

    test_demangling_exact "gnu: __t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity" \
	"PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)"

    test_demangling_exact "gnu: nextE__C11VHDLLibraryRt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity" \
	"VHDLLibrary::nextE(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > &) const"

    test_demangling_exact "gnu: next__Ct4List1Z10VHDLEntityRQ2t4List1Z10VHDLEntity3Pix" \
	"List<VHDLEntity>::next(List<VHDLEntity>::Pix &) const"

    test_demangling_exact "gnu: _GLOBAL_\$D\$set" "global destructors keyed to set"

    test_demangling_exact "gnu: _GLOBAL_\$I\$set" "global constructors keyed to set"

    test_demangling_exact "gnu: __as__t5ListS1ZUiRCt5ListS1ZUi" \
	"ListS<unsigned int>::operator=(ListS<unsigned int> const &)"

    test_demangling_exact "gnu: __cl__Ct5ListS1ZUiRCQ2t5ListS1ZUi3Vix" \
	"ListS<unsigned int>::operator()(ListS<unsigned int>::Vix const &) const"

    test_demangling_exact "gnu: __cl__Ct5SetLS1ZUiRCQ2t5SetLS1ZUi3Vix" \
	"SetLS<unsigned int>::operator()(SetLS<unsigned int>::Vix const &) const"

    test_demangling_exact "gnu: __t10ListS_link1ZUiRCUiPT0" \
	"ListS_link<unsigned int>::ListS_link(unsigned int const &, ListS_link<unsigned int> *)"

    test_demangling_exact "gnu: __t10ListS_link1ZUiRCt10ListS_link1ZUi" \
	"ListS_link<unsigned int>::ListS_link(ListS_link<unsigned int> const &)"

    test_demangling_exact "gnu: __t5ListS1ZUiRCt5ListS1ZUi" \
	"ListS<unsigned int>::ListS(ListS<unsigned int> const &)"

    test_demangling_exact "gnu: next__Ct5ListS1ZUiRQ2t5ListS1ZUi3Vix" \
	"ListS<unsigned int>::next(ListS<unsigned int>::Vix &) const"

    test_demangling_exact "gnu: __ne__FPvRCQ2t5SetLS1ZUi3Vix" \
	"operator!=(void *, SetLS<unsigned int>::Vix const &)"
    test_demangling_exact "gnu: __t8ListElem1Z5LabelRt4List1Z5Label" \
	"ListElem<Label>::ListElem(List<Label> &)"
    test_demangling_exact "gnu: __t8BDDHookV1ZPcRCPc" \
	"BDDHookV<char *>::BDDHookV(char *const &)"

    test_demangling_exact "gnu: _vt\$t8BDDHookV1ZPc" "BDDHookV<char *> virtual table"

    test_demangling_exact "gnu: __ne__FPvRCQ211BDDFunction4VixB" \
	"operator!=(void *, BDDFunction::VixB const &)"
    test_demangling_exact "gnu: __eq__FPvRCQ211BDDFunction4VixB" \
	"operator==(void *, BDDFunction::VixB const &)"

    test_demangling_exact "gnu: relativeId__CQ36T_phi210T_preserve8FPC_nextRCQ26T_phi210T_preserveRC10Parameters" \
	 "T_phi2::T_preserve::FPC_next::relativeId(T_phi2::T_preserve const &, Parameters const &) const"

    test_demangling_exact "gnu: _Utf390_1__1_9223372036854775807__9223372036854775" \
	    "Can't demangle \"_Utf390_1__1_9223372036854775807__9223372036854775\""
    test_demangling_exact "gnu: foo__I40" "foo(int64_t)"
    test_demangling_exact "gnu: foo__I_200_" "foo(int512_t)"
    test_demangling_exact "gnu: foo__I_200" "Can't demangle \"foo__I_200\""

    ## Buffer overrun.  Should make GDB crash.  Woo hoo!
    test_demangling_exact "gnu: foo__I_4000000000000000000000000000000000000000000000000000000000000000000000000" "Can't demangle \"foo__I_4000000000000000000000000000000000000000000000000000000000000000000000000\""

    ## 1999-04-19: "Fix from Dale Hawkins".  Shouldn't segfault.
    # Accept even a dubious demangling; the string is ambiguous.
    send_gdb "maintenance demangle __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator\n"
    gdb_expect {
	-re "virtual function thunk \\(delta:-64\\) for CosNaming::_proxy_NamingContext::_0RL__list\\(unsigned long, _CORBA_Unbounded_Sequence<CosNaming::Binding> \\*\\&, CosNaming::BindingIterator \\*\\&\\)\r\n$gdb_prompt $" {
		pass "gnu: __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator"
	}
	-re ".*Can't demangle \"__thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator\"\r\n$gdb_prompt $" {
		pass "gnu: __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator"
	}
	-re ".*$gdb_prompt $" {
		fail "gnu: __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator"
	}
	timeout {
		fail "gnu: __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator (timeout)"
	}
    }
}

#
#  Test lucid style name demangling
#

proc test_lucid_style_demangling {} {
    test_demangling_exact "lucid: WS__FR7istream" "WS(istream &)"
    test_demangling_exact "lucid: __aa__3fooFR3foo" "foo::operator&&(foo &)"
    test_demangling_exact "lucid: __aad__3fooFR3foo" "foo::operator&=(foo &)"
    test_demangling_exact "lucid: __ad__3fooFR3foo" "foo::operator&(foo &)"
    test_demangling_exact "lucid: __adv__3fooFR3foo" "foo::operator/=(foo &)"
    test_demangling_exact "lucid: __adv__7complexF7complex" "complex::operator/=(complex)"
    test_demangling_exact "lucid: __aer__3fooFR3foo" "foo::operator^=(foo &)"
    test_demangling_exact "lucid: __als__3fooFR3foo" "foo::operator<<=(foo &)"
    test_demangling_exact "lucid: __amd__3fooFR3foo" "foo::operator%=(foo &)"
    test_demangling_exact "lucid: __ami__3fooFR3foo" "foo::operator-=(foo &)"
    test_demangling_exact "lucid: __amu__3fooFR3foo" "foo::operator*=(foo &)"
    test_demangling_exact "lucid: __amu__7complexF7complex" "complex::operator*=(complex)"
    test_demangling_exact "lucid: __aor__3fooFR3foo" "foo::operator|=(foo &)"
    test_demangling_exact "lucid: __apl__3fooFR3foo" "foo::operator+=(foo &)"
    test_demangling_exact "lucid: __ars__3fooFR3foo" "foo::operator>>=(foo &)"
    test_demangling_exact "lucid: __as__18istream_withassignFP9streambuf" "istream_withassign::operator=(streambuf *)"
    test_demangling_exact "lucid: __as__18istream_withassignFR7istream" "istream_withassign::operator=(istream &)"
    test_demangling_exact "lucid: __as__3fooFR3foo" "foo::operator=(foo &)"
    test_demangling_exact "lucid: __as__3iosFR3ios" "ios::operator=(ios &)"
    test_demangling_exact "lucid: __cl__3fooFR3foo" "foo::operator()(foo &)"
    test_demangling_exact "lucid: __cm__3fooFR3foo" "foo::operator, (foo &)"

    test_demangling_exact "lucid: __co__3fooFv" "foo::operator~(void)"
    test_demangling_exact "lucid: __ct__10istrstreamFPc" "istrstream::istrstream(char *)"
    test_demangling_exact "lucid: __ct__10istrstreamFPci" "istrstream::istrstream(char *, int)"
    test_demangling_exact "lucid: __ct__10ostrstreamFPciT2" "ostrstream::ostrstream(char *, int, int)"
    test_demangling_exact "lucid: __ct__10ostrstreamFv" "ostrstream::ostrstream(void)"
    test_demangling_exact "lucid: __ct__10smanip_intFPFR3iosi_R3iosi" "smanip_int::smanip_int(ios &(*)(ios &, int), int)"
    test_demangling "lucid: __ct__11c_exceptionFPcRC7complexT2" "c_exception::c_exception\[(\]+char \[*\]+, (const complex|complex const) &, (const complex|complex const) &\[)\]+"
    test_demangling "lucid: __ct__11fstreambaseFPCciT2" "fstreambase::fstreambase\[(\]+(const char|char const) \[*\]+, int, int\[)\]+"
    test_demangling_exact "lucid: __ct__11fstreambaseFi" "fstreambase::fstreambase(int)"
    test_demangling_exact "lucid: __ct__11fstreambaseFiPcT1" "fstreambase::fstreambase(int, char *, int)"
    test_demangling_exact "lucid: __ct__11fstreambaseFv" "fstreambase::fstreambase(void)"
    test_demangling_exact "lucid: __ct__11smanip_longFPFR3iosl_R3iosl" "smanip_long::smanip_long(ios &(*)(ios &, long), long)"
    test_demangling_exact "lucid: __ct__11stdiostreamFP4FILE" "stdiostream::stdiostream(FILE *)"
    test_demangling_exact "lucid: __ct__12strstreambufFPFl_PvPFPv_v" "strstreambuf::strstreambuf(void *(*)(long), void (*)(void *))"
    test_demangling_exact "lucid: __ct__12strstreambufFPUciT1" "strstreambuf::strstreambuf(unsigned char *, int, unsigned char *)"
    test_demangling_exact "lucid: __ct__12strstreambufFPciT1" "strstreambuf::strstreambuf(char *, int, char *)"
    test_demangling_exact "lucid: __ct__12strstreambufFi" "strstreambuf::strstreambuf(int)"
    test_demangling_exact "lucid: __ct__12strstreambufFv" "strstreambuf::strstreambuf(void)"
    test_demangling_exact "lucid: __ct__13strstreambaseFPciT1" "strstreambase::strstreambase(char *, int, char *)"
    test_demangling_exact "lucid: __ct__3fooFR3foo" "foo::foo(foo &)"

    test_demangling_exact "lucid: __ct__3fooFi" "foo::foo(int)"
    test_demangling_exact "lucid: __ct__3fooFiN31" "foo::foo(int, int, int, int)"
    test_demangling "lucid: __ct__3fooFiPCc" \
	"foo::foo\[(\]+int, (const char|char const) \[*\]+\[)\]+"
    test_demangling_exact "lucid: __ct__3fooFiR3fooT1T2T1T2" "foo::foo(int, foo &, int, foo &, int, foo &)"
    test_demangling_exact "lucid: __ct__3iosFP9streambuf" "ios::ios(streambuf *)"
    test_demangling_exact "lucid: __ct__7filebufFiPcT1" "filebuf::filebuf(int, char *, int)"
    test_demangling "lucid: __ct__7fstreamFPCciT2" \
	"fstream::fstream\[(\]+(const char|char const) \[*\]+, int, int\[)\]+"
    test_demangling_exact "lucid: __ct__7fstreamFiPcT1" "fstream::fstream(int, char *, int)"
    test_demangling_exact "lucid: __ct__7istreamFP9streambuf" "istream::istream(streambuf *)"
    test_demangling_exact "lucid: __ct__7istreamFP9streambufiP7ostream" "istream::istream(streambuf *, int, ostream *)"
    test_demangling_exact "lucid: __ct__7istreamFiPcT1" "istream::istream(int, char *, int)"
    test_demangling_exact "lucid: __ct__7istreamFiT1P7ostream" "istream::istream(int, int, ostream *)"
    test_demangling_exact "lucid: __ct__7ostreamFP9streambuf" "ostream::ostream(streambuf *)"
    test_demangling_exact "lucid: __ct__7ostreamFiPc" "ostream::ostream(int, char *)"
    test_demangling "lucid: __ct__8ifstreamFPCciT2" \
	"ifstream::ifstream\[(\]+(const char|char const) \[*\]+, int, int\[)\]+"
    test_demangling_exact "lucid: __ct__8ifstreamFiPcT1" "ifstream::ifstream(int, char *, int)"

    test_demangling_exact "lucid: __ct__Q23foo3barFv" "foo::bar::bar(void)"
    test_demangling_exact "lucid: __ct__Q33foo3bar4bellFv" "foo::bar::bell::bell(void)"
    test_demangling_exact "lucid: __dl__3fooSFPv" "foo::operator delete(void *) static"
    test_demangling_exact "lucid: __dl__FPv" "operator delete(void *)"
    test_demangling_exact "lucid: __dt__10istrstreamFv" "istrstream::~istrstream(void)"

    test_demangling_exact "lucid: __dt__Q23foo3barFv" "foo::bar::~bar(void)"
    test_demangling_exact "lucid: __dt__Q33foo3bar4bellFv" "foo::bar::bell::~bell(void)"
    test_demangling_exact "lucid: __dv__3fooFR3foo" "foo::operator/(foo &)"
    test_demangling_exact "lucid: __dv__F7complexT1" "operator/(complex, complex)"
    test_demangling_exact "lucid: __eq__3fooFR3foo" "foo::operator==(foo &)"
    test_demangling_exact "lucid: __er__3fooFR3foo" "foo::operator^(foo &)"
    test_demangling_exact "lucid: __ge__3fooFR3foo" "foo::operator>=(foo &)"
    test_demangling_exact "lucid: __gt__3fooFR3foo" "foo::operator>(foo &)"
    test_demangling_exact "lucid: __le__3fooFR3foo" "foo::operator<=(foo &)"
    test_demangling_exact "lucid: __ls__3fooFR3foo" "foo::operator<<(foo &)"
    test_demangling_exact "lucid: __ls__7ostreamFP9streambuf" "ostream::operator<<(streambuf *)"

    test_demangling "lucid: __ls__7ostreamFPCc" \
	"ostream::operator<<\[(\]+(const char|char const) \[*\]+\[)\]+"
    test_demangling_exact "lucid: __ls__7ostreamFPFR3ios_R3ios" "ostream::operator<<(ios &(*)(ios &))"
    test_demangling_exact "lucid: __ls__7ostreamFPv" "ostream::operator<<(void *)"
    test_demangling_exact "lucid: __ls__7ostreamFUi" "ostream::operator<<(unsigned int)"
    test_demangling_exact "lucid: __ls__7ostreamFUl" "ostream::operator<<(unsigned long)"
    test_demangling_exact "lucid: __ls__7ostreamFd" "ostream::operator<<(double)"
    test_demangling_exact "lucid: __ls__7ostreamFf" "ostream::operator<<(float)"
    test_demangling_exact "lucid: __ls__7ostreamFi" "ostream::operator<<(int)"
    test_demangling_exact "lucid: __ls__7ostreamFl" "ostream::operator<<(long)"
    test_demangling_exact "lucid: __ls__FR7ostream7complex" "operator<<(ostream &, complex)"
    test_demangling_exact "lucid: __lt__3fooFR3foo" "foo::operator<(foo &)"
    test_demangling_exact "lucid: __md__3fooFR3foo" "foo::operator%(foo &)"
    test_demangling_exact "lucid: __mi__3fooFR3foo" "foo::operator-(foo &)"
    test_demangling_exact "lucid: __ml__3fooFR3foo" "foo::operator*(foo &)"
    test_demangling_exact "lucid: __ml__F7complexT1" "operator*(complex, complex)"
    test_demangling_exact "lucid: __mm__3fooFi" "foo::operator--(int)"
    test_demangling_exact "lucid: __ne__3fooFR3foo" "foo::operator!=(foo &)"
    test_demangling_exact "lucid: __nt__3fooFv" "foo::operator!(void)"
    test_demangling_exact "lucid: __nw__3fooSFi" "foo::operator new(int) static"
    test_demangling_exact "lucid: __nw__FUi" "operator new(unsigned int)"
    test_demangling_exact "lucid: __nw__FUiPv" "operator new(unsigned int, void *)"
    test_demangling_exact "lucid: __oo__3fooFR3foo" "foo::operator||(foo &)"
    test_demangling_exact "lucid: __opPc__3fooFv" "foo::operator char *(void)"
    test_demangling_exact "lucid: __opi__3fooFv" "foo::operator int(void)"
    test_demangling_exact "lucid: __or__3fooFR3foo" "foo::operator|(foo &)"

    test_demangling_exact "lucid: __pl__3fooFR3foo" "foo::operator+(foo &)"
    test_demangling_exact "lucid: __pp__3fooFi" "foo::operator++(int)"
    test_demangling_exact "lucid: __pt__3fooFv" "foo::operator->(void)"
    test_demangling_exact "lucid: __rm__3fooFR3foo" "foo::operator->*(foo &)"
    test_demangling_exact "lucid: __rs__3fooFR3foo" "foo::operator>>(foo &)"
    test_demangling_exact "lucid: __rs__7istreamFP9streambuf" "istream::operator>>(streambuf *)"
    test_demangling_exact "lucid: __rs__7istreamFPFR3ios_R3ios" "istream::operator>>(ios &(*)(ios &))"
    test_demangling_exact "lucid: __rs__7istreamFPFR7istream_R7istream" "istream::operator>>(istream &(*)(istream &))"
    test_demangling_exact "lucid: __rs__7istreamFPUc" "istream::operator>>(unsigned char *)"
    test_demangling_exact "lucid: __rs__7istreamFPc" "istream::operator>>(char *)"
    test_demangling_exact "lucid: __rs__7istreamFRUi" "istream::operator>>(unsigned int &)"
    test_demangling_exact "lucid: __rs__7istreamFRUl" "istream::operator>>(unsigned long &)"
    test_demangling_exact "lucid: __rs__7istreamFRUs" "istream::operator>>(unsigned short &)"
    test_demangling_exact "lucid: __rs__7istreamFRd" "istream::operator>>(double &)"
    test_demangling_exact "lucid: __rs__7istreamFRf" "istream::operator>>(float &)"
    test_demangling_exact "lucid: __rs__7istreamFRi" "istream::operator>>(int &)"
    test_demangling_exact "lucid: __rs__7istreamFRl" "istream::operator>>(long &)"
    test_demangling_exact "lucid: __rs__7istreamFRs" "istream::operator>>(short &)"
    test_demangling_exact "lucid: __rs__FR7istreamR7complex" "operator>>(istream &, complex &)"
    test_demangling "lucid: __vc__3fooFR3foo" "foo::operator\\\[\\\]\\(foo &\\)"
    test_demangling_exact "lucid: __vtbl__10istrstream" "istrstream virtual table"
    test_demangling_exact "lucid: __vtbl__17ostream__iostream__19iostream_withassign" "iostream_withassign::ostream__iostream virtual table"

    test_demangling_exact "lucid: __vtbl__3ios" "ios virtual table"
    test_demangling_exact "lucid: __vtbl__3ios__13strstreambase" "strstreambase::ios virtual table"

    # GDB 930414 demangles this as t_cc_main_ (obviously wrong).
    # GDB 930701 gets into an infinite loop.
    # GDB 930727 says "Can't demangle".
    # What is the correct demangling?  FIXME.

    # NOTE: carlton/2003-01-17: No, don't FIXME, just obsolete lucid.
    # I'm KFAILing this rather than deleting it for form's sake.
    setup_kfail "gdb/945" "*-*-*"
    test_demangling_exact "lucid: __vtbl__3foo__vt_cc_main_" ""

    test_demangling_exact "lucid: abs__F7complex" "abs(complex)"
    test_demangling_exact "lucid: allocate__9streambufFv" "streambuf::allocate(void)"
    test_demangling_exact "lucid: attach__11fstreambaseFi" "fstreambase::attach(int)"
    test_demangling_exact "lucid: bitalloc__3iosSFv" "ios::bitalloc(void) static"
    test_demangling_exact "lucid: chr__FiT1" "chr(int, int)"
    test_demangling_exact "lucid: complex_error__FR11c_exception" "complex_error(c_exception &)"
    test_demangling_exact "lucid: complexfunc2__FPFPc_i" "complexfunc2(int (*)(char *))"
    test_demangling_exact "lucid: complexfunc3__FPFPFPl_s_i" "complexfunc3(int (*)(short (*)(long *)))"

    test_demangling_exact "lucid: complexfunc4__FPFPFPc_s_i" "complexfunc4(int (*)(short (*)(char *)))"
    test_demangling_exact "lucid: complexfunc5__FPFPc_PFl_i" "complexfunc5(int (*(*)(char *))(long))"
    test_demangling_exact "lucid: complexfunc6__FPFPi_PFl_i" "complexfunc6(int (*(*)(int *))(long))"
    test_demangling_exact "lucid: complexfunc7__FPFPFPc_i_PFl_i" "complexfunc7(int (*(*)(int (*)(char *)))(long))"
    test_demangling_exact "lucid: complicated_put__7ostreamFc" "ostream::complicated_put(char)"
    test_demangling_exact "lucid: conv10__FlPc" "conv10(long, char *)"
    test_demangling_exact "lucid: conv16__FUlPc" "conv16(unsigned long, char *)"
    test_demangling_exact "lucid: dec__FR3ios" "dec(ios &)"
    test_demangling_exact "lucid: dec__Fli" "dec(long, int)"
    test_demangling_exact "lucid: dofield__FP7ostreamPciT2T3" "dofield(ostream *, char *, int, char *, int)"

    test_demangling_exact "lucid: flags__3iosFl" "ios::flags(long)"
    test_demangling_exact "lucid: flags__3iosFv" "ios::flags(void)"
    test_demangling_exact "lucid: foo__FiN31" "foo(int, int, int, int)"
    test_demangling_exact "lucid: foo__FiR3fooT1T2T1T2" "foo(int, foo &, int, foo &, int, foo &)"
    test_demangling_exact "lucid: foo___3barFl" "bar::foo_(long)"
    test_demangling "lucid: form__FPCce" "form\[(\]+(const char|char const) \[*\]+,...\[)\]+"
    test_demangling_exact "lucid: get__7istreamFPcic" "istream::get(char *, int, char)"
    test_demangling_exact "lucid: get__7istreamFR9streambufc" "istream::get(streambuf &, char)"
    test_demangling_exact "lucid: get_complicated__7istreamFRUc" "istream::get_complicated(unsigned char &)"
    test_demangling_exact "lucid: get_complicated__7istreamFRc" "istream::get_complicated(char &)"
    test_demangling_exact "lucid: getline__7istreamFPUcic" "istream::getline(unsigned char *, int, char)"
    test_demangling_exact "lucid: getline__7istreamFPcic" "istream::getline(char *, int, char)"

    test_demangling_exact "lucid: ignore__7istreamFiT1" "istream::ignore(int, int)"
    test_demangling_exact "lucid: init__12strstreambufFPciT1" "strstreambuf::init(char *, int, char *)"
    test_demangling_exact "lucid: init__3iosFP9streambuf" "ios::init(streambuf *)"
    test_demangling_exact "lucid: initcount__13Iostream_init" "Iostream_init::initcount"
    test_demangling_exact "lucid: ipfx__7istreamFi" "istream::ipfx(int)"
    test_demangling_exact "lucid: ls_complicated__7ostreamFUc" "ostream::ls_complicated(unsigned char)"
    test_demangling_exact "lucid: ls_complicated__7ostreamFc" "ostream::ls_complicated(char)"
    test_demangling "lucid: open__11fstreambaseFPCciT2" \
	"fstreambase::open\[(\]+(const char|char const) \[*\]+, int, int\[)\]+"
    test_demangling "lucid: open__7filebufFPCciT2" \
	"filebuf::open\[(\]+(const char|char const) \[*\]+, int, int\[)\]+"

    test_demangling_exact "lucid: overload1arg__FSc" "overload1arg(signed char)"
    test_demangling_exact "lucid: overload1arg__FUc" "overload1arg(unsigned char)"
    test_demangling_exact "lucid: overload1arg__FUi" "overload1arg(unsigned int)"
    test_demangling_exact "lucid: overload1arg__FUl" "overload1arg(unsigned long)"
    test_demangling_exact "lucid: overload1arg__FUs" "overload1arg(unsigned short)"
    test_demangling_exact "lucid: overload1arg__Fc" "overload1arg(char)"
    test_demangling_exact "lucid: overload1arg__Fd" "overload1arg(double)"
    test_demangling_exact "lucid: overload1arg__Ff" "overload1arg(float)"
    test_demangling_exact "lucid: overload1arg__Fi" "overload1arg(int)"
    test_demangling_exact "lucid: overload1arg__Fl" "overload1arg(long)"
    test_demangling_exact "lucid: overload1arg__Fs" "overload1arg(short)"
    test_demangling_exact "lucid: overload1arg__Fv" "overload1arg(void)"
    test_demangling_exact "lucid: overloadargs__FiN21" "overloadargs(int, int, int)"
    test_demangling_exact "lucid: overloadargs__FiN31" "overloadargs(int, int, int, int)"
    test_demangling_exact "lucid: overloadargs__FiN41" "overloadargs(int, int, int, int, int)"
    test_demangling_exact "lucid: overloadargs__FiN51" "overloadargs(int, int, int, int, int, int)"
    test_demangling_exact "lucid: overloadargs__FiN61" "overloadargs(int, int, int, int, int, int, int)"

    test_demangling_exact "lucid: overloadargs__FiN71" "overloadargs(int, int, int, int, int, int, int, int)"
    test_demangling_exact "lucid: overloadargs__FiN81" "overloadargs(int, int, int, int, int, int, int, int, int)"
    test_demangling_exact "lucid: overloadargs__FiN91" "overloadargs(int, int, int, int, int, int, int, int, int, int)"
    test_demangling_exact "lucid: overloadargs__FiN91N11" "overloadargs(int, int, int, int, int, int, int, int, int, int, int)"
    test_demangling_exact "lucid: overloadargs__FiT1" "overloadargs(int, int)"
    test_demangling_exact "lucid: polar__FdT1" "polar(double, double)"
    test_demangling_exact "lucid: pow__F7complexT1" "pow(complex, complex)"
    test_demangling_exact "lucid: pow__F7complexd" "pow(complex, double)"
    test_demangling_exact "lucid: pow__F7complexi" "pow(complex, int)"
    test_demangling_exact "lucid: pow__Fd7complex" "pow(double, complex)"
    test_demangling_exact "lucid: pstart__FPciT2" "pstart(char *, int, int)"
    test_demangling_exact "lucid: put__7ostreamFc" "ostream::put(char)"

    test_demangling_exact "lucid: read__7istreamFPci" "istream::read(char *, int)"
    test_demangling_exact "lucid: resetiosflags__FR3iosl" "resetiosflags(ios &, long)"
    test_demangling_exact "lucid: restore_errno__FRi" "restore_errno(int &)"
    test_demangling_exact "lucid: rs_complicated__7istreamFRUc" "istream::rs_complicated(unsigned char &)"
    test_demangling_exact "lucid: rs_complicated__7istreamFRc" "istream::rs_complicated(char &)"
    test_demangling_exact "lucid: seekg__7istreamFl8seek_dir" "istream::seekg(long, seek_dir)"
    test_demangling_exact "lucid: seekoff__12strstreambufFl8seek_diri" "strstreambuf::seekoff(long, seek_dir, int)"
    test_demangling_exact "lucid: seekoff__9streambufFlQ2_3ios12ios_seek_diri" "streambuf::seekoff(long, ios::ios_seek_dir, int)"
    test_demangling_exact "lucid: seekpos__9streambufFli" "streambuf::seekpos(long, int)"
    test_demangling_exact "lucid: set_new_handler__FPFv_v" "set_new_handler(void (*)(void))"
    test_demangling_exact "lucid: setb__9streambufFPcT1i" "streambuf::setb(char *, char *, int)"

    test_demangling_exact "lucid: setb__FR3iosi" "setb(ios &, int)"
    test_demangling_exact "lucid: setbuf__11fstreambaseFPci" "fstreambase::setbuf(char *, int)"
    test_demangling_exact "lucid: setbuf__9streambufFPUci" "streambuf::setbuf(unsigned char *, int)"
    test_demangling_exact "lucid: setbuf__9streambufFPciT2" "streambuf::setbuf(char *, int, int)"
    test_demangling_exact "lucid: setf__3iosFlT1" "ios::setf(long, long)"
    test_demangling_exact "lucid: setfill__FR3iosi" "setfill(ios &, int)"
    test_demangling_exact "lucid: setg__9streambufFPcN21" "streambuf::setg(char *, char *, char *)"
    test_demangling_exact "lucid: setp__9streambufFPcT1" "streambuf::setp(char *, char *)"

    test_demangling "lucid: sputn__9streambufFPCci" \
	"streambuf::sputn\[(\]+(const char|char const) \[*\]+, int\[)\]+"
    test_demangling "lucid: str__FPCci" \
	"str\[(\]+(const char|char const) \[*\]+, int\[)\]+"
    test_demangling_exact "lucid: tie__3iosFP7ostream" "ios::tie(ostream *)"
    test_demangling_exact "lucid: uconv10__FUlPc" "uconv10(unsigned long, char *)"

    test_demangling "lucid: write__7ostreamFPCci" \
	"ostream::write\[(\]+(const char|char const) \[*\]+, int\[)\]+"
    test_demangling_exact "lucid: xget__7istreamFPc" "istream::xget(char *)"
    test_demangling_exact "lucid: xsgetn__9streambufFPci" "streambuf::xsgetn(char *, int)"
    test_demangling "lucid: xsputn__9streambufFPCci" \
	"streambuf::xsputn\[(\]+(const char|char const) \[*\]+, int\[)\]+"

    test_demangling_exact "lucid: _Utf390_1__1_9223372036854775807__9223372036854775" \
	    "Can't demangle \"_Utf390_1__1_9223372036854775807__9223372036854775\""
}

#
#  Test arm style name demangling
#

proc test_arm_style_demangling {} {
    test_demangling_exact "arm: __dt__21T5__pt__11_PFiPPdPv_iFv" "T5<int (*)(int, double **, void *)>::~T5(void)"

    test_demangling_exact "arm: __ct__1cFi" "c::c(int)"

    test_demangling_exact "arm: __dt__11T5__pt__2_iFv" "T5<int>::~T5(void)"

    test_demangling_exact "arm: __dt__11T5__pt__2_cFv" "T5<char>::~T5(void)"

    test_demangling_exact "arm: __ct__2T2Fi" "T2::T2(int)"
    test_demangling_exact "arm: __dt__2T1Fv" "T1::~T1(void)"

    test_demangling_exact "arm: __dt__12T5__pt__3_1xFv" "T5<x>::~T5(void)"

    test_demangling_exact "arm: __dt__17T5__pt__8_PFcPv_iFv" "T5<int (*)(char, void *)>::~T5(void)"

    test_demangling "arm: g__FP1cPC1cT1" \
	"g\[(\]+c *\[*\]+, (const c|c const) *\[*\]+, c *\[*\]+\[)\]+"
    test_demangling "arm: g__FPUlPCUlT1" \
	"g\[(\]+unsigned long \[*\]+, (const unsigned long|unsigned long const) \[*\]+, unsigned long \[*\]+\[)\]+"
    test_demangling "arm: g__FPUiPCUiT1" \
	"g\[(\]+unsigned int \[*\]+, (const unsigned int|unsigned int const) \[*\]+, unsigned int \[*\]+\[)\]+"
    test_demangling "arm: g__FPUsPCUsT1" \
	"g\[(\]+unsigned short \[*\]+, (const unsigned short|unsigned short const) \[*\]+, unsigned short \[*\]+\[)\]+"
    test_demangling "arm: g__FPUcPCUcT1" \
	"g\[(\]+unsigned char \[*\]+, (const unsigned char|unsigned char const) \[*\]+, unsigned char \[*\]+\[)\]+"
    test_demangling "arm: g__F1TPlPClT2" \
	"g\[(\]+T, long \[*\]+, (const long|long const) \[*\]+, long \[*\]+\[)\]+"
    test_demangling "arm: g__F1RRlRClT2" \
	"g\[(\]+R, long &, (const long|long const) &, long &\[)\]+"
    test_demangling "arm: g__F1TPiPCiT2" \
	"g\[(\]+T, int \[*\]+, (const int|int const) \[*\]+, int \[*\]+\[)\]+"
    test_demangling "arm: g__F1RRiRCiT2" \
	"g\[(\]+R, int &, (const int|int const) &, int &\[)\]+"
    test_demangling "arm: g__F1TPsPCsT2" \
	"g\[(\]+T, short \[*\]+, (const short|short const) \[*\]+, short \[*\]+\[)\]+"
    test_demangling "arm: g__F1RRsRCsT2" \
	"g\[(\]+R, short &, (const short|short const) &, short &\[)\]+"
    test_demangling "arm: g__F1TPcPCcT2" \
	"g\[(\]+T, char \[*\]+, (const char|char const) \[*\]+, char \[*\]+\[)\]+"
    test_demangling "arm: g__F1RRcRCcT2" \
	"g\[(\]+R, char &, (const char|char const) &, char &\[)\]+"

    test_demangling_exact "arm: __ct__21T5__pt__11_PFiPPdPv_iFi" "T5<int (*)(int, double **, void *)>::T5(int)"

    test_demangling "arm: __gt__FRC2T2c" \
	"operator>\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling "arm: __ge__FRC2T2c" \
	"operator>=\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling "arm: __lt__FRC2T2c" \
	"operator<\[(\]+(const T2|T2 const) &, char\[)\]+"

    test_demangling "arm: __le__FRC2T2c" \
	"operator<=\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling "arm: __ne__FRC2T2c" \
	"operator!=\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling "arm: __eq__FRC2T2c" \
	"operator==\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling_exact "arm: __amd__FR2T2i" "operator%=(T2 &, int)"
    test_demangling_exact "arm: __adv__FR2T2i" "operator/=(T2 &, int)"
    test_demangling_exact "arm: __amu__FR2T2i" "operator*=(T2 &, int)"
    test_demangling_exact "arm: __ami__FR2T2i" "operator-=(T2 &, int)"
    test_demangling_exact "arm: __apl__FR2T2i" "operator+=(T2 &, int)"
    test_demangling_exact "arm: __nw__2T1SFUi" "T1::operator new(unsigned int) static"
    test_demangling_exact "arm: __dl__2T1SFPv" "T1::operator delete(void *) static"
    test_demangling_exact "arm: put__2T7SFi" "T7::put(int) static"

    test_demangling_exact "arm: __dl__12T5__pt__3_1xSFPv" "T5<x>::operator delete(void *) static"

    test_demangling_exact "arm: h__FUc" "h(unsigned char)"
    test_demangling_exact "arm: f__Fic" "f(int, char)"
    test_demangling_exact "arm: h__FUi" "h(unsigned int)"
    test_demangling_exact "arm: h__Fci" "h(char, int)"
    test_demangling_exact "arm: h__FUl" "h(unsigned long)"
    test_demangling_exact "arm: h__Fcl" "h(char, long)"
    test_demangling_exact "arm: h__FUs" "h(unsigned short)"
    test_demangling_exact "arm: h__Fcs" "h(char, short)"
    test_demangling "arm: __amd__FR2T2RC2T2" \
	"operator%=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __adv__FR2T2RC2T2" \
	"operator/=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __amu__FR2T2RC2T2" \
	"operator\[*\]+=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __ami__FR2T2RC2T2" \
	"operator-=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __apl__FR2T2RC2T2" \
	"operator\[+\]+=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"

    test_demangling "arm: g__F1SRPUlRPCUlT2" \
	"g\[(\]+S, unsigned long \[*\]+&, (const unsigned long|unsigned long const) \[*\]+&, unsigned long \[*\]+&\[)\]+"
    test_demangling "arm: g__F1SRPUiRPCUiT2" \
	"g\[(\]+S, unsigned int \[*\]+&, (const unsigned int|unsigned int const) \[*\]+&, unsigned int \[*\]+&\[)\]+"
    test_demangling "arm: g__F1SRPUsRPCUsT2" \
	"g\[(\]+S, unsigned short \[*\]+&, (const unsigned short|unsigned short const) \[*\]+&, unsigned short \[*\]+&\[)\]+"
    test_demangling "arm: g__F1SRPUcRPCUcT2" \
	"g\[(\]+S, unsigned char \[*\]+&, (const unsigned char|unsigned char const) \[*\]+&, unsigned char \[*\]+&\[)\]+"
    test_demangling "arm: g__F1T1SRPlRPClT3" \
	"g\[(\]+T, S, long \[*\]+&, (const long|long const) \[*\]+&, long \[*\]+&\[)\]+"
    test_demangling "arm: g__F1T1SRPiRPCiT3" \
	"g\[(\]+T, S, int \[*\]+&, (const int|int const) \[*\]+&, int \[*\]+&\[)\]+"
    test_demangling "arm: g__F1T1SRPcRPCcT3" \
	"g\[(\]+T, S, char \[*\]+&, (const char|char const) \[*\]+&, char \[*\]+&\[)\]+"

    test_demangling_exact "arm: X__12T5__pt__3_1x" "T5<x>::X"

    test_demangling_exact "arm: __ct__11T5__pt__2_iFi" "T5<int>::T5(int)"

    test_demangling_exact "arm: __ct__11T5__pt__2_cFi" "T5<char>::T5(int)"

    test_demangling "arm: __gt__FRC2T2T1" \
	"operator>\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __ge__FRC2T2T1" \
	"operator>=\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __lt__FRC2T2T1" \
	"operator<\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __le__FRC2T2T1" \
	"operator<=\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __ne__FRC2T2T1" \
	"operator!=\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __eq__FRC2T2T1" \
	"operator==\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "arm: g__FcR1cRC1cT2" \
	"g\[(\]+char, c &, (const c|c const) &, c &\[)\]+"
    test_demangling "arm: g__FcRPdRPCdT2" \
	"g\[(\]+char, double *\[*\]+&, (const double|double const) *\[*\]+&, double *\[*\]+&\[)\]+"
    test_demangling "arm: g__FcRPfRPCfT2" \
	"g\[(\]+char, float *\[*\]+&, (const float|float const) *\[*\]+&, float *\[*\]+&\[)\]+"
    test_demangling_exact "arm: h__FcT1" "h(char, char)"
    test_demangling_exact "arm: f__Ficd" "f(int, char, double)"
    test_demangling "arm: g__F1T1SdRPsRPCsT4" \
	"g\[(\]+T, S, double, short \[*\]+&, (const short|short const) \[*\]+&, short \[*\]+&\[)\]+"
    test_demangling "arm: g__F1cC1cT1" \
	"g\[(\]+c, (const c|c const), c\[)\]+"
    test_demangling "arm: g__FPdPCdT1" \
	"g\[(\]+double *\[*\]+, (const double|double const) *\[*\]+, double *\[*\]+\[)\]+"
    test_demangling "arm: g__FPfPCfT1" \
	"g\[(\]+float *\[*\]+, (const float|float const) *\[*\]+, float *\[*\]+\[)\]+"

    test_demangling "arm: g__FUlCUlT1" \
	"g\[(\]+unsigned long, (const unsigned long|unsigned long const), unsigned long\[)\]+"
    test_demangling "arm: g__FPlPClT1" \
	"g\[(\]+long \[*\]+, (const long|long const) \[*\]+, long \[*\]+\[)\]+"
    test_demangling "arm: g__FUiCUiT1" \
	"g\[(\]+unsigned int, (const unsigned int|unsigned int const), unsigned int\[)\]+"
    test_demangling "arm: g__FPiPCiT1" \
	"g\[(\]+int \[*\]+, (const int|int const) \[*\]+, int \[*\]+\[)\]+"
    test_demangling "arm: g__FUsCUsT1" \
	"g\[(\]+unsigned short, (const unsigned short|unsigned short const), unsigned short\[)\]+"
    test_demangling "arm: g__FPsPCsT1" \
	"g\[(\]+short \[*\]+, (const short|short const) \[*\]+, short \[*\]+\[)\]+"
    test_demangling "arm: g__FUcCUcT1" \
	"g\[(\]+unsigned char, (const unsigned char|unsigned char const), unsigned char\[)\]+"
    test_demangling "arm: g__FPcPCcT1" \
	"g\[(\]+char \[*\]+, (const char|char const) \[*\]+, char \[*\]+\[)\]+"
    test_demangling "arm: g__F1TlClT2" \
	"g\[(\]+T, long, (const long|long const), long\[)\]+"
    test_demangling "arm: g__F1TiCiT2" \
	"g\[(\]+T, int, (const int|int const), int\[)\]+"
    test_demangling "arm: g__F1TsCsT2" \
	"g\[(\]+T, short, (const short|short const), short\[)\]+"
    test_demangling "arm: g__F1TcCcT2" \
	"g\[(\]+T, char, (const char|char const), char\[)\]+"

    test_demangling_exact "arm: __dl__17T5__pt__8_PFcPv_iSFPv" "T5<int (*)(char, void *)>::operator delete(void *) static"

    test_demangling "arm: printf__FPCce" \
	"printf\[(\]+(const char|char const) \[*\]+,...\[)\]+"

    test_demangling_exact "arm: X__17T5__pt__8_PFcPv_i" "T5<int (*)(char, void *)>::X"

    test_demangling_exact "arm: __ct__12T5__pt__3_1xFi" "T5<x>::T5(int)"

    test_demangling "arm: g__F1SRUlRCUlT2" \
	"g\[(\]+S, unsigned long &, (const unsigned long|unsigned long const) &, unsigned long &\[)\]+"
    test_demangling "arm: g__F1SRPlRPClT2" \
	"g\[(\]+S, long \[*\]+&, (const long|long const) \[*\]+&, long \[*\]+&\[)\]+"
    test_demangling "arm: g__F1RRUiRCUiT2" \
	"g\[(\]+R, unsigned int &, (const unsigned int|unsigned int const) &, unsigned int &\[)\]+"
    test_demangling "arm: g__F1SRPiRPCiT2" \
	"g\[(\]+S, int \[*\]+&, (const int|int const) \[*\]+&, int \[*\]+&\[)\]+"
    test_demangling "arm: g__F1RRUsRCUsT2" \
	"g\[(\]+R, unsigned short &, (const unsigned short|unsigned short const) &, unsigned short &\[)\]+"
    test_demangling "arm: g__F1SRPsRPCsT2" \
	"g\[(\]+S, short \[*\]+&, (const short|short const) \[*\]+&, short \[*\]+&\[)\]+"
    test_demangling "arm: g__F1RRUcRCUcT2" \
	"g\[(\]+R, unsigned char &, (const unsigned char|unsigned char const) &, unsigned char &\[)\]+"
    test_demangling "arm: g__F1SRPcRPCcT2" \
	"g\[(\]+S, char \[*\]+&, (const char|char const) \[*\]+&, char \[*\]+&\[)\]+"
    test_demangling "arm: g__F1T1RRlRClT3" \
	"g\[(\]+T, R, long &, (const long|long const) &, long &\[)\]+"
    test_demangling "arm: g__F1T1RRiRCiT3" \
	"g\[(\]+T, R, int &, (const int|int const) &, int &\[)\]+"
    test_demangling "arm: g__F1T1RRsRCsT3" \
	"g\[(\]+T, R, short &, (const short|short const) &, short &\[)\]+"
    test_demangling "arm: g__F1T1RRcRCcT3" \
	"g\[(\]+T, R, char &, (const char|char const) &, char &\[)\]+"

    test_demangling_exact "arm: __dl__21T5__pt__11_PFiPPdPv_iSFPv" "T5<int (*)(int, double **, void *)>::operator delete(void *) static"

    test_demangling_exact "arm: __std__foo" "global destructors keyed to foo"

    test_demangling_exact "arm: __sti__bar" "global constructors keyed to bar"

    test_demangling_exact "arm: f__FicdPcPFci_v" "f(int, char, double, char *, void (*)(char, int))"
    test_demangling_exact "arm: f__FicdPcPFic_v" "f(int, char, double, char *, void (*)(int, char))"
    test_demangling_exact "arm: get__2T7SFv" "T7::get(void) static"

    test_demangling_exact "arm: X__21T5__pt__11_PFiPPdPv_i" "T5<int (*)(int, double **, void *)>::X"

    test_demangling "arm: g__FcRdRCdT2" \
	"g\[(\]+char, double &, (const double|double const) &, double &\[)\]+"
    test_demangling "arm: g__FcRfRCfT2" \
	"g\[(\]+char, float &, (const float|float const) &, float &\[)\]+"
    test_demangling "arm: __md__FC2T2i" \
	"operator%\[(\]+(const T2|T2 const), int\[)\]+"
    test_demangling "arm: __dv__FC2T2i" \
	"operator/\[(\]+(const T2|T2 const), int\[)\]+"
    test_demangling "arm: __ml__FC2T2i" \
	"operator\[*\]+\[(\]+(const T2|T2 const), int\[)\]+"
    test_demangling "arm: __mi__FC2T2i" \
	"operator-\[(\]+(const T2|T2 const), int\[)\]+"
    test_demangling "arm: __pl__FC2T2i" \
	"operator\[+\]+\[(\]+(const T2|T2 const), int\[)\]+"

    test_demangling_exact "arm: __dl__11T5__pt__2_iSFPv" "T5<int>::operator delete(void *) static"

    test_demangling_exact "arm: __dl__11T5__pt__2_cSFPv" "T5<char>::operator delete(void *) static"

    test_demangling_exact "arm: h__Fc" "h(char)"
    test_demangling_exact "arm: h__Fd" "h(double)"
    test_demangling_exact "arm: h__Ff" "h(float)"
    test_demangling_exact "arm: h__Fi" "h(int)"
    test_demangling_exact "arm: f__Fi" "f(int)"
    test_demangling_exact "arm: h__Fl" "h(long)"

    test_demangling_exact "arm: h__Fs" "h(short)"
    test_demangling "arm: __md__FC2T2RC2T2" \
	"operator%\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __dv__FC2T2RC2T2" \
	"operator/\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __ml__FC2T2RC2T2" \
	"operator\[*\]+\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __mi__FC2T2RC2T2" \
	"operator-\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "arm: __pl__FC2T2RC2T2" \
	"operator\[+\]+\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "arm: g__FcRP1cRPC1cT2" \
	"g\[(\]+char, c *\[*\]+&, (const c|c const) *\[*\]+&, c *\[*\]+&\[)\]+"

    test_demangling_exact "arm: X__11T5__pt__2_c" "T5<char>::X"

    test_demangling_exact "arm: X__11T5__pt__2_i" "T5<int>::X"

    test_demangling "arm: g__FdCdT1" \
	"g\[(\]+double, (const double|double const), double\[)\]+"
    test_demangling "arm: g__FfCfT1" \
	"g\[(\]+float, (const float|float const), float\[)\]+"
    test_demangling "arm: g__FlClT1" \
	"g\[(\]+long, (const long|long const), long\[)\]+"
    test_demangling "arm: g__FiCiT1" \
	"g\[(\]+int, (const int|int const), int\[)\]+"
    test_demangling "arm: g__FsCsT1" \
	"g\[(\]+short, (const short|short const), short\[)\]+"
    test_demangling "arm: g__FcCcT1" \
	"g\[(\]+char, (const char|char const), char\[)\]+"

    test_demangling_exact "arm: __ct__17T5__pt__8_PFcPv_iFi" "T5<int (*)(char, void *)>::T5(int)"

    test_demangling_exact "arm: f__FicdPc" "f(int, char, double, char *)"
    test_demangling_exact "arm: __nw__FUi" "operator new(unsigned int)"
    test_demangling_exact "arm: __ct__Q3_2T11a1bSFi" "T1::a::b::b(int) static"
    test_demangling_exact "arm: __dt__Q3_2T11a1bSFi" "T1::a::b::~b(int) static"
    test_demangling_exact "arm: put__Q3_2T11a1bSFi" "T1::a::b::put(int) static"
    test_demangling_exact "arm: get__Q2_2T11aSFv" "T1::a::get(void) static"
    test_demangling_exact "arm: put__2T1SFi" "T1::put(int) static"
    test_demangling_exact "arm: put__Q5_2T11a1b1c1dSFi" "T1::a::b::c::d::put(int) static"
    test_demangling_exact "arm: get__Q4_2T11a1b1cSFv" "T1::a::b::c::get(void) static"
    test_demangling_exact "arm: put__Q2_2T11aSFi" "T1::a::put(int) static"
    test_demangling_exact "arm: put__Q4_2T11a1b1cSFi" "T1::a::b::c::put(int) static"
    test_demangling_exact "arm: get__Q3_2T11a1bSFv" "T1::a::b::get(void) static"
    test_demangling_exact "arm: get__2T1SFv" "T1::get(void) static"
    test_demangling_exact "arm: get__Q5_2T11a1b1c1dSFv" "T1::a::b::c::d::get(void) static"

    test_demangling_exact "arm: __dt__11T1__pt__2_cFv" "T1<char>::~T1(void)"

    test_demangling_exact "arm: __dt__12T1__pt__3_1tFv" "T1<t>::~T1(void)"

    test_demangling_exact "arm: __dl__12T1__pt__3_1tSFPv" "T1<t>::operator delete(void *) static"

    test_demangling_exact "arm: __ct__11T1__pt__2_cFi" "T1<char>::T1(int)"

    test_demangling_exact "arm: __ct__11T1__pt__2_cFv" "T1<char>::T1(void)"

    test_demangling_exact "arm: __ct__12T1__pt__3_1tFi" "T1<t>::T1(int)"

    test_demangling_exact "arm: __ct__12T1__pt__3_1tFv" "T1<t>::T1(void)"

    test_demangling_exact "arm: __dl__11T1__pt__2_cSFPv" "T1<char>::operator delete(void *) static"

    test_demangling_exact "arm: bar__3fooFPv"       "foo::bar(void *)"
    test_demangling "arm: bar__3fooFPCv" \
	     "foo::bar\[(\]+(const void|void const) *\[*\]+\[)\]+"
    test_demangling_exact "arm: bar__3fooCFPv"      "foo::bar(void *) const"
    test_demangling "arm: bar__3fooCFPCv" \
	    "foo::bar\[(\]+(const void|void const) *\[*\]+\[)\]+ const"
    test_demangling_exact "arm: __eq__3fooFR3foo"   "foo::operator==(foo &)"
    test_demangling "arm: __eq__3fooFRC3foo" \
	 "foo::operator==\[(\]+(const foo|foo const) &\[)\]+"
    test_demangling_exact "arm: __eq__3fooCFR3foo"  "foo::operator==(foo &) const"
    test_demangling "arm: __eq__3fooCFRC3foo" \
	"foo::operator==\[(\]+(const foo|foo const) &\[)\]+ const"

    test_demangling_exact "arm: elem__15vector__pt__2_dFi" "vector<double>::elem(int)"

    test_demangling_exact "arm: elem__15vector__pt__2_iFi" "vector<int>::elem(int)"

    test_demangling_exact "arm: __ct__15vector__pt__2_dFi" "vector<double>::vector(int)"

    test_demangling_exact "arm: __ct__15vector__pt__2_iFi" "vector<int>::vector(int)"

    test_demangling_exact "arm: __ct__25DListNode__pt__9_R6RLabelFR6RLabelP25DListNode__pt__9_R6RLabelT2" \
	"DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)"

    test_demangling_exact "arm: bar__3fooFiT16FooBar" "foo::bar(int, int, FooBar)"

    test_demangling_exact "arm: bar__3fooFPiN51PdN37PcN211T1iN215" \
      "foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)"

    test_demangling_exact "arm: _Utf390_1__1_9223372036854775807__9223372036854775" \
	    "Can't demangle \"_Utf390_1__1_9223372036854775807__9223372036854775\""
}

proc test_hp_style_demangling {} {

    # HP aCC mangling style is based on ARM for all the basic stuff,
    # so first we use some of the ARM tests here.  Later we have HP-specific
    # tests.
        
    test_demangling "hp: g__FP1cPC1cT1" \
	"g\[(\]+c *\[*\]+, (const c|c const) *\[*\]+, c *\[*\]+\[)\]+"
    test_demangling "hp: g__FPUlPCUlT1" \
	"g\[(\]+unsigned long \[*\]+, (const unsigned long|unsigned long const) \[*\]+, unsigned long \[*\]+\[)\]+"
    test_demangling "hp: g__FPUiPCUiT1" \
	"g\[(\]+unsigned int \[*\]+, (const unsigned int|unsigned int const) \[*\]+, unsigned int \[*\]+\[)\]+"
    test_demangling "hp: g__FPUsPCUsT1" \
	"g\[(\]+unsigned short \[*\]+, (const unsigned short|unsigned short const) \[*\]+, unsigned short \[*\]+\[)\]+"
    test_demangling "hp: g__FPUcPCUcT1" \
	"g\[(\]+unsigned char \[*\]+, (const unsigned char|unsigned char const) \[*\]+, unsigned char \[*\]+\[)\]+"
    test_demangling "hp: g__F1TPlPClT2" \
	"g\[(\]+T, long \[*\]+, (const long|long const) \[*\]+, long \[*\]+\[)\]+"
    test_demangling "hp: g__F1RRlRClT2" \
	"g\[(\]+R, long &, (const long|long const) &, long &\[)\]+"
    test_demangling "hp: g__F1TPiPCiT2" \
	"g\[(\]+T, int \[*\]+, (const int|int const) \[*\]+, int \[*\]+\[)\]+"
    test_demangling "hp: g__F1RRiRCiT2" \
	"g\[(\]+R, int &, (const int|int const) &, int &\[)\]+"
    test_demangling "hp: g__F1TPsPCsT2" \
	"g\[(\]+T, short \[*\]+, (const short|short const) \[*\]+, short \[*\]+\[)\]+"
    test_demangling "hp: g__F1RRsRCsT2" \
	"g\[(\]+R, short &, (const short|short const) &, short &\[)\]+"
    test_demangling "hp: g__F1TPcPCcT2" \
	"g\[(\]+T, char \[*\]+, (const char|char const) \[*\]+, char \[*\]+\[)\]+"
    test_demangling "hp: g__F1RRcRCcT2" \
	"g\[(\]+R, char &, (const char|char const) &, char &\[)\]+"

    test_demangling "hp: __gt__FRC2T2c" \
	"operator>\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling "hp: __ge__FRC2T2c" \
	"operator>=\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling "hp: __lt__FRC2T2c" \
	"operator<\[(\]+(const T2|T2 const) &, char\[)\]+"

    test_demangling "hp: __le__FRC2T2c" \
	"operator<=\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling "hp: __ne__FRC2T2c" \
	"operator!=\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling "hp: __eq__FRC2T2c" \
	"operator==\[(\]+(const T2|T2 const) &, char\[)\]+"
    test_demangling_exact "hp: __amd__FR2T2i" "operator%=(T2 &, int)"
    test_demangling_exact "hp: __adv__FR2T2i" "operator/=(T2 &, int)"
    test_demangling_exact "hp: __amu__FR2T2i" "operator*=(T2 &, int)"
    test_demangling_exact "hp: __ami__FR2T2i" "operator-=(T2 &, int)"
    test_demangling_exact "hp: __apl__FR2T2i" "operator+=(T2 &, int)"
    test_demangling_exact "hp: __nw__2T1SFUi" "T1::operator new(unsigned int) static"
    test_demangling_exact "hp: __dl__2T1SFPv" "T1::operator delete(void *) static"
    test_demangling_exact "hp: put__2T7SFi" "T7::put(int) static"

    test_demangling_exact "hp: h__FUc" "h(unsigned char)"
    test_demangling_exact "hp: f__Fic" "f(int, char)"
    test_demangling_exact "hp: h__FUi" "h(unsigned int)"
    test_demangling_exact "hp: h__Fci" "h(char, int)"
    test_demangling_exact "hp: h__FUl" "h(unsigned long)"
    test_demangling_exact "hp: h__Fcl" "h(char, long)"
    test_demangling_exact "hp: h__FUs" "h(unsigned short)"
    test_demangling_exact "hp: h__Fcs" "h(char, short)"
    test_demangling "hp: __amd__FR2T2RC2T2" \
	"operator%=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __adv__FR2T2RC2T2" \
	"operator/=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __amu__FR2T2RC2T2" \
	"operator\[*\]+=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __ami__FR2T2RC2T2" \
	"operator-=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __apl__FR2T2RC2T2" \
	"operator\[+\]+=\[(\]+T2 &, (const T2|T2 const) &\[)\]+"

    test_demangling "hp: g__F1SRPUlRPCUlT2" \
	"g\[(\]+S, unsigned long \[*\]+&, (const unsigned long|unsigned long const) \[*\]+&, unsigned long \[*\]+&\[)\]+"
    test_demangling "hp: g__F1SRPUiRPCUiT2" \
	"g\[(\]+S, unsigned int \[*\]+&, (const unsigned int|unsigned int const) \[*\]+&, unsigned int \[*\]+&\[)\]+"
    test_demangling "hp: g__F1SRPUsRPCUsT2" \
	"g\[(\]+S, unsigned short \[*\]+&, (const unsigned short|unsigned short const) \[*\]+&, unsigned short \[*\]+&\[)\]+"
    test_demangling "hp: g__F1SRPUcRPCUcT2" \
	"g\[(\]+S, unsigned char \[*\]+&, (const unsigned char|unsigned char const) \[*\]+&, unsigned char \[*\]+&\[)\]+"
    test_demangling "hp: g__F1T1SRPlRPClT3" \
	"g\[(\]+T, S, long \[*\]+&, (const long|long const) \[*\]+&, long \[*\]+&\[)\]+"
    test_demangling "hp: g__F1T1SRPiRPCiT3" \
	"g\[(\]+T, S, int \[*\]+&, (const int|int const) \[*\]+&, int \[*\]+&\[)\]+"
    test_demangling "hp: g__F1T1SRPcRPCcT3" \
	"g\[(\]+T, S, char \[*\]+&, (const char|char const) \[*\]+&, char \[*\]+&\[)\]+"


    test_demangling "hp: __gt__FRC2T2T1" \
	"operator>\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __ge__FRC2T2T1" \
	"operator>=\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __lt__FRC2T2T1" \
	"operator<\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __le__FRC2T2T1" \
	"operator<=\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __ne__FRC2T2T1" \
	"operator!=\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __eq__FRC2T2T1" \
	"operator==\[(\]+(const T2|T2 const) &, (const T2|T2 const) &\[)\]+"
    test_demangling "hp: g__FcR1cRC1cT2" \
	"g\[(\]+char, c &, (const c|c const) &, c &\[)\]+"
    test_demangling "hp: g__FcRPdRPCdT2" \
	"g\[(\]+char, double *\[*\]+&, (const double|double const) *\[*\]+&, double *\[*\]+&\[)\]+"
    test_demangling "hp: g__FcRPfRPCfT2" \
	"g\[(\]+char, float *\[*\]+&, (const float|float const) *\[*\]+&, float *\[*\]+&\[)\]+"
    test_demangling_exact "hp: h__FcT1" "h(char, char)"
    test_demangling_exact "hp: f__Ficd" "f(int, char, double)"
    test_demangling "hp: g__F1T1SdRPsRPCsT4" \
	"g\[(\]+T, S, double, short \[*\]+&, (const short|short const) \[*\]+&, short \[*\]+&\[)\]+"
    test_demangling "hp: g__F1cC1cT1" \
	"g\[(\]+c, (const c|c const), c\[)\]+"
    test_demangling "hp: g__FPdPCdT1" \
	"g\[(\]+double *\[*\]+, (const double|double const) *\[*\]+, double *\[*\]+\[)\]+"
    test_demangling "hp: g__FPfPCfT1" \
	"g\[(\]+float *\[*\]+, (const float|float const) *\[*\]+, float *\[*\]+\[)\]+"

    test_demangling "hp: g__FUlCUlT1" \
	"g\[(\]+unsigned long, (const unsigned long|unsigned long const), unsigned long\[)\]+"
    test_demangling "hp: g__FPlPClT1" \
	"g\[(\]+long \[*\]+, (const long|long const) \[*\]+, long \[*\]+\[)\]+"
    test_demangling "hp: g__FUiCUiT1" \
	"g\[(\]+unsigned int, (const unsigned int|unsigned int const), unsigned int\[)\]+"
    test_demangling "hp: g__FPiPCiT1" \
	"g\[(\]+int \[*\]+, (const int|int const) \[*\]+, int \[*\]+\[)\]+"
    test_demangling "hp: g__FUsCUsT1" \
	"g\[(\]+unsigned short, (const unsigned short|unsigned short const), unsigned short\[)\]+"
    test_demangling "hp: g__FPsPCsT1" \
	"g\[(\]+short \[*\]+, (const short|short const) \[*\]+, short \[*\]+\[)\]+"
    test_demangling "hp: g__FUcCUcT1" \
	"g\[(\]+unsigned char, (const unsigned char|unsigned char const), unsigned char\[)\]+"
    test_demangling "hp: g__FPcPCcT1" \
	"g\[(\]+char \[*\]+, (const char|char const) \[*\]+, char \[*\]+\[)\]+"
    test_demangling "hp: g__F1TlClT2" \
	"g\[(\]+T, long, (const long|long const), long\[)\]+"
    test_demangling "hp: g__F1TiCiT2" \
	"g\[(\]+T, int, (const int|int const), int\[)\]+"
    test_demangling "hp: g__F1TsCsT2" \
	"g\[(\]+T, short, (const short|short const), short\[)\]+"
    test_demangling "hp: g__F1TcCcT2" \
	"g\[(\]+T, char, (const char|char const), char\[)\]+"

    test_demangling "hp: printf__FPCce" \
	"printf\[(\]+(const char|char const) \[*\]+,...\[)\]+"


    test_demangling "hp: g__F1SRUlRCUlT2" \
	"g\[(\]+S, unsigned long &, (const unsigned long|unsigned long const) &, unsigned long &\[)\]+"
    test_demangling "hp: g__F1SRPlRPClT2" \
	"g\[(\]+S, long \[*\]+&, (const long|long const) \[*\]+&, long \[*\]+&\[)\]+"
    test_demangling "hp: g__F1RRUiRCUiT2" \
	"g\[(\]+R, unsigned int &, (const unsigned int|unsigned int const) &, unsigned int &\[)\]+"
    test_demangling "hp: g__F1SRPiRPCiT2" \
	"g\[(\]+S, int \[*\]+&, (const int|int const) \[*\]+&, int \[*\]+&\[)\]+"
    test_demangling "hp: g__F1RRUsRCUsT2" \
	"g\[(\]+R, unsigned short &, (const unsigned short|unsigned short const) &, unsigned short &\[)\]+"
    test_demangling "hp: g__F1SRPsRPCsT2" \
	"g\[(\]+S, short \[*\]+&, (const short|short const) \[*\]+&, short \[*\]+&\[)\]+"
    test_demangling "hp: g__F1RRUcRCUcT2" \
	"g\[(\]+R, unsigned char &, (const unsigned char|unsigned char const) &, unsigned char &\[)\]+"
    test_demangling "hp: g__F1SRPcRPCcT2" \
	"g\[(\]+S, char \[*\]+&, (const char|char const) \[*\]+&, char \[*\]+&\[)\]+"
    test_demangling "hp: g__F1T1RRlRClT3" \
	"g\[(\]+T, R, long &, (const long|long const) &, long &\[)\]+"
    test_demangling "hp: g__F1T1RRiRCiT3" \
	"g\[(\]+T, R, int &, (const int|int const) &, int &\[)\]+"
    test_demangling "hp: g__F1T1RRsRCsT3" \
	"g\[(\]+T, R, short &, (const short|short const) &, short &\[)\]+"
    test_demangling "hp: g__F1T1RRcRCcT3" \
	"g\[(\]+T, R, char &, (const char|char const) &, char &\[)\]+"


    test_demangling_exact "hp: f__FicdPcPFci_v" "f(int, char, double, char *, void (*)(char, int))"
    test_demangling_exact "hp: f__FicdPcPFic_v" "f(int, char, double, char *, void (*)(int, char))"
    test_demangling_exact "hp: get__2T7SFv" "T7::get(void) static"


    test_demangling "hp: g__FcRdRCdT2" \
	"g\[(\]+char, double &, (const double|double const) &, double &\[)\]+"
    test_demangling "hp: g__FcRfRCfT2" \
	"g\[(\]+char, float &, (const float|float const) &, float &\[)\]+"
    test_demangling "hp: __md__FC2T2i" \
	"operator%\[(\]+(const T2|T2 const), int\[)\]+"
    test_demangling "hp: __dv__FC2T2i" \
	"operator/\[(\]+(const T2|T2 const), int\[)\]+"
    test_demangling "hp: __ml__FC2T2i" \
	"operator\[*\]+\[(\]+(const T2|T2 const), int\[)\]+"
    test_demangling "hp: __mi__FC2T2i" \
	"operator-\[(\]+(const T2|T2 const), int\[)\]+"
    test_demangling "hp: __pl__FC2T2i" \
	"operator\[+\]+\[(\]+(const T2|T2 const), int\[)\]+"


    test_demangling_exact "hp: h__Fc" "h(char)"
    test_demangling_exact "hp: h__Fd" "h(double)"
    test_demangling_exact "hp: h__Ff" "h(float)"
    test_demangling_exact "hp: h__Fi" "h(int)"
    test_demangling_exact "hp: f__Fi" "f(int)"
    test_demangling_exact "hp: h__Fl" "h(long)"

    test_demangling_exact "hp: h__Fs" "h(short)"
    test_demangling "hp: __md__FC2T2RC2T2" \
	"operator%\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __dv__FC2T2RC2T2" \
	"operator/\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __ml__FC2T2RC2T2" \
	"operator\[*\]+\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __mi__FC2T2RC2T2" \
	"operator-\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "hp: __pl__FC2T2RC2T2" \
	"operator\[+\]+\[(\]+(const T2|T2 const), (const T2|T2 const) &\[)\]+"
    test_demangling "hp: g__FcRP1cRPC1cT2" \
	"g\[(\]+char, c *\[*\]+&, (const c|c const) *\[*\]+&, c *\[*\]+&\[)\]+"


    test_demangling "hp: g__FdCdT1" \
	"g\[(\]+double, (const double|double const), double\[)\]+"
    test_demangling "hp: g__FfCfT1" \
	"g\[(\]+float, (const float|float const), float\[)\]+"
    test_demangling "hp: g__FlClT1" \
	"g\[(\]+long, (const long|long const), long\[)\]+"
    test_demangling "hp: g__FiCiT1" \
	"g\[(\]+int, (const int|int const), int\[)\]+"
    test_demangling "hp: g__FsCsT1" \
	"g\[(\]+short, (const short|short const), short\[)\]+"
    test_demangling "hp: g__FcCcT1" \
	"g\[(\]+char, (const char|char const), char\[)\]+"


    test_demangling_exact "hp: f__FicdPc" "f(int, char, double, char *)"
    test_demangling_exact "hp: __nw__FUi" "operator new(unsigned int)"
    test_demangling_exact "hp: __ct__Q3_2T11a1bSFi" "T1::a::b::b(int) static"
    test_demangling_exact "hp: __dt__Q3_2T11a1bSFi" "T1::a::b::~b(int) static"
    test_demangling_exact "hp: put__Q3_2T11a1bSFi" "T1::a::b::put(int) static"
    test_demangling_exact "hp: get__Q2_2T11aSFv" "T1::a::get(void) static"
    test_demangling_exact "hp: put__2T1SFi" "T1::put(int) static"
    test_demangling_exact "hp: put__Q5_2T11a1b1c1dSFi" "T1::a::b::c::d::put(int) static"
    test_demangling_exact "hp: get__Q4_2T11a1b1cSFv" "T1::a::b::c::get(void) static"
    test_demangling_exact "hp: put__Q2_2T11aSFi" "T1::a::put(int) static"
    test_demangling_exact "hp: put__Q4_2T11a1b1cSFi" "T1::a::b::c::put(int) static"
    test_demangling_exact "hp: get__Q3_2T11a1bSFv" "T1::a::b::get(void) static"
    test_demangling_exact "hp: get__2T1SFv" "T1::get(void) static"
    test_demangling_exact "hp: get__Q5_2T11a1b1c1dSFv" "T1::a::b::c::d::get(void) static"


    test_demangling_exact "hp: bar__3fooFPv"       "foo::bar(void *)"
    test_demangling "hp: bar__3fooFPCv" \
	     "foo::bar\[(\]+(const void|void const) *\[*\]+\[)\]+"
    test_demangling_exact "hp: bar__3fooCFPv"      "foo::bar(void *) const"
    test_demangling "hp: bar__3fooCFPCv" \
	    "foo::bar\[(\]+(const void|void const) *\[*\]+\[)\]+ const"
    test_demangling_exact "hp: __eq__3fooFR3foo"   "foo::operator==(foo &)"
    test_demangling "hp: __eq__3fooFRC3foo" \
	 "foo::operator==\[(\]+(const foo|foo const) &\[)\]+"
    test_demangling_exact "hp: __eq__3fooCFR3foo"  "foo::operator==(foo &) const"
    test_demangling "hp: __eq__3fooCFRC3foo" \
	"foo::operator==\[(\]+(const foo|foo const) &\[)\]+ const"

    test_demangling_exact "hp: bar__3fooFiT16FooBar" "foo::bar(int, int, FooBar)"

    test_demangling_exact "hp: bar__3fooFPiN51PdN37PcN211T1iN215" \
      "foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)"


    # HP aCC specific tests. HP aCC demangling does not use __pt__ for
    # template specifications.  There are other differences as well.

    test_demangling_exact "hp: __dt__2T5XTPFiPPdPv_i__Fv" "T5<int (*)(int, double **, void *)>::~T5(void)"

    test_demangling_exact "hp: __ct__1cFi" "c::c(int)"

    test_demangling_exact "hp: __dt__2T5XTi__Fv" "T5<int>::~T5(void)"

    test_demangling_exact "hp: __dt__2T5XTc__Fv" "T5<char>::~T5(void)"

    test_demangling_exact "hp: __ct__2T2Fi" "T2::T2(int)"
    test_demangling_exact "hp: __dt__2T1Fv" "T1::~T1(void)"

    test_demangling_exact "hp: __dt__2T5XT1x__Fv" "T5<x>::~T5(void)"

    test_demangling_exact "hp: __dt__2T5XTPFcPv_i__Fv" "T5<int (*)(char, void *)>::~T5(void)"
    
    test_demangling_exact "hp: __ct__2T5XTPFiPPdPv_i__Fi" "T5<int (*)(int, double **, void *)>::T5(int)"

    test_demangling_exact "hp: __dl__2T5XT1x__SFPv" "T5<x>::operator delete(void *) static"
    
    test_demangling_exact "hp: X__2T5XT1x" "T5<x>::X"

    test_demangling_exact "hp: __ct__2T5XTi__Fi" "T5<int>::T5(int)"

    test_demangling_exact "hp: __ct__2T5XTc__Fi" "T5<char>::T5(int)"

    test_demangling_exact "hp: __dl__2T5XTPFcPv_i__SFPv" "T5<int (*)(char, void *)>::operator delete(void *) static"

    test_demangling_exact "hp: X__2T5XTPFcPv_i" "T5<int (*)(char, void *)>::X"

    test_demangling_exact "hp: __ct__2T5XT1x__Fi" "T5<x>::T5(int)"

    test_demangling_exact "hp: __dl__2T5XTPFiPPdPv_i__SFPv" "T5<int (*)(int, double **, void *)>::operator delete(void *) static"
    test_demangling_exact "hp: X__2T5XTPFiPPdPv_i" "T5<int (*)(int, double **, void *)>::X"

    test_demangling_exact "hp: __dl__2T5XTi__SFPv" "T5<int>::operator delete(void *) static"

    test_demangling_exact "hp: __dl__2T5XTc__SFPv" "T5<char>::operator delete(void *) static"

    test_demangling_exact "hp: X__2T5XTc" "T5<char>::X"

    test_demangling_exact "hp: X__2T5XTi" "T5<int>::X"

    test_demangling_exact "hp: __ct__2T5XTPFcPv_i__Fi" "T5<int (*)(char, void *)>::T5(int)"
    
    test_demangling_exact "hp: __dt__2T1XTc__Fv" "T1<char>::~T1(void)"

    test_demangling_exact "hp: __dt__2T1XT1t__Fv" "T1<t>::~T1(void)"

    test_demangling_exact "hp: __dl__2T1XT1t__SFPv" "T1<t>::operator delete(void *) static"

    test_demangling_exact "hp: __ct__2T1XTc__Fi" "T1<char>::T1(int)"

    test_demangling_exact "hp: __ct__2T1XTc__Fv" "T1<char>::T1(void)"

    test_demangling_exact "hp: __ct__2T1XT1t__Fi" "T1<t>::T1(int)"

    test_demangling_exact "hp: __ct__2T1XT1t__Fv" "T1<t>::T1(void)"

    test_demangling_exact "hp: __dl__2T1XTc__SFPv" "T1<char>::operator delete(void *) static"

    test_demangling_exact "hp: elem__6vectorXTd__Fi" "vector<double>::elem(int)"

    test_demangling_exact "hp: elem__6vectorXTi__Fi" "vector<int>::elem(int)"

    test_demangling_exact "hp: __ct__6vectorXTd__Fi" "vector<double>::vector(int)"

    test_demangling_exact "hp: __ct__6vectorXTi__Fi" "vector<int>::vector(int)"

    test_demangling_exact "hp: __ct__9DListNodeXTR6RLabel__FR6RLabelP9DListNodeXTR6RLabel_T2" \
	"DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)"


    # Absolute integer constants in template args

    test_demangling_exact "hp: elem__6vectorXTiUP34__Fi" "vector<int,34U>::elem(int)"
    test_demangling_exact "hp: elem__6vectorXUP2701Td__Fi" "vector<2701U,double>::elem(int)"
    test_demangling_exact "hp: elem__6vectorXTiSP334__Fi" "vector<int,334>::elem(int)"
    test_demangling_exact "hp: elem__6vectorXTiSN67__Fi" "vector<int,-67>::elem(int)"
    test_demangling_exact "hp: elem__6vectorXTiSM__SCFPPd" "vector<int,-2147483648>::elem(double **) static const"
    test_demangling_exact "hp: elem__6vectorXTiSN67UP4000TRs__Fi" "vector<int,-67,4000U,short &>::elem(int)"
    test_demangling_exact "hp: elem__6vectorXTiSN67TRdTFPv_i__Fi" "vector<int,-67,double &,int (void *)>::elem(int)"
    test_demangling_exact "hp: X__6vectorXTiSN67TdTPvUP5TRs" "vector<int,-67,double,void *,5U,short &>::X"

    # Named constants in template args

    test_demangling_exact "hp: elem__6vectorXTiA3foo__Fi" "vector<int,&foo>::elem(int)"
    test_demangling_exact "hp: elem__6vectorXTiA3fooTPvA5Label__FiPPvT2" "vector<int,&foo,void *,&Label>::elem(int, void **, void **)"
    test_demangling_exact "hp: elem__6vectorXTiSN42A3foo__Fi" "vector<int,-42,&foo>::elem(int)"

    # Alternate entry points for functions

    test_demangling_exact "hp: __ct__2T5XTPFcPv_i__Fi_2" "T5<int (*)(char, void *)>::T5(int)"
    test_demangling_exact "hp: __ct__2T5XTPFcPv_i__Fi_19" "T5<int (*)(char, void *)>::T5(int)"
    test_demangling_exact "hp: f__FicdPcPFci_v_34" "f(int, char, double, char *, void (*)(char, int))"


    # Template partial specializations

# FIXME!  The # characters don't go through expect, and backslashes don't seem to work.
#    test_demangling_exact "hp: spec__13Spec<#1,#1.*>XTiTPi_FPi" "Spec<int,int *>::spec(int *)"
#    test_demangling_exact "hp: spec__16Spec<#1,#1.&,#1>XTiTRiTi_FPi" "Spec<int,int &, int>::spec(int *)"
# Fake test -- replace # with %
    test_demangling_exact "hp: spec__13Spec<%1,%1.*>XTiTPi_FPi" "Spec<int,int *>::spec(int *)"
    test_demangling_exact "hp: spec__16Spec<%1,%1.&,%1>XTiTRiTi_FPi" "Spec<int,int &,int>::spec(int *)"

    # Global template functions

    test_demangling_exact "hp: add__XTc_FcT1" "add<char>(char, char)"
    test_demangling_exact "hp: add__XTcSP9A5label_FcPPlT1" "add<char,9,&label>(char, long **, char)"
    test_demangling_exact "hp: add__XTPfTFPd_f_FcT1" "add<float *,float (double *)>(char, char)"

    # Template for template arg

    test_demangling_exact "hp: unLink__12basic_stringXTcT18string_char_traitsXTc_T9allocator_Fv" "basic_string<char,string_char_traits<char>,allocator>::unLink(void)"

    test_demangling_exact "hp: _Utf390_1__1_9223372036854775807__9223372036854775" \
	    "Can't demangle \"_Utf390_1__1_9223372036854775807__9223372036854775\""
}


proc catch_demangling_errors {command} {
    if {[catch $command result]} {
	puts "ERROR: demangle.exp: while running $command: $result"
    }
}

# Test support for different demangling styles.  Note that this does
# not depend upon running the test program and does not depend upon
# gdb being able to lookup any C++ symbols.  It simply calls the 
# internal demangler with synthesized strings and tests the results.

proc do_tests {} {
    global prms_id
    global bug_id
    global subdir
    global gdb_prompt

    set prms_id 0
    set bug_id 0

    # Start with a fresh gdb.

    gdb_exit
    gdb_start

    send_gdb "set language c++\n"
    gdb_expect -re "$gdb_prompt $"
    send_gdb "set width 0\n"
    gdb_expect -re "$gdb_prompt $"

    # Using catch_demangling_errors this way ensures that, if one of
    # the functions raises a Tcl error, then it'll get reported, and
    # the rest of the functions will still run.
    catch_demangling_errors test_lucid_style_demangling
    catch_demangling_errors test_gnu_style_demangling
    catch_demangling_errors test_arm_style_demangling
    catch_demangling_errors test_hp_style_demangling
}

do_tests
