aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-03-09 14:18:25 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-03-15 10:48:14 -0700
commit7106a91b097c5ac0feb13f328bec5e6788f8c8ef (patch)
treed8214f4e6d7df4efe095fe11679612786b9fdc95 /src/main.zig
parent23295f64ca8b93f32e75cef42cc1293ec334e890 (diff)
downloadzig-7106a91b097c5ac0feb13f328bec5e6788f8c8ef.tar.gz
zig-7106a91b097c5ac0feb13f328bec5e6788f8c8ef.zip
CLI: fix ast-check printing ZIR errors twice
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig67
1 files changed, 15 insertions, 52 deletions
diff --git a/src/main.zig b/src/main.zig
index 699122d26f..669f1afd0c 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -4082,12 +4082,7 @@ fn updateModule(gpa: Allocator, comp: *Compilation, hook: AfterUpdateHook) !void
defer errors.deinit(comp.gpa);
if (errors.errorMessageCount() > 0) {
- const ttyconf: std.debug.TTY.Config = switch (comp.color) {
- .auto => std.debug.detectTTYConfig(std.io.getStdErr()),
- .on => .escape_codes,
- .off => .no_color,
- };
- errors.renderToStdErr(ttyconf);
+ errors.renderToStdErr(get_tty_conf(comp.color));
const log_text = comp.getCompileLogOutput();
if (log_text.len != 0) {
std.debug.print("\nCompile Log Output:\n{s}", .{log_text});
@@ -4714,14 +4709,9 @@ pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi
&all_modules,
);
if (wip_errors.root_list.items.len > 0) {
- const ttyconf: std.debug.TTY.Config = switch (color) {
- .auto => std.debug.detectTTYConfig(std.io.getStdErr()),
- .on => .escape_codes,
- .off => .no_color,
- };
var errors = try wip_errors.toOwnedBundle();
defer errors.deinit(gpa);
- errors.renderToStdErr(ttyconf);
+ errors.renderToStdErr(get_tty_conf(color));
process.exit(1);
}
try fetch_result;
@@ -4767,7 +4757,7 @@ pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi
defer comp.destroy();
updateModule(gpa, comp, .none) catch |err| switch (err) {
- error.SemanticAnalyzeFail => process.exit(1),
+ error.SemanticAnalyzeFail => process.exit(2),
else => |e| return e,
};
try comp.makeBinFileExecutable();
@@ -4982,14 +4972,9 @@ pub fn cmdFmt(gpa: Allocator, arena: Allocator, args: []const []const u8) !void
try wip_errors.init(gpa);
defer wip_errors.deinit();
try Compilation.addZirErrorMessages(&wip_errors, &file);
- const ttyconf: std.debug.TTY.Config = switch (color) {
- .auto => std.debug.detectTTYConfig(std.io.getStdErr()),
- .on => .escape_codes,
- .off => .no_color,
- };
var error_bundle = try wip_errors.toOwnedBundle();
defer error_bundle.deinit(gpa);
- error_bundle.renderToStdErr(ttyconf);
+ error_bundle.renderToStdErr(get_tty_conf(color));
process.exit(2);
}
} else if (tree.errors.len != 0) {
@@ -5193,14 +5178,9 @@ fn fmtPathFile(
try wip_errors.init(gpa);
defer wip_errors.deinit();
try Compilation.addZirErrorMessages(&wip_errors, &file);
- const ttyconf: std.debug.TTY.Config = switch (fmt.color) {
- .auto => std.debug.detectTTYConfig(std.io.getStdErr()),
- .on => .escape_codes,
- .off => .no_color,
- };
var error_bundle = try wip_errors.toOwnedBundle();
defer error_bundle.deinit(gpa);
- error_bundle.renderToStdErr(ttyconf);
+ error_bundle.renderToStdErr(get_tty_conf(fmt.color));
fmt.any_error = true;
}
}
@@ -5235,14 +5215,9 @@ fn printAstErrorsToStderr(gpa: Allocator, tree: Ast, path: []const u8, color: Co
try putAstErrorsIntoBundle(gpa, tree, path, &wip_errors);
- const ttyconf: std.debug.TTY.Config = switch (color) {
- .auto => std.debug.detectTTYConfig(std.io.getStdErr()),
- .on => .escape_codes,
- .off => .no_color,
- };
var error_bundle = try wip_errors.toOwnedBundle();
defer error_bundle.deinit(gpa);
- error_bundle.renderToStdErr(ttyconf);
+ error_bundle.renderToStdErr(get_tty_conf(color));
}
pub fn putAstErrorsIntoBundle(
@@ -5848,11 +5823,6 @@ pub fn cmdAstCheck(
file.tree_loaded = true;
defer file.tree.deinit(gpa);
- try printAstErrorsToStderr(gpa, file.tree, file.sub_file_path, color);
- if (file.tree.errors.len != 0) {
- process.exit(1);
- }
-
file.zir = try AstGen.generate(gpa, file.tree);
file.zir_loaded = true;
defer file.zir.deinit(gpa);
@@ -5862,14 +5832,9 @@ pub fn cmdAstCheck(
try wip_errors.init(gpa);
defer wip_errors.deinit();
try Compilation.addZirErrorMessages(&wip_errors, &file);
- const ttyconf: std.debug.TTY.Config = switch (color) {
- .auto => std.debug.detectTTYConfig(std.io.getStdErr()),
- .on => .escape_codes,
- .off => .no_color,
- };
var error_bundle = try wip_errors.toOwnedBundle();
defer error_bundle.deinit(gpa);
- error_bundle.renderToStdErr(ttyconf);
+ error_bundle.renderToStdErr(get_tty_conf(color));
process.exit(1);
}
@@ -5974,11 +5939,6 @@ pub fn cmdChangelist(
file.tree_loaded = true;
defer file.tree.deinit(gpa);
- try printAstErrorsToStderr(gpa, file.tree, old_source_file, .auto);
- if (file.tree.errors.len != 0) {
- process.exit(1);
- }
-
file.zir = try AstGen.generate(gpa, file.tree);
file.zir_loaded = true;
defer file.zir.deinit(gpa);
@@ -6013,11 +5973,6 @@ pub fn cmdChangelist(
var new_tree = try Ast.parse(gpa, new_source, .zig);
defer new_tree.deinit(gpa);
- try printAstErrorsToStderr(gpa, new_tree, new_source_file, .auto);
- if (new_tree.errors.len != 0) {
- process.exit(1);
- }
-
var old_zir = file.zir;
defer old_zir.deinit(gpa);
file.zir_loaded = false;
@@ -6293,3 +6248,11 @@ const ClangSearchSanitizer = struct {
iframework: bool = false,
};
};
+
+fn get_tty_conf(color: Color) std.debug.TTY.Config {
+ return switch (color) {
+ .auto => std.debug.detectTTYConfig(std.io.getStdErr()),
+ .on => .escape_codes,
+ .off => .no_color,
+ };
+}