zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit be18e17ce528f5e4a0cda5f694c8ad13a6b38662 (tree)
parent cf741692f7c34b1bd3269fdd7437903bad64804d
Author: fardragon <michaldrozd@protonmail.ch>
Date:   Thu,  4 Jun 2026 18:41:41 +0000

Fix unexpected trailing whitespace for cmakedefine with no replacement value

Diffstat:
Mlib/compiler/Maker/Step/ConfigHeader.zig | 7++++++-
Mtest/standalone/config_header/cmake/cmakedefine_edge_cases.h | 3+--
Mtest/standalone/config_header/cmake/cmakedefine_edge_cases.h.in | 1-
3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/compiler/Maker/Step/ConfigHeader.zig b/lib/compiler/Maker/Step/ConfigHeader.zig @@ -418,7 +418,12 @@ fn renderValueC(conf: *const Configuration, w: *Writer, name: []const u8, value: } fn renderValueCIdent(w: *Writer, name: []const u8, ident: []const u8) Writer.Error!void { - return w.print("#define {s} {s}\n", .{ name, ident }); + try w.print("#define {s}", .{name}); + if (ident.len > 0) { + try w.writeByte(' '); + try w.writeAll(ident); + } + return w.writeByte('\n'); } fn renderValueCBool(w: *Writer, name: []const u8, b: bool) Writer.Error!void { diff --git a/test/standalone/config_header/cmake/cmakedefine_edge_cases.h b/test/standalone/config_header/cmake/cmakedefine_edge_cases.h @@ -6,8 +6,7 @@ /* #undef MULTI_WORD_FALSE */ // cmakedefine with no replacement value (truthy) -// TODO: unexpected whitespace is being added here -#define NO_VALUE +#define NO_VALUE // cmakedefine with no replacement value (falsy) /* #undef NO_VALUE_FALSE */ diff --git a/test/standalone/config_header/cmake/cmakedefine_edge_cases.h.in b/test/standalone/config_header/cmake/cmakedefine_edge_cases.h.in @@ -5,7 +5,6 @@ #cmakedefine MULTI_WORD_FALSE "hello world" // cmakedefine with no replacement value (truthy) -// TODO: unexpected whitespace is being added here #cmakedefine NO_VALUE // cmakedefine with no replacement value (falsy)