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.

defineCMacro

If the value is omitted, it is set to 1. name and value need not live longer than the function call.

TranslateC.defineCMacro
pub fn defineCMacro(translate_c: *TranslateC, name: []const u8, value: ?[]const u8) void

File

lib/std/Build/Step/TranslateC.zig:156

Code

pub fn defineCMacro(translate_c: *TranslateC, name: []const u8, value: ?[]const u8) void {
    const graph = translate_c.step.owner.graph;
    const arena = graph.arena;
    const wc = &graph.wip_configuration;
    const macro = arena.print("{s}={s}", .{ name, value orelse "1" }) catch @panic("OOM");
    const macro_string = wc.addString(macro) catch @panic("OOM");
    translate_c.c_macros.append(arena, macro_string) catch @panic("OOM");
}