| -- { dg-do compile } |
| |
| with Ada.Unchecked_Conversion; |
| with System.Storage_Elements; use System.Storage_Elements; |
| |
| procedure Unchecked_Convert14 is |
| |
| type R is record |
| I : Integer; |
| C : Character; |
| end record; |
| |
| subtype Buffer is Storage_Array (1 .. 0); |
| |
| function As_Buffer is new Ada.Unchecked_Conversion -- { dg-warning "types for unchecked conversion have different sizes" } |
| (Source => R, Target => Buffer); |
| |
| type Buffer_1 is array (Storage_Offset range 1 .. 1) of Storage_Element; |
| |
| function As_Buffer_1 is new Ada.Unchecked_Conversion -- { dg-warning "types for unchecked conversion have different sizes" } |
| (Source => R, Target => Buffer_1); |
| |
| B : Buffer; |
| B_1 : Buffer_1; |
| My_R : R := (1, 'x'); |
| |
| begin |
| B := As_Buffer (My_R); |
| B_1 := As_Buffer_1 (My_R); |
| end Unchecked_Convert14; |