aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-04-18 05:28:31 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-04-18 16:41:54 -0700
commitb75d86027d589be632a831ec55565230818dc4ef (patch)
tree4770cc0353d88bb1d02862222358c83843b275b1 /src/main.zig
parentb03345f32a5ba2849ddbeeae0e31e0e77ca01b01 (diff)
downloadzig-b75d86027d589be632a831ec55565230818dc4ef.tar.gz
zig-b75d86027d589be632a831ec55565230818dc4ef.zip
stage2: avoid binary bloat from GeneralPurposeAllocator
In the case of not using it.
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/main.zig b/src/main.zig
index 823eb91f33..0d61c3271e 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -135,10 +135,9 @@ var general_purpose_allocator = std.heap.GeneralPurposeAllocator(.{
pub fn main() anyerror!void {
crash_report.initialize();
- var gpa_need_deinit = false;
+ const use_gpa = build_options.force_gpa or !builtin.link_libc;
const gpa = gpa: {
- if (build_options.force_gpa or !builtin.link_libc) {
- gpa_need_deinit = true;
+ if (use_gpa) {
break :gpa general_purpose_allocator.allocator();
}
// We would prefer to use raw libc allocator here, but cannot
@@ -148,7 +147,7 @@ pub fn main() anyerror!void {
}
break :gpa std.heap.raw_c_allocator;
};
- defer if (gpa_need_deinit) {
+ defer if (use_gpa) {
_ = general_purpose_allocator.deinit();
};
var arena_instance = std.heap.ArenaAllocator.init(gpa);