aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-11-30 18:48:31 -0800
committerGitHub <noreply@github.com>2021-11-30 18:48:31 -0800
commit7355a201336c8e3892427e5932fe5cdd46cf96df (patch)
tree4ccec922634586847d02f2324d0db75f25200188 /src/main.zig
parentdd62a6d2e8de522187fd096354e7156cca1821c5 (diff)
parent066eaa5e9cbfde172449f6d95bb884c7d86ac10c (diff)
downloadzig-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.zig72
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");