On Thu, 29 Nov 2018 at 11:51, Iain Buclaw <ibuc...@gdcproject.org> wrote: > > On Wed, 28 Nov 2018 at 22:44, Johannes Pfau <johannesp...@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 <johannesp...@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. >
I committed the first part of this as outlined in my suggestion in r268754. -- Iain