Re: [cxx-abi-dev] Proposed ABI changes for new C++0x SFINAE rules
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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