1-- { dg-do compile } 2 3with Ada.Unchecked_Conversion; 4with System.Storage_Elements; use System.Storage_Elements; 5 6procedure Unchecked_Convert14 is 7 8 type R is record 9 I : Integer; 10 C : Character; 11 end record; 12 13 subtype Buffer is Storage_Array (1 .. 0); 14 15 function As_Buffer is new Ada.Unchecked_Conversion -- { dg-warning "types for unchecked conversion have different sizes" } 16 (Source => R, Target => Buffer); 17 18 type Buffer_1 is array (Storage_Offset range 1 .. 1) of Storage_Element; 19 20 function As_Buffer_1 is new Ada.Unchecked_Conversion -- { dg-warning "types for unchecked conversion have different sizes" } 21 (Source => R, Target => Buffer_1); 22 23 B : Buffer; 24 B_1 : Buffer_1; 25 My_R : R := (1, 'x'); 26 27begin 28 B := As_Buffer (My_R); 29 B_1 := As_Buffer_1 (My_R); 30end Unchecked_Convert14; 31