diff --git a/test/standalone/build.zig.zon b/test/standalone/build.zig.zon index 8e4d727642ec..f45aa43788fe 100644 --- a/test/standalone/build.zig.zon +++ b/test/standalone/build.zig.zon @@ -59,6 +59,9 @@ //.issue_12588 = .{ // .path = "issue_12588", //}, + .emit_asm_no_bin = .{ + .path = "emit_asm_no_bin", + }, .child_process = .{ .path = "child_process", }, diff --git a/test/standalone/emit_asm_no_bin/build.zig b/test/standalone/emit_asm_no_bin/build.zig new file mode 100644 index 000000000000..ea566f1ef11b --- /dev/null +++ b/test/standalone/emit_asm_no_bin/build.zig @@ -0,0 +1,25 @@ +const std = @import("std"); + +pub fn build(b: *std.Build) void { + const target = b.standardTargetOptions(.{}); + const optimize = b.standardOptimizeOption(.{}); + + const main = b.addExecutable(.{ + .name = "main", + .root_source_file = b.path("main.zig"), + .optimize = optimize, + .target = target, + }); + + const assemble = b.addExecutable(.{ + .name = "assemble", + .optimize = optimize, + .target = target, + }); + + // Note: the `main` step only has a dependency on the assembly file, and so + // should pass -fno-emit-bin. Don't depend on main otherwise in this test. + assemble.addAssemblyFile(main.getEmittedAsm()); + + b.installArtifact(assemble); +} diff --git a/test/standalone/emit_asm_no_bin/main.zig b/test/standalone/emit_asm_no_bin/main.zig new file mode 100644 index 000000000000..902b554db075 --- /dev/null +++ b/test/standalone/emit_asm_no_bin/main.zig @@ -0,0 +1 @@ +pub fn main() void {}