@@ -148,19 +148,23 @@ pub fn generateLazySymbol(
148148 if (lazy_sym .ty == .anyerror_type ) {
149149 alignment .* = .@"4" ;
150150 const err_names = ip .global_error_set .getNamesFromMainThread ();
151- mem .writeInt (u32 , try code .addManyAsArray (4 ), @intCast (err_names .len ), endian );
152- var offset = code .items .len ;
153- try code .resize ((err_names .len + 1 ) * 4 );
151+ var offset_index : u32 = @intCast (code .items .len );
152+ var string_index : u32 = @intCast (4 * (1 + err_names .len + @intFromBool (err_names .len > 0 )));
153+ try code .resize (offset_index + string_index );
154+ mem .writeInt (u32 , code .items [offset_index .. ][0.. 4], @intCast (err_names .len ), endian );
155+ if (err_names .len == 0 ) return .ok ;
156+ offset_index += 4 ;
154157 for (err_names ) | err_name_nts | {
155158 const err_name = err_name_nts .toSlice (ip );
156- mem .writeInt (u32 , code .items [offset .. ][0.. 4], @intCast ( code . items . len ) , endian );
157- offset += 4 ;
159+ mem .writeInt (u32 , code .items [offset_index .. ][0.. 4], string_index , endian );
160+ offset_index += 4 ;
158161 try code .ensureUnusedCapacity (err_name .len + 1 );
159162 code .appendSliceAssumeCapacity (err_name );
160163 code .appendAssumeCapacity (0 );
164+ string_index += @intCast (err_name .len + 1 );
161165 }
162- mem .writeInt (u32 , code .items [offset .. ][0.. 4], @intCast ( code . items . len ) , endian );
163- return Result .ok ;
166+ mem .writeInt (u32 , code .items [offset_index .. ][0.. 4], string_index , endian );
167+ return .ok ;
164168 } else if (Type .fromInterned (lazy_sym .ty ).zigTypeTag (pt .zcu ) == .@"enum" ) {
165169 alignment .* = .@"1" ;
166170 const enum_ty = Type .fromInterned (lazy_sym .ty );
@@ -171,8 +175,8 @@ pub fn generateLazySymbol(
171175 code .appendSliceAssumeCapacity (tag_name );
172176 code .appendAssumeCapacity (0 );
173177 }
174- return Result .ok ;
175- } else return .{ .fail = try ErrorMsg .create (
178+ return .ok ;
179+ } else return .{ .fail = try .create (
176180 gpa ,
177181 src_loc ,
178182 "TODO implement generateLazySymbol for {s} {}" ,
0 commit comments