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 | w | co_await (C++2a) |
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++11) |
type | D | t | decltype of an id-expression or class member access (C++11) |
obj | D | C | structured binding declaration (C++1z) |
type | D | T | decltype of an expression (C++11) |
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++11) | |
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) |