authorgravatar for david@vortan.devDavid Rubin <david@vortan.dev> 2024-12-25 01:37:32-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-12-27 15:38:41-05:00
log5ee2816f6226eff8990749d44b1b9003b10c6170
treefa24499b9a769954fdb2ed3b83559bf5df7cba58
parent30169d1d2eda12d0097de3aab213063a36c56a33

llvm: fix UB in metadata printer


1 files changed, 4 insertions(+), 0 deletions(-)

src/codegen/llvm/Builder.zig+4
...@@ -9829,6 +9829,8 @@ pub fn printUnbuffered(...@@ -9829,6 +9829,8 @@ pub fn printUnbuffered(
9829 extra.then.toInst(&function).fmt(function_index, self),9829 extra.then.toInst(&function).fmt(function_index, self),
9830 extra.@"else".toInst(&function).fmt(function_index, self),9830 extra.@"else".toInst(&function).fmt(function_index, self),
9831 });9831 });
9832 metadata_formatter.need_comma = true;
9833 defer metadata_formatter.need_comma = undefined;
9832 switch (extra.weights) {9834 switch (extra.weights) {
9833 .none => {},9835 .none => {},
9834 .unpredictable => try writer.writeAll("!unpredictable !{}"),9836 .unpredictable => try writer.writeAll("!unpredictable !{}"),
...@@ -10110,6 +10112,8 @@ pub fn printUnbuffered(...@@ -10110,6 +10112,8 @@ pub fn printUnbuffered(
10110 },10112 },
10111 );10113 );
10112 try writer.writeAll(" ]");10114 try writer.writeAll(" ]");
10115 metadata_formatter.need_comma = true;
10116 defer metadata_formatter.need_comma = undefined;
10113 switch (extra.data.weights) {10117 switch (extra.data.weights) {
10114 .none => {},10118 .none => {},
10115 .unpredictable => try writer.writeAll("!unpredictable !{}"),10119 .unpredictable => try writer.writeAll("!unpredictable !{}"),