rust/compiler/rustc_target/src
Luca Versari c8b76bcf58 Emit warning when calling/declaring functions with unavailable vectors.
On some architectures, vector types may have a different ABI depending
on whether the relevant target features are enabled. (The ABI when the
feature is disabled is often not specified, but LLVM implements some
de-facto ABI.)

As discussed in rust-lang/lang-team#235, this turns out to very easily
lead to unsound code.

This commit makes it a post-monomorphization future-incompat warning to
declare or call functions using those vector types in a context in which
the corresponding target features are disabled, if using an ABI for
which the difference is relevant. This ensures that these functions are
always called with a consistent ABI.

See the [nomination comment](https://github.com/rust-lang/rust/pull/127731#issuecomment-2288558187)
for more discussion.

Part of #116558
2024-11-01 22:24:35 +01:00
..
asm Rollup merge of #131667 - taiki-e:aarch64-inline-asm-reg-emit, r=Amanieu 2024-10-14 17:06:38 +02:00
callconv compiler: rustc_abi::Abi => BackendRepr 2024-10-29 14:56:00 -07:00
spec Enable LSX feature for LoongArch Linux targets 2024-10-25 21:35:19 +08:00
json.rs compiler: Move impl of ToJson for abi::Endian 2024-10-11 17:41:52 -07:00
lib.rs compiler: Wire {TyAnd,}Layout into rustc_abi 2024-10-11 17:41:52 -07:00
target_features.rs Emit warning when calling/declaring functions with unavailable vectors. 2024-11-01 22:24:35 +01:00
tests.rs Use serde_json for target spec json 2022-06-03 16:46:19 +00:00