forked from itanium-cxx-abi/cxx-abi
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
772880e
commit eee299f
Showing
33 changed files
with
40,671 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,175 @@ | ||
<HTML> | ||
|
||
<HEAD> | ||
<title>C++ ABI for IA-64: Mangling</title> | ||
|
||
<link rel=stylesheet href=small-table.css type="text/css"> | ||
<link rel=stylesheet href=code.css type="text/css"> | ||
|
||
<hr> | ||
|
||
<font size=6><i><b> | ||
<p> | ||
C++ ABI for IA-64: Mangling | ||
</b></i></font> | ||
|
||
<font size=-1> | ||
<p> | ||
<i>Revised 5 September 2000</i> | ||
|
||
</center> | ||
|
||
</HEAD> | ||
|
||
<BODY> | ||
|
||
<p><hr><p> | ||
|
||
<table border=on> | ||
<tr><th>class</th> <th colspan=2> ID </th> <th align=left> Meaning </th> </tr> | ||
<tr><td>type</td> <td>a</td> <td></td> <td> builtin type signed char </td> </tr> | ||
<tr><td>oper</td> <td>a</td> <td> a </td> <td> Operator && </td> </tr> | ||
<tr><td>oper</td> <td>a</td> <td> d </td> <td> Operator & (unary) </td> </tr> | ||
<tr><td>oper</td> <td>a</td> <td> n </td> <td> Operator & </td> </tr> | ||
<tr><td>oper</td> <td>a</td> <td> N </td> <td> Operator &= </td> </tr> | ||
<tr><td>oper</td> <td>a</td> <td> S </td> <td> Operator = </td> </tr> | ||
<tr><td>type</td> <td>A</td> <td></td> <td> array type </td> </tr> | ||
<tr><td>type</td> <td>b</td> <td></td> <td> builtin type bool </td> </tr> | ||
<tr><td>type</td> <td>c</td> <td></td> <td> builtin type char </td> </tr> | ||
<tr><td>oper</td> <td>c</td> <td> l </td> <td> Operator () </td> </tr> | ||
<tr><td>oper</td> <td>c</td> <td> m </td> <td> Operator , </td> </tr> | ||
<tr><td>oper</td> <td>c</td> <td> o </td> <td> Operator ~ </td> </tr> | ||
<tr><td>oper</td> <td>c</td> <td> v </td> <td> Operator (cast) </td> </tr> | ||
<tr><td>obj </td> <td>C</td> <td> 1 </td> <td>Complete object (in-charge) constructor</td> </tr> | ||
<tr><td>obj </td> <td>C</td> <td> 2 </td> <td>Base object (not-in-charge) constructor</td> </tr> | ||
<tr><td>obj </td> <td>C</td> <td> 3 </td> <td>Complete object (in-charge) allocating constructor</td> </tr> | ||
<tr><td>type</td> <td>d</td> <td></td> <td> builtin type double </td> </tr> | ||
<tr><td>oper</td> <td>d</td> <td> a </td> <td> Operator delete[] </td> </tr> | ||
<tr><td>oper</td> <td>d</td> <td> e </td> <td> Operator * (unary) </td> </tr> | ||
<tr><td>oper</td> <td>d</td> <td> l </td> <td> Operator delete </td> </tr> | ||
<tr><td>oper</td> <td>d</td> <td> v </td> <td> Operator / </td> </tr> | ||
<tr><td>oper</td> <td>d</td> <td> V </td> <td> Operator /= </td> </tr> | ||
<tr><td>type</td> <td>D</td> <td> p </td> <td> pack expansion of (C++0x) </td> </tr> | ||
<tr><td>type</td> <td>D</td> <td> t </td> <td> decltype of an id-expression or class member access (C++0x) </td> </tr> | ||
<tr><td>type</td> <td>D</td> <td> T </td> <td> decltype of an expression (C++0x) </td> </tr> | ||
<tr><td>obj </td> <td>D</td> <td> 0 </td> <td> Deleting destructor</td> </tr> | ||
<tr><td>obj </td> <td>D</td> <td> 1 </td> <td> Complete object (in-charge) destructor</td> </tr> | ||
<tr><td>obj </td> <td>D</td> <td> 2 </td> <td> Base object (not-in-charge) destructor</td> </tr> | ||
<tr><td>oper</td> <td>e</td> <td> o </td> <td> Operator ^ </td> </tr> | ||
<tr><td>oper</td> <td>e</td> <td> O </td> <td> Operator ^= </td> </tr> | ||
<tr><td>oper</td> <td>e</td> <td> q </td> <td> Operator == </td> </tr> | ||
<tr><td>type</td> <td>e</td> <td></td> <td> builtin type long double </td> </tr> | ||
<tr><td>delim</td> <td>E</td> <td></td> <td> End of argument list </td> </tr> | ||
<tr><td>type</td> <td>f</td> <td></td> <td> builtin type float </td> </tr> | ||
<tr><td>obj </td> <td>F</td> <td></td> <td> function </td> </tr> | ||
<tr><td>type</td> <td>g</td> <td></td> <td> builtin type __float128 </td> </tr> | ||
<tr><td>oper</td> <td>g</td> <td> e </td> <td> Operator >= </td> </tr> | ||
<tr><td>oper</td> <td>g</td> <td> t </td> <td> Operator > </td> </tr> | ||
<tr><td>type</td> <td>G</td> <td></td> <td> imaginary type qualifier (C 2000) </td> </tr> | ||
<tr><td>obj </td> <td>G</td> <td> V </td> <td> Sentry object for 1-time init </td> </tr> | ||
<tr><td>type</td> <td>h</td> <td></td> <td> builtin type unsigned char </td> </tr> | ||
<tr><td>type</td> <td>H</td> <td></td> <td> complex type qualifier (C 2000) </td> </tr> | ||
<tr><td>type</td> <td>i</td> <td></td> <td> builtin type int </td> </tr> | ||
<tr><td>oper</td> <td>i</td> <td> x </td> <td> Operator [] </td> </tr> | ||
<tr><td>delim</td> <td>I</td> <td></td> <td> Template argument list </td> </tr> | ||
<tr><td>type</td> <td>j</td> <td></td> <td> builtin type unsigned int </td> </tr> | ||
<tr><td>type</td> <td>K</td> <td></td> <td> const qualifier </td> </tr> | ||
<tr><td>type</td> <td>l</td> <td></td> <td> builtin type long </td> </tr> | ||
<tr><td>oper</td> <td>l</td> <td> e </td> <td> Operator <= </td> </tr> | ||
<tr><td>oper</td> <td>l</td> <td> s </td> <td> Operator << </td> </tr> | ||
<tr><td>oper</td> <td>l</td> <td> S </td> <td> Operator <<= </td> </tr> | ||
<tr><td>oper</td> <td>l</td> <td> t </td> <td> Operator < </td> </tr> | ||
<tr><td>obj </td> <td>L</td> <td></td> <td> literal, external name prefix </td> </tr> | ||
<tr><td>type</td> <td>m</td> <td></td> <td> builtin type unsigned long </td> </tr> | ||
<tr><td>oper</td> <td>m</td> <td> i </td> <td> Operator - </td> </tr> | ||
<tr><td>oper</td> <td>m</td> <td> I </td> <td> Operator -= </td> </tr> | ||
<tr><td>oper</td> <td>m</td> <td> l </td> <td> Operator * </td> </tr> | ||
<tr><td>oper</td> <td>m</td> <td> L </td> <td> Operator *= </td> </tr> | ||
<tr><td>oper</td> <td>m</td> <td> m </td> <td> Operator -- </td> </tr> | ||
<tr><td>type</td> <td>M</td> <td></td> <td> pointer to member type </td> </tr> | ||
<tr><td>type</td> <td>n</td> <td></td> <td> builtin type __int128 </td> </tr> | ||
<tr><td>oper</td> <td>n</td> <td> a </td> <td> Operator new[] </td> </tr> | ||
<tr><td>oper</td> <td>n</td> <td> e </td> <td> Operator != </td> </tr> | ||
<tr><td>oper</td> <td>n</td> <td> g </td> <td> Operator - (unary) </td> </tr> | ||
<tr><td>oper</td> <td>n</td> <td> t </td> <td> Operator ! </td> </tr> | ||
<tr><td>oper</td> <td>n</td> <td> w </td> <td> Operator new </td> </tr> | ||
<tr><td>delim</td> <td>N</td> <td></td> <td> dependent/qualifier name list </td> </tr> | ||
<tr><td>type</td> <td>o</td> <td></td> <td> builtin type unsigned __int128 </td> </tr> | ||
<tr><td>oper</td> <td>o</td> <td> o </td> <td> Operator || </td> </tr> | ||
<tr><td>oper</td> <td>o</td> <td> r </td> <td> Operator | </td> </tr> | ||
<tr><td>oper</td> <td>o</td> <td> R </td> <td> Operator |= </td> </tr> | ||
<tr><td>type</td> <td>O</td> <td></td> <td> rvalue reference type (C++0x) </td> </tr> | ||
<tr><td>oper</td> <td>p</td> <td> l </td> <td> Operator + </td> </tr> | ||
<tr><td>oper</td> <td>p</td> <td> L </td> <td> Operator += </td> </tr> | ||
<tr><td>oper</td> <td>p</td> <td> m </td> <td> Operator ->* </td> </tr> | ||
<tr><td>oper</td> <td>p</td> <td> p </td> <td> Operator ++ </td> </tr> | ||
<tr><td>oper</td> <td>p</td> <td> s </td> <td> Operator + (unary) </td> </tr> | ||
<tr><td>oper</td> <td>p</td> <td> t </td> <td> Operator -> </td> </tr> | ||
<tr><td>type</td> <td>P</td> <td></td> <td> pointer type </td> </tr> | ||
<tr><td>oper</td> <td>q</td> <td> u </td> <td> Operator ? </td> </tr> | ||
<tr><td>type</td> <td>r</td> <td></td> <td> restrict qualifier (C 2000) </td> </tr> | ||
<tr><td>oper</td> <td>r</td> <td> m </td> <td> Operator % </td> </tr> | ||
<tr><td>oper</td> <td>r</td> <td> M </td> <td> Operator %= </td> </tr> | ||
<tr><td>oper</td> <td>r</td> <td> s </td> <td> Operator >> </td> </tr> | ||
<tr><td>oper</td> <td>r</td> <td> S </td> <td> Operator >>= </td> </tr> | ||
<tr><td>type</td> <td>R</td> <td></td> <td> reference type </td> </tr> | ||
<tr><td>type</td> <td>s</td> <td></td> <td> builtin type short </td> </tr> | ||
<tr><td>name</td> <td>s</td> <td></td> <td> local string prefix </td> </tr> | ||
<tr><td>oper</td> <td>s</td> <td> p </td> <td> Expression pack expansion operator</td> </tr> | ||
<tr><td>oper</td> <td>s</td> <td> r </td> <td> Scope resolution operator </td> </tr> | ||
<tr><td>oper</td> <td>s</td> <td> t </td> <td> Operator sizeof (a type)</td> </tr> | ||
<tr><td>oper</td> <td>s</td> <td> z </td> <td> Operator sizeof (an expression)</td> </tr> | ||
<tr><td>oper</td> <td>s</td> <td> Z </td> <td> Operator sizeof (a pack expansion)</td> </tr> | ||
<tr><td>abbr</td> <td>S</td> <td> _ </td> <td> substituted name </td> </tr> | ||
<tr><td>abbr</td> <td>S</td> <td> <digit></td> | ||
<td> substituted name (repeated) </td> </tr> | ||
<tr><td>abbr</td> <td>S</td> <td> <upper></td> | ||
<td> substituted name (repeated) </td> </tr> | ||
<tr><td>abbr</td> <td>S</td> <td> <lower></td> | ||
<td> substituted name (standard abbreviation) </td> </tr> | ||
<tr><td>type</td> <td>S</td> <td> a </td> | ||
<td> abbreviation ::std::allocator </td> </tr> | ||
<tr><td>type</td> <td>S</td> <td> b </td> | ||
<td> abbreviation ::std::basic_string </td> </tr> | ||
<tr><td>type</td> <td>S</td> <td> d </td> | ||
<td> abbreviation ::std::basic_iostream<char, std::char_traits<char> > </td> </tr> | ||
<tr><td>type</td> <td>S</td> <td> i </td> | ||
<td> abbreviation ::std::basic_istream<char, std::char_traits<char> > </td> </tr> | ||
<tr><td>type</td> <td>S</td> <td> o </td> | ||
<td> abbreviation ::std::basic_ostream<char, std::char_traits<char> > </td> </tr> | ||
<tr><td>type</td> <td>S</td> <td> s </td> | ||
<td> abbreviation ::std::basic_string<char, ::std::char_traits<char>, | ||
::std::allocator<char> ></td> </tr> | ||
<tr><td>abbr</td> <td>S</td> <td> t </td> <td> abbreviation ::std:: </td> </tr> | ||
<tr><td>type</td> <td>t</td> <td></td> <td> builtin type unsigned short </td> </tr> | ||
<tr><td>abbr</td> <td>T</td> <td> _ </td> <td> template parameter </td> </tr> | ||
<tr><td>abbr</td> <td>T</td> <td> <digit></td> | ||
<td> template parameter (repeated) </td> </tr> | ||
<tr><td>obj </td> <td>T</td> <td> c </td> | ||
<td> virtual function covariant override thunk </td> </tr> | ||
<tr><td>obj </td> <td>T</td> <td> D </td> <td> typeinfo common proxy </td> </tr> | ||
<tr><td>obj </td> <td>T</td> <td> h </td> <td> virtual function non-virtual override thunk </td> </tr> | ||
<tr><td>obj </td> <td>T</td> <td> I </td> <td> typeinfo structure </td> </tr> | ||
<tr><td>obj </td> <td>T</td> <td> S </td> <td> RTTI name (NTBS) </td> </tr> | ||
<tr><td>obj </td> <td>T</td> <td> T </td> <td> VTT table </td> </tr> | ||
<tr><td>obj </td> <td>T</td> <td> v </td> <td> virtual function virtual override thunk </td> </tr> | ||
<tr><td>obj </td> <td>T</td> <td> V </td> <td> virtual table </td> </tr> | ||
<tr><td>type</td> <td>u</td> <td></td> <td> vendor extended builtin type </td> </tr> | ||
<tr><td>type</td> <td>U</td> <td></td> <td> vendor extended type qualifier </td> </tr> | ||
<tr><td>type</td> <td>v</td> <td></td> <td> builtin type void </td> </tr> | ||
<tr><td>oper</td> <td>v</td> <td> <digit> </td> <td> vendor extended operator </td> </tr> | ||
<tr><td>type</td> <td>V</td> <td></td> <td> volatile qualifier </td> </tr> | ||
<tr><td>type</td> <td>w</td> <td></td> <td> builtin type wchar_t </td> </tr> | ||
<tr><td>type</td> <td>x</td> <td></td> <td> builtin type long long </td> </tr> | ||
<tr><td>delim</td> <td>X</td> <td></td> <td> expression prefix </td> </tr> | ||
<tr><td>type</td> <td>y</td> <td></td> <td> builtin type unsigned long long </td> </tr> | ||
<tr><td>type</td> <td>Y</td> <td></td> <td> extern "C" type qualifier </td> </tr> | ||
<tr><td>type</td> <td>z</td> <td></td> <td> ellipsis </td> </tr> | ||
<tr><td>obj </td> <td>Z</td> <td></td> <td> local name prefix </td> </tr> | ||
<tr><td>obj </td> <td><digit></td><td></td> <td> name (length followed by name) </td> </tr> | ||
|
||
</table> | ||
</ol> | ||
|
||
</BODY> | ||
</HTML> |
Oops, something went wrong.