-
Notifications
You must be signed in to change notification settings - Fork 13.4k
aarch64-pc-windows-msvc target needs to treat extern "stdcall"
like extern "C"
#54569
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
Sounds like a good place to me! |
froydnj
added a commit
to froydnj/rust
that referenced
this issue
Sep 25, 2018
MSVC ignores these keywords for C/C++ and uses the standard system calling convention. Rust should do so as well. Fixes rust-lang#54569.
kennytm
added a commit
to kennytm/rust
that referenced
this issue
Sep 27, 2018
…lexcrichton ignore {std,fast,vector,this}call on non-x86 windows MSVC ignores these keywords for C/C++ and uses the standard system calling convention. Rust should do so as well. Fixes rust-lang#54569.
froydnj
added a commit
to froydnj/rust
that referenced
this issue
Sep 27, 2018
MSVC ignores these keywords for C/C++ and uses the standard system calling convention. Rust should do so as well. Fixes rust-lang#54569.
bors
added a commit
that referenced
this issue
Sep 29, 2018
ignore {std,fast,vector,this}call on non-x86 windows MSVC ignores these keywords for C/C++ and uses the standard system calling convention. Rust should do so as well. Fixes #54569.
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Compiling code like:
https://github.com/jcjones/u2f-hid-rs/blob/ea7244febb010bb8e02c5e01dd6f2b9a0082884a/src/windows/winapi.rs#L22-L49
results in:
presumably because
rustc
attempts to translate it into an x86-specific ABI, which the AArch64 backend rightly rejects.clang
already ignores__stdcall
for non-x86 targets:https://reviews.llvm.org/D36105
I'm not completely sure what the right answer for Rust is. I think
Target::adjust_abi
is the rough equivalent of the above clang bit and needs to take a few more cases into account for non-x86 Windows:rust/src/librustc_target/spec/mod.rs
Lines 764 to 776 in 31789a6
@alexcrichton does that sound right? If so, I'll code up a patch.
The text was updated successfully, but these errors were encountered: