diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-11-30 18:48:31 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-30 18:48:31 -0800 |
| commit | 7355a201336c8e3892427e5932fe5cdd46cf96df (patch) | |
| tree | 4ccec922634586847d02f2324d0db75f25200188 /src/main.zig | |
| parent | dd62a6d2e8de522187fd096354e7156cca1821c5 (diff) | |
| parent | 066eaa5e9cbfde172449f6d95bb884c7d86ac10c (diff) | |
| download | zig-7355a201336c8e3892427e5932fe5cdd46cf96df.tar.gz zig-7355a201336c8e3892427e5932fe5cdd46cf96df.zip | |
Merge pull request #10055 from leecannon/allocator_refactor
Allocgate
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/src/main.zig b/src/main.zig index a0dd94d422..5fd87b8703 100644 --- a/src/main.zig +++ b/src/main.zig @@ -139,7 +139,7 @@ pub fn main() anyerror!void { const gpa = gpa: { if (!builtin.link_libc) { gpa_need_deinit = true; - break :gpa &general_purpose_allocator.allocator; + break :gpa general_purpose_allocator.allocator(); } // We would prefer to use raw libc allocator here, but cannot // use it if it won't support the alignment we need. @@ -153,19 +153,19 @@ pub fn main() anyerror!void { }; var arena_instance = std.heap.ArenaAllocator.init(gpa); defer arena_instance.deinit(); - const arena = &arena_instance.allocator; + const arena = arena_instance.allocator(); const args = try process.argsAlloc(arena); if (tracy.enable_allocation) { var gpa_tracy = tracy.tracyAllocator(gpa); - return mainArgs(&gpa_tracy.allocator, arena, args); + return mainArgs(gpa_tracy.allocator(), arena, args); } return mainArgs(gpa, arena, args); } -pub fn mainArgs(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !void { +pub fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { if (args.len <= 1) { std.log.info("{s}", .{usage}); fatal("expected command argument", .{}); @@ -536,7 +536,7 @@ const Emit = union(enum) { } }; -fn optionalStringEnvVar(arena: *Allocator, name: []const u8) !?[]const u8 { +fn optionalStringEnvVar(arena: Allocator, name: []const u8) !?[]const u8 { if (std.process.getEnvVarOwned(arena, name)) |value| { return value; } else |err| switch (err) { @@ -555,8 +555,8 @@ const ArgMode = union(enum) { }; fn buildOutputType( - gpa: *Allocator, - arena: *Allocator, + gpa: Allocator, + arena: Allocator, all_args: []const []const u8, arg_mode: ArgMode, ) !void { @@ -2648,7 +2648,7 @@ fn buildOutputType( } fn parseCrossTargetOrReportFatalError( - allocator: *Allocator, + allocator: Allocator, opts: std.zig.CrossTarget.ParseOptions, ) !std.zig.CrossTarget { var opts_with_diags = opts; @@ -2689,8 +2689,8 @@ fn parseCrossTargetOrReportFatalError( fn runOrTest( comp: *Compilation, - gpa: *Allocator, - arena: *Allocator, + gpa: Allocator, + arena: Allocator, emit_bin_loc: ?Compilation.EmitLoc, test_exec_args: []const ?[]const u8, self_exe_path: []const u8, @@ -2821,7 +2821,7 @@ const AfterUpdateHook = union(enum) { update: []const u8, }; -fn updateModule(gpa: *Allocator, comp: *Compilation, hook: AfterUpdateHook) !void { +fn updateModule(gpa: Allocator, comp: *Compilation, hook: AfterUpdateHook) !void { try comp.update(); var errors = try comp.getAllErrorsAlloc(); @@ -2875,7 +2875,7 @@ fn updateModule(gpa: *Allocator, comp: *Compilation, hook: AfterUpdateHook) !voi } } -fn freePkgTree(gpa: *Allocator, pkg: *Package, free_parent: bool) void { +fn freePkgTree(gpa: Allocator, pkg: *Package, free_parent: bool) void { { var it = pkg.table.valueIterator(); while (it.next()) |value| { @@ -2887,7 +2887,7 @@ fn freePkgTree(gpa: *Allocator, pkg: *Package, free_parent: bool) void { } } -fn cmdTranslateC(comp: *Compilation, arena: *Allocator, enable_cache: bool) !void { +fn cmdTranslateC(comp: *Compilation, arena: Allocator, enable_cache: bool) !void { if (!build_options.have_llvm) fatal("cannot translate-c: compiler built without LLVM extensions", .{}); @@ -3034,7 +3034,7 @@ pub const usage_libc = \\ ; -pub fn cmdLibC(gpa: *Allocator, args: []const []const u8) !void { +pub fn cmdLibC(gpa: Allocator, args: []const []const u8) !void { var input_file: ?[]const u8 = null; var target_arch_os_abi: []const u8 = "native"; { @@ -3103,8 +3103,8 @@ pub const usage_init = ; pub fn cmdInit( - gpa: *Allocator, - arena: *Allocator, + gpa: Allocator, + arena: Allocator, args: []const []const u8, output_mode: std.builtin.OutputMode, ) !void { @@ -3199,7 +3199,7 @@ pub const usage_build = \\ ; -pub fn cmdBuild(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !void { +pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { var prominent_compile_errors: bool = false; // We want to release all the locks before executing the child process, so we make a nice @@ -3439,7 +3439,7 @@ pub fn cmdBuild(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !v } } -fn argvCmd(allocator: *Allocator, argv: []const []const u8) ![]u8 { +fn argvCmd(allocator: Allocator, argv: []const []const u8) ![]u8 { var cmd = std.ArrayList(u8).init(allocator); defer cmd.deinit(); for (argv[0 .. argv.len - 1]) |arg| { @@ -3451,7 +3451,7 @@ fn argvCmd(allocator: *Allocator, argv: []const []const u8) ![]u8 { } fn readSourceFileToEndAlloc( - allocator: *mem.Allocator, + allocator: mem.Allocator, input: *const fs.File, size_hint: ?usize, ) ![:0]u8 { @@ -3521,14 +3521,14 @@ const Fmt = struct { any_error: bool, check_ast: bool, color: Color, - gpa: *Allocator, - arena: *Allocator, + gpa: Allocator, + arena: Allocator, out_buffer: std.ArrayList(u8), const SeenMap = std.AutoHashMap(fs.File.INode, void); }; -pub fn cmdFmt(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !void { +pub fn cmdFmt(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { var color: Color = .auto; var stdin_flag: bool = false; var check_flag: bool = false; @@ -3622,7 +3622,7 @@ pub fn cmdFmt(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !voi var errors = std.ArrayList(Compilation.AllErrors.Message).init(gpa); defer errors.deinit(); - try Compilation.AllErrors.addZir(&arena_instance.allocator, &errors, &file); + try Compilation.AllErrors.addZir(arena_instance.allocator(), &errors, &file); const ttyconf: std.debug.TTY.Config = switch (color) { .auto => std.debug.detectTTYConfig(), .on => .escape_codes, @@ -3821,7 +3821,7 @@ fn fmtPathFile( var errors = std.ArrayList(Compilation.AllErrors.Message).init(fmt.gpa); defer errors.deinit(); - try Compilation.AllErrors.addZir(&arena_instance.allocator, &errors, &file); + try Compilation.AllErrors.addZir(arena_instance.allocator(), &errors, &file); const ttyconf: std.debug.TTY.Config = switch (fmt.color) { .auto => std.debug.detectTTYConfig(), .on => .escape_codes, @@ -3858,8 +3858,8 @@ fn fmtPathFile( } fn printErrMsgToStdErr( - gpa: *mem.Allocator, - arena: *mem.Allocator, + gpa: mem.Allocator, + arena: mem.Allocator, parse_error: Ast.Error, tree: Ast, path: []const u8, @@ -3941,7 +3941,7 @@ extern "c" fn ZigClang_main(argc: c_int, argv: [*:null]?[*:0]u8) c_int; extern "c" fn ZigLlvmAr_main(argc: c_int, argv: [*:null]?[*:0]u8) c_int; /// TODO https://github.com/ziglang/zig/issues/3257 -fn punt_to_clang(arena: *Allocator, args: []const []const u8) error{OutOfMemory} { +fn punt_to_clang(arena: Allocator, args: []const []const u8) error{OutOfMemory} { if (!build_options.have_llvm) fatal("`zig cc` and `zig c++` unavailable: compiler built without LLVM extensions", .{}); // Convert the args to the format Clang expects. @@ -3955,7 +3955,7 @@ fn punt_to_clang(arena: *Allocator, args: []const []const u8) error{OutOfMemory} } /// TODO https://github.com/ziglang/zig/issues/3257 -fn punt_to_llvm_ar(arena: *Allocator, args: []const []const u8) error{OutOfMemory} { +fn punt_to_llvm_ar(arena: Allocator, args: []const []const u8) error{OutOfMemory} { if (!build_options.have_llvm) fatal("`zig ar`, `zig dlltool`, `zig ranlib', and `zig lib` unavailable: compiler built without LLVM extensions", .{}); @@ -3976,7 +3976,7 @@ fn punt_to_llvm_ar(arena: *Allocator, args: []const []const u8) error{OutOfMemor /// * `lld-link` - COFF /// * `wasm-ld` - WebAssembly /// TODO https://github.com/ziglang/zig/issues/3257 -pub fn punt_to_lld(arena: *Allocator, args: []const []const u8) error{OutOfMemory} { +pub fn punt_to_lld(arena: Allocator, args: []const []const u8) error{OutOfMemory} { if (!build_options.have_llvm) fatal("`zig {s}` unavailable: compiler built without LLVM extensions", .{args[0]}); // Convert the args to the format LLD expects. @@ -4012,7 +4012,7 @@ pub const ClangArgIterator = struct { argv: []const []const u8, next_index: usize, root_args: ?*Args, - allocator: *Allocator, + allocator: Allocator, pub const ZigEquivalent = enum { target, @@ -4072,7 +4072,7 @@ pub const ClangArgIterator = struct { argv: []const []const u8, }; - fn init(allocator: *Allocator, argv: []const []const u8) ClangArgIterator { + fn init(allocator: Allocator, argv: []const []const u8) ClangArgIterator { return .{ .next_index = 2, // `zig cc foo` this points to `foo` .has_next = argv.len > 2, @@ -4311,7 +4311,7 @@ test "fds" { gimmeMoreOfThoseSweetSweetFileDescriptors(); } -fn detectNativeTargetInfo(gpa: *Allocator, cross_target: std.zig.CrossTarget) !std.zig.system.NativeTargetInfo { +fn detectNativeTargetInfo(gpa: Allocator, cross_target: std.zig.CrossTarget) !std.zig.system.NativeTargetInfo { return std.zig.system.NativeTargetInfo.detect(gpa, cross_target); } @@ -4346,8 +4346,8 @@ const usage_ast_check = ; pub fn cmdAstCheck( - gpa: *Allocator, - arena: *Allocator, + gpa: Allocator, + arena: Allocator, args: []const []const u8, ) !void { const Module = @import("Module.zig"); @@ -4516,8 +4516,8 @@ pub fn cmdAstCheck( /// This is only enabled for debug builds. pub fn cmdChangelist( - gpa: *Allocator, - arena: *Allocator, + gpa: Allocator, + arena: Allocator, args: []const []const u8, ) !void { const Module = @import("Module.zig"); |
