This is an archive of the discontinued LLVM Phabricator instance.

[libc++] hash<long double>: adjust for x86-64 ILP32
ClosedPublic

Authored by hvdijk on Nov 12 2020, 6:39 AM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Commits
rGfba0b65f7271: [libc++] hash<long double>: adjust for x86-64 ILP32
Summary

x86-64 ILP32 mode (x32) uses 32-bit size_t, so share the code with ix86 to zero out padding bits, not with x86-64 LP64 mode.

Diff Detail

Event Timeline

hvdijk created this revision.Nov 12 2020, 6:39 AM
Herald added a reviewer: Restricted Project. · View Herald TranscriptNov 12 2020, 6:39 AM
hvdijk requested review of this revision.Nov 12 2020, 6:39 AM
hvdijk retitled this revision from [libc++] hash<long double>: adjust for ILP32 to [libc++] hash<long double>: adjust for x86-64 ILP32.Nov 13 2020, 4:22 AM
ldionne accepted this revision.Nov 20 2020, 11:46 AM
ldionne added a subscriber: ldionne.

That looks correct to me with what I just read about x32 (I wasn't familiar with it). I can't imagine this is the only place that needs fixing for libc++ to work in x32?

If you need me to commit this, please provide Author Name <email@domain>.

This revision is now accepted and ready to land.Nov 20 2020, 11:46 AM

That looks correct to me with what I just read about x32 (I wasn't familiar with it). I can't imagine this is the only place that needs fixing for libc++ to work in x32?

It's the only place in libc++ that needs fixing in order to get the test suite to pass. Beyond that, I am not sure, as there are some issues on the LLVM and clang side as well that prevent more extensive testing. I am trying to address those as well, and may be able to try a system rebuild with clang+libc++ after that to hopefully catch any remaining issues.

If you need me to commit this, please provide Author Name <email@domain>.

Thanks! Could you commit this under 'Harald van Dijk <harald@gigawatt.nl>'?

This revision was automatically updated to reflect the committed changes.