Re: int128_t and uint128_t typeinfo

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Tue, 21 Feb 2017 18:26:00 +0100
On 21 Feb 2017, at 13:48, Hartmut Brandt <hartmut.brandt_at_dlr.de> wrote:
> 
> it looks like the typeinfo for __int128_t and __uint128_t is missing from our dynamically linked libcxxrt. I added it like:
> 
> Index: lib/libcxxrt/Version.map
> ===================================================================
> --- lib/libcxxrt/Version.map	(revision 313007)
> +++ lib/libcxxrt/Version.map	(working copy)
> _at__at_ -192,6 +192,11 _at__at_
>         "typeinfo name for unsigned short";
>         "typeinfo name for double";
> 
> +        "typeinfo for __int128";
> +        "typeinfo for unsigned __int128";
> +        "typeinfo name for __int128";
> +        "typeinfo name for unsigned __int128";
> +
>         "typeinfo name for bool*";
>         "typeinfo name for wchar_t*";
>         "typeinfo name for short*";
> 
> I'm not sure whether this is the right place in the file where to add it. Could somebody please check?

Yes, this is the right place, though with a few caveats:
* We also need to add the typeinfo for __u?int128_t * and __u?int128_t
  const *
* Maybe these should be under the CXXABI_2.0 version, since that is
  where newer libstdc++ places them
* Maybe these should be dependent on whether the architecture supports
  128 bit integers at all

I need to think a bit on the above, then I'll commit a fix.

-Dimitry

P.S.: I'm going to ignore libstdc++ in base, since it is obsolete.


Received on Tue Feb 21 2017 - 16:26:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:10 UTC