[cxx-abi-dev] Proposed ABI changes for new C++0x SFINAE rules

Jason Merrill jason at redhat.com
Tue Jul 13 21:04:08 UTC 2010


On 07/09/2010 06:11 PM, David Vandevoorde wrote:
> If someone strongly prefers dropping the 0, or some other modification, I have no strong feelings about it.

That would be my preference.  The language specifically doesn't specify 
that nullptr has a value, so I'd rather not put it in the mangling.

> We need a way to e.g. distinguish "new T" and "new T()".

Ah, OK.

> !   <unresolved-name> ::= [gs] <base-unresolved-name>                     # x or (with "gs") ::x
> !                     ::= sr <unresolved-type> <base-unresolved-name>     # T::x / decltype(p)::x
> !                     ::= srN <unresolved-type> <unresolved-qualifier-level>+ E <base-unresolved-name>
> !                                                                         # T::N::x /decltype(p)::N::x
> !                     ::= [gs] sr <unresolved-qualifier-level>+ E <base-unresolved-name>
> !                                                                         # A::x, N::y, A<T>::z; "gs" means leading "::"

This doesn't seem to allow for, say, A::B<T>::x where A is a 
non-template class or namespace.

Jason



More information about the cxx-abi-dev mailing list