[cxx-abi-dev] A mangling for std::nullptr_t

David Vandevoorde daveed at edg.com
Tue Mar 23 00:50:24 UTC 2010


Oops, I apparently didn't attach the diffs after all.  Hopefully, they're really there this time.

	Daveed


-------------- next part --------------
A non-text attachment was scrubbed...
Name: nullptr.diffs
Type: application/octet-stream
Size: 2331 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20100322/8250b1f4/attachment.obj>
-------------- next part --------------


On Mar 22, 2010, at 6:15 PM, David Vandevoorde wrote:

> Attached are diffs for a revised proposal: There is no longer a separate type_info variant for nullptr_t.  I did make it more explicit that fundamental types have __fundamental_type_info entries.
> 
> 	Daveed
> 
> 
> On Mar 4, 2010, at 3:45 AM, Dennis Handly wrote:
> 
>>> From: Jason Merrill <jason at redhat.com>
>>> None of the RTTI types match the mangled names of types that use them.
>> 
>> Sorry.  I meant it matches except for the _ZTI prefix:
>> _ZTIl == type info of long
>> 
>>>> Why not follow the same path?
>>>>   if (catch_type == typeid(std::nullptr_t))
>> 
>>> I suppose this would also work, and would indeed save us a few words of 
>>> space in the runtime library.
>> Jason
>> 
>> It also saves typing in that new class in the header file.  :-)
>> But it saves a vtable and type_info for that class.
>> 
>> We have a demamgler library using lots of virtual functions and it has
>> over 19 Kb of C++ metadata.  Where adding a simple tag (with lots of switches)
>> would save lots of data space.
>> 
>> With the typeid(std::nullptr_t) new case, you probably only need to check
>> in a few places.
> 
> 



More information about the cxx-abi-dev mailing list