about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorJubilee <workingjubilee@gmail.com>2025-07-04 23:26:24 -0700
committerGitHub <noreply@github.com>2025-07-04 23:26:24 -0700
commit5b509e6158af2536df3300befa884a3a97821e46 (patch)
treeb82b36f31496c7410a64d580ea62807be90c3d72 /compiler/rustc_codegen_llvm/src
parent5f415da0b52fa8de667ce53ec5daf76fca6a0591 (diff)
parenta3277a1bbb82423416a716b13c483a13e00aef59 (diff)
downloadrust-5b509e6158af2536df3300befa884a3a97821e46.tar.gz
rust-5b509e6158af2536df3300befa884a3a97821e46.zip
Rollup merge of #143397 - folkertdev:test-variadic-call-from-rust-to-c, r=RalfJung
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`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions