Support u128/i128 c-variadic arguments#155429
Conversation
|
@bors try jobs=dist-various-1,dist-various-2,aarch64-apple,x86_64-mingw-1 |
This comment has been minimized.
This comment has been minimized.
Support `u128`/`i128` c-variadic arguments try-job: dist-various-1 try-job: dist-various-2 try-job: aarch64-apple try-job: x86_64-mingw-1
This comment has been minimized.
This comment has been minimized.
3f2ff65 to
5e8c8b5
Compare
|
@bors try jobs=dist-various-1,dist-various-2,aarch64-apple,x86_64-mingw-1 |
Support `u128`/`i128` c-variadic arguments try-job: dist-various-1 try-job: dist-various-2 try-job: aarch64-apple try-job: x86_64-mingw-1
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
5e8c8b5 to
bcf4cfa
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
💔 Test for d3bd26f failed: CI. Failed job:
|
bcf4cfa to
8e7c3b1
Compare
|
@bors try jobs=dist-various-1,dist-various-2,aarch64-apple,x86_64-mingw-1 |
This comment has been minimized.
This comment has been minimized.
Support `u128`/`i128` c-variadic arguments try-job: dist-various-1 try-job: dist-various-2 try-job: aarch64-apple try-job: x86_64-mingw-1
8e7c3b1 to
d765f82
Compare
This comment has been minimized.
This comment has been minimized.
d765f82 to
1b40600
Compare
| Primitive::Int(integer, _) => match integer { | ||
| Integer::I8 | Integer::I16 => unreachable!(), | ||
| Integer::I32 | Integer::I64 => { /* fall through */ } | ||
| Integer::I128 => return Align::EIGHT, |
There was a problem hiding this comment.
It has custom behavior, the va_arg implementation for powerpc64 is here
and it uses the implementation here
The logic falls through to the last line for i128, returning 8. For f128 it curiously does use an alignment of 16, so I've just added that already because it would be easy to miss down the line.
50b74c4 to
52d37d3
Compare
|
💔 Test for 9d4c015 failed: CI. Failed job:
|
52d37d3 to
a34dc03
Compare
This comment has been minimized.
This comment has been minimized.
|
@bors try jobs=dist-various-1,dist-various-2,aarch64-apple,x86_64-mingw-1 |
This comment has been minimized.
This comment has been minimized.
Support `u128`/`i128` c-variadic arguments try-job: dist-various-1 try-job: dist-various-2 try-job: aarch64-apple try-job: x86_64-mingw-1
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
a34dc03 to
6f9049b
Compare
This comment has been minimized.
This comment has been minimized.
2db94a6 to
7d2a6d2
Compare
This comment has been minimized.
This comment has been minimized.
7d2a6d2 to
8616c8b
Compare
This comment has been minimized.
This comment has been minimized.
|
didn't realize I had never pushed/marked as ready. @rustbot ready |
This comment has been minimized.
This comment has been minimized.
On platforms where `clang` defines `__int128`.
8616c8b to
3c86920
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
This comment has been minimized.
This comment has been minimized.
3c86920 to
65c39e3
Compare
This comment has been minimized.
This comment has been minimized.
65c39e3 to
36b7e13
Compare
View all comments
The restriction on
u128is kind of arbitrary, so let's see what it would take to support it.r? @ghost