Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › compiler/ › aro/ › assembly_backend/ › x86_64.zig › genAsm
genAsm
x86_64.genAsm
pub fn genAsm (tree : *const Tree ) Error !Assembly
File
Code
pub fn genAsm (tree : *const Tree ) Error !Assembly {
var data : std .Io .Writer .Allocating = .init (tree .comp .gpa );
defer data .deinit ();
var text : std .Io .Writer .Allocating = .init (tree .comp .gpa );
defer text .deinit ();
var codegen : AsmCodeGen = .{
.tree = tree ,
.comp = tree .comp ,
.text = &text .writer ,
.data = &data .writer ,
};
codegen .genDecls () catch |err | switch (err ) {
error .WriteFailed => return error .OutOfMemory ,
error .OutOfMemory , error .FatalError => |e | return e ,
};
const text_slice = try text .toOwnedSlice ();
errdefer tree .comp .gpa .free (text_slice );
const data_slice = try data .toOwnedSlice ();
return .{
.text = text_slice ,
.data = data_slice ,
};
}