-
Notifications
You must be signed in to change notification settings - Fork 13.5k
test passing a VaList
from rust to C
#143397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
test passing a VaList
from rust to C
#143397
Conversation
|
This PR modifies cc @jieyouxu |
6ef0403
to
a956428
Compare
@bors2 try jobs=aarch64-gnu,x86_64-msvc-,x86_64-apple- |
… r=<try> test passing a `VaList` from rust to C Have C define various functions that take a `...` or `va_list` as an argument, and call them from rust. As far as I can see, this just wasn't actually tested before. In particular this tests a difference between rust `VaList` and C `va_list` where C uses array-to-pointer decay, but rust cannot. I've locally tested this for - `x86_64-unknown-linux-gnu` - `aarch64-unknown-linux-gnu` - `s390x-unknown-linux-gnu` - `powerpc64-unknown-linux-gnu` - `powerpc64le-unknown-linux-gnu` The latter 2 use an opaque pointer, the first 3 use a single-element array. cc `@beetrees` if you see anything incorrect here r? `@workingjubilee` try-job: aarch64-gnu try-job: x86_64-msvc-* try-job: x86_64-apple-*
Ah dang, forgot aarch64-apple... |
Unknown command "cancel". |
@bors2 try jobs=x86_64-msvc-,x86_64-apple-,aarch64-apple |
… r=<try> test passing a `VaList` from rust to C Have C define various functions that take a `...` or `va_list` as an argument, and call them from rust. As far as I can see, this just wasn't actually tested before. In particular this tests a difference between rust `VaList` and C `va_list` where C uses array-to-pointer decay, but rust cannot. I've locally tested this for - `x86_64-unknown-linux-gnu` - `aarch64-unknown-linux-gnu` - `s390x-unknown-linux-gnu` - `powerpc64-unknown-linux-gnu` - `powerpc64le-unknown-linux-gnu` The latter 2 use an opaque pointer, the first 3 use a single-element array. cc `@beetrees` if you see anything incorrect here r? `@workingjubilee` try-job: x86_64-msvc-* try-job: x86_64-apple-* try-job: aarch64-apple
💔 Test failed
|
macOS is not happy:
Not all our tooling is recent enough for C23. |
a956428
to
a3277a1
Compare
@bors2 try jobs=x86_64-msvc-*,x86_64-apple-*,aarch64-apple |
… r=<try> test passing a `VaList` from rust to C Have C define various functions that take a `...` or `va_list` as an argument, and call them from rust. As far as I can see, this just wasn't actually tested before. In particular this tests a difference between rust `VaList` and C `va_list` where C uses array-to-pointer decay, but rust cannot. I've locally tested this for - `x86_64-unknown-linux-gnu` - `aarch64-unknown-linux-gnu` - `s390x-unknown-linux-gnu` - `powerpc64-unknown-linux-gnu` - `powerpc64le-unknown-linux-gnu` The latter 2 use an opaque pointer, the first 3 use a single-element array. cc `@beetrees` if you see anything incorrect here r? `@workingjubilee` try-job: x86_64-msvc-* try-job: x86_64-apple-* try-job: aarch64-apple
Looks like a good baseline to have before any refactors, thanks. :) @bors r+ |
Have C define various functions that take a
...
orva_list
as an argument, and call them from rust. As far as I can see, this just wasn't actually tested before.In particular this tests a difference between rust
VaList
and Cva_list
where C uses array-to-pointer decay, but rust cannot.I've locally tested this for
x86_64-unknown-linux-gnu
aarch64-unknown-linux-gnu
s390x-unknown-linux-gnu
powerpc64-unknown-linux-gnu
powerpc64le-unknown-linux-gnu
The latter 2 use an opaque pointer, the first 3 use a single-element array.
cc @beetrees if you see anything incorrect here
r? @workingjubilee