C++ ABI for IA-64: Mangling

Revised 5 September 2000

class ID Meaning
type a builtin type signed char
oper a a Operator &&
oper a d Operator & (unary)
oper a n Operator &
oper a N Operator &=
oper a S Operator =
oper a t alignof of a type (C++11)
oper a z alignof of an expression (C++11)
type A array type
type b builtin type bool
type c builtin type char
oper c l Operator ()
oper c m Operator ,
oper c o Operator ~
oper c v Operator (cast)
obj C 1 Complete object (in-charge) constructor
obj C 2 Base object (not-in-charge) constructor
obj C 3 Complete object (in-charge) allocating constructor
type d builtin type double
oper d a Operator delete[]
oper d e Operator * (unary)
syn d i Designated field initializer
oper d l Operator delete
oper d t Member access (.)
oper d v Operator /
oper d V Operator /=
syn d x Designated array initializer
syn d X Designated array range initializer
type D p pack expansion of (C++0x)
type D t decltype of an id-expression or class member access (C++0x)
obj D C structured binding declaration (C++1z)
type D T decltype of an expression (C++0x)
obj D 0 Deleting destructor
obj D 1 Complete object (in-charge) destructor
obj D 2 Base object (not-in-charge) destructor
oper e o Operator ^
oper e O Operator ^=
oper e q Operator ==
type e builtin type long double
delim E End of argument list
type f builtin type float
obj F function
type g builtin type __float128
oper g e Operator >=
oper g t Operator >
type G imaginary type qualifier (C 2000)
obj G V Sentry object for 1-time init
type h builtin type unsigned char
type H complex type qualifier (C 2000)
type i builtin type int
syn i l braced-init-list
oper i x Operator []
delim I Template argument list
type j builtin type unsigned int
type K const qualifier
type l builtin type long
oper l e Operator <=
oper l s Operator <<
oper l S Operator <<=
oper l t Operator <
obj L literal, external name prefix
type m builtin type unsigned long
oper m i Operator -
oper m I Operator -=
oper m l Operator *
oper m L Operator *=
oper m m Operator --
type M pointer to member type
type n builtin type __int128
oper n a Operator new[]
oper n e Operator !=
oper n g Operator - (unary)
oper n t Operator !
oper n w Operator new
delim N dependent/qualifier name list
type o builtin type unsigned __int128
oper o o Operator ||
oper o r Operator |
oper o R Operator |=
type O rvalue reference type (C++0x)
oper p l Operator +
oper p L Operator +=
oper p m Operator ->*
oper p p Operator ++
oper p s Operator + (unary)
oper p t Operator ->
type P pointer type
oper q u Operator ?
type r restrict qualifier (C 2000)
oper r m Operator %
oper r M Operator %=
oper r s Operator >>
oper r S Operator >>=
type R reference type
type s builtin type short
name s local string prefix
oper s p Expression pack expansion operator
oper s r Scope resolution operator
oper s s Operator <=> (C++2a "spaceship")
oper s t Operator sizeof (a type)
oper s z Operator sizeof (an expression)
oper s Z Operator sizeof (a pack expansion)
abbr S _ substituted name
abbr S <digit> substituted name (repeated)
abbr S <upper> substituted name (repeated)
abbr S <lower> substituted name (standard abbreviation)
type S a abbreviation ::std::allocator
type S b abbreviation ::std::basic_string
type S d abbreviation ::std::basic_iostream<char, std::char_traits<char> >
type S i abbreviation ::std::basic_istream<char, std::char_traits<char> >
type S o abbreviation ::std::basic_ostream<char, std::char_traits<char> >
type S s abbreviation ::std::basic_string<char, ::std::char_traits<char>, ::std::allocator<char> >
abbr S t abbreviation ::std::
type t builtin type unsigned short
abbr T _ template parameter
abbr T <digit> template parameter (repeated)
obj T c virtual function covariant override thunk
obj T D typeinfo common proxy
obj T h virtual function non-virtual override thunk
obj T I typeinfo structure
obj T S RTTI name (NTBS)
obj T T VTT table
obj T v virtual function virtual override thunk
obj T V virtual table
type u vendor extended builtin type
type U vendor extended type qualifier
type v builtin type void
oper v <digit> vendor extended operator
type V volatile qualifier
type w builtin type wchar_t
type x builtin type long long
delim X expression prefix
type y builtin type unsigned long long
type Y extern "C" type qualifier
type z ellipsis
obj Z local name prefix
obj <digit> name (length followed by name)