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