This will fix __murmur2_or_cityhash.pass.cpp in EBCDIC mode. The reason it fails is because of string literals are being used as input to CityHash algorithm so we need to adjust the EBCDIC expected results.
Details
- Reviewers
abhina.sreeskantharajan Kai oToToT ldionne philnik - Group Reviewers
Restricted Project - Commits
- rG4c3d7bc210f0: [SystemZ][z/OS] Fix cityhash lit for EBCDIC
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
The above pre-merge checks failures are timeout and not related to this patch. Submitting again to get clean build status.
You don't have to get a green CI in the sense that all tests fail. If the failures are unrelated you can also consider it green. (You should be sure though)
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
32–35 | Couldn't we just change these to char arrays with numbers instead of a string that might be different between platforms? That should make the Test platform independent. |
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
32–35 | Thank you for looking at it and your comments. Is the new patch is what you meant? I think we want the numbers to be more than just what char can hold. |
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
23 | Does this compile? |
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
23 | I guess not, it should be now, thx. |
FYI, the failure ia the timeout on Apple, unrelated to this patch, so consider CI checks as green.
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
27 | I thought more of just making this {43, 69, 74, 48, 61, 73, 68}. Or is there a reason not to do that? |
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
27 | Yes, we can do that. I used hex values, otherwise I would need to convert them to decimal values. |
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
27 | I think the numeric hex escapes in a string literal were a better solution. When char is a signed 8-bit type, use of the initializer_list will reject narrowing conversions that occur when a code point value above 0x7F is needed. |
libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.pass.cpp | ||
---|---|---|
27 | Yes, you are right. At the moment we don't have anything > 0x7F so we are fine however, future expansion might introduce this issue. I propose to reverse last commit. |
FYI, the failures reported are unrelated.
They are either timeouts or taking unexpectedly too long (assertion in std/thread/futures/futures.async/async.pass.cpp at line 102).
Does this compile?