forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#105791 - Ezrashaw:add-e0472-long-docs, r=Gu…
…illaumeGomez docs: add long error explanation for error E0472 Add long-form error docs for E0472: "inline assembly not supported on this target" and update UI tests. R? ```@GuillaumeGomez```
- Loading branch information
Showing
4 changed files
with
34 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
Inline assembly (`asm!`) is not supported on this target. | ||
|
||
Example of erroneous code: | ||
|
||
```ignore (cannot-change-target) | ||
// compile-flags: --target sparc64-unknown-linux-gnu | ||
#![no_std] | ||
use core::arch::asm; | ||
fn main() { | ||
unsafe { | ||
asm!(""); // error: inline assembly is not supported on this target | ||
} | ||
} | ||
``` | ||
|
||
The Rust compiler does not support inline assembly, with the `asm!` macro | ||
(previously `llvm_asm!`), for all targets. All Tier 1 targets do support this | ||
macro but support among Tier 2 and 3 targets is not guaranteed (even when they | ||
have `std` support). Note that this error is related to | ||
`error[E0658]: inline assembly is not stable yet on this architecture`, but | ||
distinct in that with `E0472` support is not planned or in progress. | ||
|
||
There is no way to easily fix this issue, however: | ||
* Consider if you really need inline assembly, is there some other way to | ||
achieve your goal (intrinsics, etc)? | ||
* Consider writing your assembly externally, linking with it and calling it | ||
from Rust. | ||
* Consider contributing to <https://github.com/rust-lang/rust> and help | ||
integrate support for your target! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters