mirror of
https://github.com/ziglang/zig.git
synced 2025-12-07 23:03:08 +00:00
Fix formatting for multiline asm expressions
This commit is contained in:
parent
66d86eccbe
commit
08d41da916
@ -12,7 +12,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
|
|||||||
\\ roll $3, %%edi ; roll $13, %%edi
|
\\ roll $3, %%edi ; roll $13, %%edi
|
||||||
\\ roll $29, %%edi ; roll $19, %%edi
|
\\ roll $29, %%edi ; roll $19, %%edi
|
||||||
\\ xchgl %%ebx,%%ebx
|
\\ xchgl %%ebx,%%ebx
|
||||||
: [_] "={edx}" (-> usize)
|
: [_] "={edx}" (-> usize)
|
||||||
: [_] "{eax}" (&[]usize{ request, a1, a2, a3, a4, a5 }),
|
: [_] "{eax}" (&[]usize{ request, a1, a2, a3, a4, a5 }),
|
||||||
[_] "0" (default)
|
[_] "0" (default)
|
||||||
: "cc", "memory"
|
: "cc", "memory"
|
||||||
@ -23,7 +23,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
|
|||||||
\\ rolq $3, %%rdi ; rolq $13, %%rdi
|
\\ rolq $3, %%rdi ; rolq $13, %%rdi
|
||||||
\\ rolq $61, %%rdi ; rolq $51, %%rdi
|
\\ rolq $61, %%rdi ; rolq $51, %%rdi
|
||||||
\\ xchgq %%rbx,%%rbx
|
\\ xchgq %%rbx,%%rbx
|
||||||
: [_] "={rdx}" (-> usize)
|
: [_] "={rdx}" (-> usize)
|
||||||
: [_] "{rax}" (&[]usize{ request, a1, a2, a3, a4, a5 }),
|
: [_] "{rax}" (&[]usize{ request, a1, a2, a3, a4, a5 }),
|
||||||
[_] "0" (default)
|
[_] "0" (default)
|
||||||
: "cc", "memory"
|
: "cc", "memory"
|
||||||
|
|||||||
@ -2129,6 +2129,47 @@ test "zig fmt: comptime block in container" {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test "zig fmt: inline asm parameter alignment" {
|
||||||
|
try testCanonical(
|
||||||
|
\\pub fn main() void {
|
||||||
|
\\ asm volatile (
|
||||||
|
\\ \\ foo
|
||||||
|
\\ \\ bar
|
||||||
|
\\ );
|
||||||
|
\\ asm volatile (
|
||||||
|
\\ \\ foo
|
||||||
|
\\ \\ bar
|
||||||
|
\\ : [_] "" (-> usize),
|
||||||
|
\\ [_] "" (-> usize)
|
||||||
|
\\ );
|
||||||
|
\\ asm volatile (
|
||||||
|
\\ \\ foo
|
||||||
|
\\ \\ bar
|
||||||
|
\\ :
|
||||||
|
\\ : [_] "" (0),
|
||||||
|
\\ [_] "" (0)
|
||||||
|
\\ );
|
||||||
|
\\ asm volatile (
|
||||||
|
\\ \\ foo
|
||||||
|
\\ \\ bar
|
||||||
|
\\ :
|
||||||
|
\\ :
|
||||||
|
\\ : "", ""
|
||||||
|
\\ );
|
||||||
|
\\ asm volatile (
|
||||||
|
\\ \\ foo
|
||||||
|
\\ \\ bar
|
||||||
|
\\ : [_] "" (-> usize),
|
||||||
|
\\ [_] "" (-> usize)
|
||||||
|
\\ : [_] "" (0),
|
||||||
|
\\ [_] "" (0)
|
||||||
|
\\ : "", ""
|
||||||
|
\\ );
|
||||||
|
\\}
|
||||||
|
\\
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
const mem = std.mem;
|
const mem = std.mem;
|
||||||
const warn = std.debug.warn;
|
const warn = std.debug.warn;
|
||||||
|
|||||||
@ -1549,7 +1549,14 @@ fn renderExpression(
|
|||||||
try renderExpression(allocator, stream, tree, indent, start_col, asm_node.template, Space.Newline);
|
try renderExpression(allocator, stream, tree, indent, start_col, asm_node.template, Space.Newline);
|
||||||
|
|
||||||
const indent_once = indent + indent_delta;
|
const indent_once = indent + indent_delta;
|
||||||
try stream.writeByteNTimes(' ', indent_once);
|
|
||||||
|
if (asm_node.template.id == ast.Node.Id.MultilineStringLiteral) {
|
||||||
|
// After rendering a multiline string literal the cursor is
|
||||||
|
// already offset by indent
|
||||||
|
try stream.writeByteNTimes(' ', indent_delta);
|
||||||
|
} else {
|
||||||
|
try stream.writeByteNTimes(' ', indent_once);
|
||||||
|
}
|
||||||
|
|
||||||
const colon1 = tree.nextToken(asm_node.template.lastToken());
|
const colon1 = tree.nextToken(asm_node.template.lastToken());
|
||||||
const indent_extra = indent_once + 2;
|
const indent_extra = indent_once + 2;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user