From be18e17ce528f5e4a0cda5f694c8ad13a6b38662 Mon Sep 17 00:00:00 2001 From: fardragon Date: Thu, 4 Jun 2026 18:41:41 +0000 Subject: [PATCH] Fix unexpected trailing whitespace for cmakedefine with no replacement value --- lib/compiler/Maker/Step/ConfigHeader.zig | 7 ++++++- .../config_header/cmake/cmakedefine_edge_cases.h | 3 +-- .../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 index 8f4f677ee3bd4cef5f42541673823e9377185c86..5096c8e0e3340fc5d841b5ae1677297bfb40417f 100644 --- 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 index e05567a40332e2bb46a67376bd283a4e341cd46a..abe4df8d94b5070ee4cba4cbc09a146688b3c96b 100644 --- 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 index e46d114ca0a814436282d0f5ed895f146a1a4b12..343e767043db563edff5adb9ebf13c98469854a0 100644 --- 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) -- 2.54.0