| author | |
| committer | |
| log | 37afab2addab5809e1419a09e3be5ea4f3ee5501 |
| tree | 44a909a2351c3f3434325c5b38f545d8b7960abd |
| parent | 0fa80e66b7e995e560ac1c3da7069c603e9a0538 |
Closes #127692 files changed, 12 insertions(+), 0 deletions(-)
src/Sema.zig+1| ... | @@ -26005,6 +26005,7 @@ fn analyzeDeclRef(sema: *Sema, decl_index: Decl.Index) CompileError!Air.Inst.Ref | ... | @@ -26005,6 +26005,7 @@ fn analyzeDeclRef(sema: *Sema, decl_index: Decl.Index) CompileError!Air.Inst.Ref |
| 26005 | .pointee_type = decl_tv.ty, | 26005 | .pointee_type = decl_tv.ty, |
| 26006 | .mutable = false, | 26006 | .mutable = false, |
| 26007 | .@"addrspace" = decl.@"addrspace", | 26007 | .@"addrspace" = decl.@"addrspace", |
| 26008 | .@"align" = decl.@"align", | ||
| 26008 | }), | 26009 | }), |
| 26009 | try Value.Tag.decl_ref.create(sema.arena, decl_index), | 26010 | try Value.Tag.decl_ref.create(sema.arena, decl_index), |
| 26010 | ); | 26011 | ); |
test/behavior/pointers.zig+11| ... | @@ -486,3 +486,14 @@ test "array slicing to slice" { | ... | @@ -486,3 +486,14 @@ test "array slicing to slice" { |
| 486 | try S.doTheTest(); | 486 | try S.doTheTest(); |
| 487 | comptime try S.doTheTest(); | 487 | comptime try S.doTheTest(); |
| 488 | } | 488 | } |
| 489 | |||
| 490 | test "pointer to constant decl preserves alignment" { | ||
| 491 | const S = struct { | ||
| 492 | a: u8, | ||
| 493 | b: u8, | ||
| 494 | const aligned align(8) = @This(){ .a = 3, .b = 4 }; | ||
| 495 | }; | ||
| 496 | |||
| 497 | const alignment = @typeInfo(@TypeOf(&S.aligned)).Pointer.alignment; | ||
| 498 | try std.testing.expect(alignment == 8); | ||
| 499 | } |