# Copyright (C) 1992-2013 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 3 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, see <http://www.gnu.org/licenses/>.

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

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

    gdb_test_multiple "set demangle-style $style" \
	"$style: set demangle-style" {
	    -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"
	    }
	}

    gdb_test_multiple "show demangle-style" \
	"$style: check demangling style" {
	    -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.

    gdb_test_multiple "maintenance demangle __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator" "gnu: __thunk_64__0RL__list__Q29CosNaming20_proxy_NamingContextUlRPt25_CORBA_Unbounded_Sequence1ZQ29CosNaming7BindingRPQ29CosNaming15BindingIterator" {
	-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"
	}
    }
}

#
#  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 subdir
    global gdb_prompt


    # Start with a fresh gdb.

    gdb_exit
    gdb_start

    gdb_test_no_output "set language c++"
    gdb_test_no_output "set width 0"

    # 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
