aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/spirv/Module.zig
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2023-09-16 13:14:38 +0200
committerAndrew Kelley <andrew@ziglang.org>2023-09-23 12:36:44 -0700
commitb30cd679878ab0fab7f1e1589c348a2477d542aa (patch)
tree15125b5a26e6b0d4d6393570373bbd0bd220c3c0 /src/codegen/spirv/Module.zig
parent240f9d740d4d04619de6c6c7dbad46c78e38c831 (diff)
downloadzig-b30cd679878ab0fab7f1e1589c348a2477d542aa.tar.gz
zig-b30cd679878ab0fab7f1e1589c348a2477d542aa.zip
spirv: put global var initializers in functions
Diffstat (limited to 'src/codegen/spirv/Module.zig')
-rw-r--r--src/codegen/spirv/Module.zig5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/codegen/spirv/Module.zig b/src/codegen/spirv/Module.zig
index e61ac754ee..cafc2f0662 100644
--- a/src/codegen/spirv/Module.zig
+++ b/src/codegen/spirv/Module.zig
@@ -174,6 +174,9 @@ globals: struct {
section: Section = .{},
} = .{},
+/// The function IDs of global variable initializers
+initializers: std.ArrayListUnmanaged(IdRef) = .{},
+
pub fn init(gpa: Allocator, arena: Allocator) Module {
return .{
.gpa = gpa,
@@ -202,6 +205,8 @@ pub fn deinit(self: *Module) void {
self.globals.globals.deinit(self.gpa);
self.globals.section.deinit(self.gpa);
+ self.initializers.deinit(self.gpa);
+
self.* = undefined;
}