| ... | @@ -3914,15 +3914,17 @@ pub fn getUnionLayout(loaded_union: InternPool.LoadedUnionType, zcu: *const Zcu) | ... | @@ -3914,15 +3914,17 @@ pub fn getUnionLayout(loaded_union: InternPool.LoadedUnionType, zcu: *const Zcu) |
| 3914 | explicit_align | 3914 | explicit_align |
| 3915 | else | 3915 | else |
| 3916 | field_ty.abiAlignment(zcu); | 3916 | field_ty.abiAlignment(zcu); |
| 3917 | const field_size = field_ty.abiSize(zcu); | 3917 | if (field_ty.hasRuntimeBits(zcu)) { |
| 3918 | if (field_size > payload_size) { | 3918 | const field_size = field_ty.abiSize(zcu); |
| 3919 | payload_size = field_size; | 3919 | if (field_size > payload_size) { |
| 3920 | biggest_field = @intCast(field_index); | 3920 | payload_size = field_size; |
| 3921 | } | 3921 | biggest_field = @intCast(field_index); |
| 3922 | if (field_size > 0 and field_align.compare(.gte, most_aligned_field_align)) { | 3922 | } |
| 3923 | most_aligned_field = @intCast(field_index); | 3923 | if (field_size > 0 and field_align.compare(.gte, most_aligned_field_align)) { |
| 3924 | most_aligned_field_align = field_align; | 3924 | most_aligned_field = @intCast(field_index); |
| 3925 | most_aligned_field_size = field_size; | 3925 | most_aligned_field_align = field_align; |
| | 3926 | most_aligned_field_size = field_size; |
| | 3927 | } |
| 3926 | } | 3928 | } |
| 3927 | payload_align = payload_align.max(field_align); | 3929 | payload_align = payload_align.max(field_align); |
| 3928 | } | 3930 | } |