This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/2, d] Fix hashing of complex reals


On Wed, 28 Nov 2018 at 22:44, Johannes Pfau <johannespfau@gmail.com> wrote:
>
> Hashing of complex types where the floating point type used
> for the real and imaginary parts has padding (such as X86 80 bit reals)
> has padding, is currently broken in druntime.
>
> Fixed by backporting https://github.com/dlang/druntime/pull/2356
> from druntime commit 29ce0543cb62229f005b2bc8540416dbccd1130e
>
> Tested at https://github.com/D-Programming-GDC/GDC/pull/768
>
> --
> Johannes
>
> ---
> libphobos/ChangeLog:
>
> 2018-11-28  Johannes Pfau  <johannespfau@gmail.com>
>
>         * libdruntime/core/internal/convert.d: Backport from latest druntime.
>         * libdruntime/core/internal/hash.d: Likewise.
>         * libdruntime/core/internal/traits.d: Likewise.
>         * libdruntime/rt/util/typeinfo.d: Likewise.
>
>  libphobos/libdruntime/core/internal/convert.d |  136 ++-
>  libphobos/libdruntime/core/internal/hash.d    | 1044 +++++++++++------
>  libphobos/libdruntime/core/internal/traits.d  |   19 +
>  libphobos/libdruntime/rt/util/typeinfo.d      |   33 +-
>  4 files changed, 815 insertions(+), 417 deletions(-)
>

I had a quick look at the associated druntime PRs, and this looks like
we're only selectively applying many partial patches.  It would be
better to apply each dependent patch one at a time, so we don't have a
half complete backport.

These would be for instance PRs 2197, 2202, 2210, 2200, 2227, 2209,
2198, 2243, 2240, 2246, 2311 - I stopped here but there are a few more
to catch up with the internal/hash implementation, and maybe a few
more in-between that I didn't spot.

This would make transition from this 2.076+backports to 2.08x or 2.09x
a little simpler, and we can test these for any problems ahead of
time.

-- 
Iain


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]