| -- { dg-do run } | |
| with System; | |
| procedure align_check is | |
| N_Allocated_Buffers : Natural := 0; | |
| -- | |
| function New_Buffer (N_Bytes : Natural) return System.Address is | |
| begin | |
| N_Allocated_Buffers := N_Allocated_Buffers + 1; | |
| return System.Null_Address; | |
| end; | |
| -- | |
| Buffer_Address : constant System.Address := New_Buffer (N_Bytes => 8); | |
| N : Natural; | |
| for N'Address use Buffer_Address; | |
| -- | |
| begin | |
| if N_Allocated_Buffers /= 1 then | |
| raise Program_Error; | |
| end if; | |
| end; |