[cxx-abi-dev] Proposed ABI changes for new C++0x SFINAE rules
David Vandevoorde
daveed at edg.com
Fri Jul 9 22:11:08 UTC 2010
On Jul 9, 2010, at 5:51 PM, Jason Merrill wrote:
> On 06/30/2010 11:33 AM, David Vandevoorde wrote:
>> - We propose additional encodings for literals that can now appear in signatures. nullptr is "LDn0E"; i.e., "a zero of type std::nullptr_t".
>
> Why specify the zero? That's the natural internal representation, but nullptr_t need not have any actual value. Speaking of which, the ABI should specify how it is passed/returned from a function.
Right. We considered dropping the zero, but this matched the pattern of some other scalar literals.
If someone strongly prefers dropping the 0, or some other modification, I have no strong feelings about it.
>
>> - The patch includes an encoding for parenthesized initializers (code "pi") in new-expressions (see the production for<initializer>).
>
> Why is that necessary?
We need a way to e.g. distinguish "new T" and "new T()".
> Presumably a braced-initializer-list will be encoded somehow, leaving parenthesized as the only alternative.
>
> The rest of your overview sounds good; I'll look at the diffs soon.
Thanks!
Daveed
More information about the cxx-abi-dev
mailing list