aboutsummaryrefslogtreecommitdiff
path: root/src/Module.zig
diff options
context:
space:
mode:
authorTechatrix <19954306+Techatrix@users.noreply.github.com>2023-09-25 04:54:07 +0200
committerVeikka Tuominen <git@vexu.eu>2023-09-25 18:10:44 +0300
commit2adb932ad6ee4ff3d3c640cb8fb7bf7db0ff5d74 (patch)
tree805211006b5f7e83115a641ca4fd358b0bcccadf /src/Module.zig
parente7bf143b364f004a76e86cad5fd3256fa87761e4 (diff)
downloadzig-2adb932ad6ee4ff3d3c640cb8fb7bf7db0ff5d74.tar.gz
zig-2adb932ad6ee4ff3d3c640cb8fb7bf7db0ff5d74.zip
translate-c: convert clang errors messages into `std.zig.ErrorBundle`
Diffstat (limited to 'src/Module.zig')
-rw-r--r--src/Module.zig12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/Module.zig b/src/Module.zig
index bdf8d3a768..0601a77320 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -131,7 +131,7 @@ failed_embed_files: std.AutoArrayHashMapUnmanaged(*EmbedFile, *ErrorMsg) = .{},
failed_exports: std.AutoArrayHashMapUnmanaged(*Export, *ErrorMsg) = .{},
/// If a decl failed due to a cimport error, the corresponding Clang errors
/// are stored here.
-cimport_errors: std.AutoArrayHashMapUnmanaged(Decl.Index, []CImportError) = .{},
+cimport_errors: std.AutoArrayHashMapUnmanaged(Decl.Index, std.zig.ErrorBundle) = .{},
/// Candidates for deletion. After a semantic analysis update completes, this list
/// contains Decls that need to be deleted if they end up having no references to them.
@@ -2603,8 +2603,8 @@ pub fn deinit(mod: *Module) void {
}
mod.failed_exports.deinit(gpa);
- for (mod.cimport_errors.values()) |errs| {
- for (errs) |err| err.deinit(gpa);
+ for (mod.cimport_errors.values()) |*errs| {
+ errs.deinit(gpa);
}
mod.cimport_errors.deinit(gpa);
@@ -4583,7 +4583,8 @@ pub fn clearDecl(
kv.value.destroy(gpa);
}
if (mod.cimport_errors.fetchSwapRemove(decl_index)) |kv| {
- for (kv.value) |err| err.deinit(gpa);
+ var errors = kv.value;
+ errors.deinit(gpa);
}
if (mod.emit_h) |emit_h| {
if (emit_h.failed_decls.fetchSwapRemove(decl_index)) |kv| {
@@ -4965,7 +4966,8 @@ fn markOutdatedDecl(mod: *Module, decl_index: Decl.Index) !void {
kv.value.destroy(mod.gpa);
}
if (mod.cimport_errors.fetchSwapRemove(decl_index)) |kv| {
- for (kv.value) |err| err.deinit(mod.gpa);
+ var errors = kv.value;
+ errors.deinit(mod.gpa);
}
if (mod.emit_h) |emit_h| {
if (emit_h.failed_decls.fetchSwapRemove(decl_index)) |kv| {