Add new EFIAPI ABI Fixes #54527 Adds a new ABI, "efiapi", which reflects the calling convention as specified by [the current spec UEFI spec](https://uefi.org/sites/default/files/resources/UEFI%20Spec%202_7_A%20Sept%206.pdf#G6.999903). When compiling for x86_64, we should select the `win64` ABI, while on all other architectures (Itanium, x86, ARM and ARM64 and RISC-V), we should select the `C` ABI. Currently, this is done by just turning it into the C ABI everywhere except on x86_64, where it's turned into the win64 ABI. Should we prevent this ABI from being used on unsupported architectures, and if so, how would this be done? |
||
|---|---|---|
| .. | ||
| ast | ||
| attr | ||
| diagnostics | ||
| expand | ||
| feature_gate | ||
| json | ||
| mut_visit | ||
| parse | ||
| source_map | ||
| tokenstream | ||
| util | ||
| ast.rs | ||
| build.rs | ||
| Cargo.toml | ||
| config.rs | ||
| early_buffered_lints.rs | ||
| entry.rs | ||
| error_codes.rs | ||
| json.rs | ||
| lib.rs | ||
| mut_visit.rs | ||
| ptr.rs | ||
| README.md | ||
| sess.rs | ||
| show_span.rs | ||
| source_map.rs | ||
| tests.rs | ||
| tokenstream.rs | ||
| visit.rs | ||
The syntax crate contains those things concerned purely with syntax
– that is, the AST ("abstract syntax tree"), parser, pretty-printer,
lexer, macro expander, and utilities for traversing ASTs.
For more information about how these things work in rustc, see the rustc guide: