[cxx-abi-dev] C++0x: Mangling of rvalue reference types
Doug Gregor
doug.gregor at gmail.com
Mon Jul 2 14:42:54 UTC 2007
On 6/29/07, Daveed Vandevoorde <daveed at edg.com> wrote:
>
> On Jun 29, 2007, at 8:59 AM, Doug Gregor wrote:
>
> > On 6/29/07, Hommel Andreas-r58171 <andreas.hommel at freescale.com>
> > wrote:
> >> FWIW, the reference implementation in the Metrowerks compiler was
> >> using
> >> "O" to mangle rvalue refs.
> >
> > That's a strong argument. I'm perfectly happy with "O", then.
Mark, the 'O' patch for rvalue references is below. I can ping you in
a few days if you want to hold off before committing it.
- Doug
--- orig-abi.html 2007-06-28 16:04:49.000000000 -0400
+++ abi.html 2007-06-29 10:37:51.000000000 -0400
@@ -3717,8 +3717,8 @@
size_t* n,
int* status);
}
-
-</code></pre>
+</pre>
+</code>
<ul>
<p>
@@ -4147,14 +4147,15 @@
cv-qualifiers and/or pointer, reference, complex, or imaginary types:
<pre><font color=blue><code>
- <type> ::= <CV-qualifiers> <type>
- ::= P <type> # pointer-to
- ::= R <type> # reference-to
- ::= C <type> # complex pair (C 2000)
- ::= G <type> # imaginary (C 2000)
- ::= U <source-name> <type> # vendor extended type qualifier
+ <type> ::= <CV-qualifiers> <type>
+ ::= P <type> # pointer-to
+ ::= R <type> # reference-to
+ ::= O <type> # rvalue reference-to (C++0x)
+ ::= C <type> # complex pair (C 2000)
+ ::= G <type> # imaginary (C 2000)
+ ::= U <source-name> <type> # vendor extended type qualifier
- <CV-qualifiers> ::= [r] [V] [K] # restrict (C99), volatile, const
+ <CV-qualifiers> ::= [r] [V] [K] # restrict (C99),
volatile, const
</pre></font></code>
--- orig-abi-mangling.html 2007-07-02 09:56:47.000000000 -0400
+++ abi-mangling.html 2007-07-02 09:55:55.000000000 -0400
@@ -95,6 +95,7 @@
<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>
More information about the cxx-abi-dev
mailing list