align code blocks with their paragraphs
This commit is contained in:
parent
100e801b36
commit
f51a573c19
18
src/asm.md
18
src/asm.md
|
|
@ -10,12 +10,13 @@ through all of the compiler layers down to LLVM codegen. Throughout the various
|
||||||
|
|
||||||
- The template string, which is stored as an array of `InlineAsmTemplatePiece`. Each piece
|
- The template string, which is stored as an array of `InlineAsmTemplatePiece`. Each piece
|
||||||
represents either a literal or a placeholder for an operand (just like format strings).
|
represents either a literal or a placeholder for an operand (just like format strings).
|
||||||
```rust
|
|
||||||
pub enum InlineAsmTemplatePiece {
|
```rust
|
||||||
|
pub enum InlineAsmTemplatePiece {
|
||||||
String(String),
|
String(String),
|
||||||
Placeholder { operand_idx: usize, modifier: Option<char>, span: Span },
|
Placeholder { operand_idx: usize, modifier: Option<char>, span: Span },
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
- The list of operands to the `asm!` (`in`, `[late]out`, `in[late]out`, `sym`, `const`). These are
|
- The list of operands to the `asm!` (`in`, `[late]out`, `in[late]out`, `sym`, `const`). These are
|
||||||
represented differently at each stage of lowering, but follow a common pattern:
|
represented differently at each stage of lowering, but follow a common pattern:
|
||||||
|
|
@ -34,8 +35,9 @@ or a `fn`.
|
||||||
- The options set at the end of the `asm!` macro. The only ones that are of particular interest to
|
- The options set at the end of the `asm!` macro. The only ones that are of particular interest to
|
||||||
rustc are `NORETURN` which makes `asm!` return `!` instead of `()`, and `RAW` which disables format
|
rustc are `NORETURN` which makes `asm!` return `!` instead of `()`, and `RAW` which disables format
|
||||||
string parsing. The remaining options are mostly passed through to LLVM with little processing.
|
string parsing. The remaining options are mostly passed through to LLVM with little processing.
|
||||||
```rust
|
|
||||||
bitflags::bitflags! {
|
```rust
|
||||||
|
bitflags::bitflags! {
|
||||||
pub struct InlineAsmOptions: u16 {
|
pub struct InlineAsmOptions: u16 {
|
||||||
const PURE = 1 << 0;
|
const PURE = 1 << 0;
|
||||||
const NOMEM = 1 << 1;
|
const NOMEM = 1 << 1;
|
||||||
|
|
@ -47,8 +49,8 @@ bitflags::bitflags! {
|
||||||
const RAW = 1 << 7;
|
const RAW = 1 << 7;
|
||||||
const MAY_UNWIND = 1 << 8;
|
const MAY_UNWIND = 1 << 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## AST
|
## AST
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue