| author | |
| committer | |
| log | 930f904aaa7d591d86a8c3216526711be95fcc17 |
| tree | 6f5577f11861cd70793f1731f3e7bdccbc972161 |
| parent | de24cea2cff33654ee41369517144bb94f6d139d |
Closes #127863 files changed, 30 insertions(+), 1 deletions(-)
src/Sema.zig+1-1| ... | @@ -17406,7 +17406,7 @@ fn reifyStruct( | ... | @@ -17406,7 +17406,7 @@ fn reifyStruct( |
| 17406 | if (!try sema.intFitsInType(block, src, alignment_val, Type.u32, null)) { | 17406 | if (!try sema.intFitsInType(block, src, alignment_val, Type.u32, null)) { |
| 17407 | return sema.fail(block, src, "alignment must fit in 'u32'", .{}); | 17407 | return sema.fail(block, src, "alignment must fit in 'u32'", .{}); |
| 17408 | } | 17408 | } |
| 17409 | const abi_align = @intCast(u29, alignment_val.toUnsignedInt(target)); | 17409 | const abi_align = @intCast(u29, (try alignment_val.getUnsignedIntAdvanced(target, sema.kit(block, src))).?); |
| 17410 | 17410 | ||
| 17411 | const field_name = try name_val.toAllocatedBytes( | 17411 | const field_name = try name_val.toAllocatedBytes( |
| 17412 | Type.initTag(.const_slice_u8), | 17412 | Type.initTag(.const_slice_u8), |
test/behavior.zig+1| ... | @@ -87,6 +87,7 @@ test { | ... | @@ -87,6 +87,7 @@ test { |
| 87 | _ = @import("behavior/bugs/12486.zig"); | 87 | _ = @import("behavior/bugs/12486.zig"); |
| 88 | _ = @import("behavior/bugs/12680.zig"); | 88 | _ = @import("behavior/bugs/12680.zig"); |
| 89 | _ = @import("behavior/bugs/12776.zig"); | 89 | _ = @import("behavior/bugs/12776.zig"); |
| 90 | _ = @import("behavior/bugs/12786.zig"); | ||
| 90 | _ = @import("behavior/bugs/12794.zig"); | 91 | _ = @import("behavior/bugs/12794.zig"); |
| 91 | _ = @import("behavior/byteswap.zig"); | 92 | _ = @import("behavior/byteswap.zig"); |
| 92 | _ = @import("behavior/byval_arg_var.zig"); | 93 | _ = @import("behavior/byval_arg_var.zig"); |
test/behavior/bugs/12786.zig created+28| ... | @@ -0,0 +1,28 @@ | ||
| 1 | const std = @import("std"); | ||
| 2 | |||
| 3 | fn NamespacedGlobals(comptime modules: anytype) type { | ||
| 4 | return @Type(.{ | ||
| 5 | .Struct = .{ | ||
| 6 | .layout = .Auto, | ||
| 7 | .is_tuple = false, | ||
| 8 | .fields = &.{ | ||
| 9 | .{ | ||
| 10 | .name = "globals", | ||
| 11 | .field_type = modules.mach.globals, | ||
| 12 | .default_value = null, | ||
| 13 | .is_comptime = false, | ||
| 14 | .alignment = @alignOf(modules.mach.globals), | ||
| 15 | }, | ||
| 16 | }, | ||
| 17 | .decls = &[_]std.builtin.Type.Declaration{}, | ||
| 18 | }, | ||
| 19 | }); | ||
| 20 | } | ||
| 21 | |||
| 22 | test { | ||
| 23 | _ = NamespacedGlobals(.{ | ||
| 24 | .mach = .{ | ||
| 25 | .globals = struct {}, | ||
| 26 | }, | ||
| 27 | }); | ||
| 28 | } | ||