diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-03-03 19:06:54 +0200 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-03-03 22:16:49 +0200 |
| commit | 69bd2c243e23fa2d4df2ec50802bd4b453211bfd (patch) | |
| tree | 5c20c8cad724fc759437e39ddd5a0bed00d781f1 | |
| parent | 7691013d10525ded6e02228cf89db94719bac1c5 (diff) | |
| download | zig-69bd2c243e23fa2d4df2ec50802bd4b453211bfd.tar.gz zig-69bd2c243e23fa2d4df2ec50802bd4b453211bfd.zip | |
stage2: remove opaque type workaround from `Type.ptrAlignment`
| -rw-r--r-- | src/Sema.zig | 6 | ||||
| -rw-r--r-- | src/type.zig | 10 |
2 files changed, 5 insertions, 11 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index 98b1ec22be..239d8cfc93 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -16852,7 +16852,7 @@ fn beginComptimePtrLoad( }; return ComptimePtrLoadKit{ .root_val = parent.root_val, - .root_ty = parent.ty, + .root_ty = parent.root_ty, .val = try parent.val.elemValue(sema.arena, elem_ptr.index), .ty = elem_ty, .byte_offset = byte_offset, @@ -16868,7 +16868,7 @@ fn beginComptimePtrLoad( } return ComptimePtrLoadKit{ .root_val = parent.root_val, - .root_ty = parent.ty, + .root_ty = parent.root_ty, .val = parent.val, .ty = parent.ty, .byte_offset = parent.byte_offset, @@ -16896,7 +16896,7 @@ fn beginComptimePtrLoad( }; return ComptimePtrLoadKit{ .root_val = parent.root_val, - .root_ty = parent.ty, + .root_ty = parent.root_ty, .val = try parent.val.fieldValue(sema.arena, field_index), .ty = parent.ty.structFieldType(field_index), .byte_offset = byte_offset, diff --git a/src/type.zig b/src/type.zig index a4dafec74a..ef794ffe74 100644 --- a/src/type.zig +++ b/src/type.zig @@ -2170,11 +2170,7 @@ pub const Type = extern union { .optional_single_mut_pointer, => { const child_type = self.cast(Payload.ElemType).?.data; - if (child_type.zigTypeTag() == .Opaque) { - return 1; - } else { - return child_type.abiAlignment(target); - } + return child_type.abiAlignment(target); }, .manyptr_u8, @@ -2188,8 +2184,6 @@ pub const Type = extern union { const ptr_info = self.castTag(.pointer).?.data; if (ptr_info.@"align" != 0) { return ptr_info.@"align"; - } else if (ptr_info.pointee_type.zigTypeTag() == .Opaque) { - return 1; } else { return ptr_info.pointee_type.abiAlignment(target); } @@ -2246,6 +2240,7 @@ pub const Type = extern union { .export_options, .extern_options, .@"opaque", + .anyopaque, => return 1, .fn_noreturn_no_args, // represents machine code; not a pointer @@ -2419,7 +2414,6 @@ pub const Type = extern union { .empty_struct, .void, - .anyopaque, .empty_struct_literal, .type, .comptime_int, |
