1-- { dg-do compile } 2 3with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO; 4procedure Unc is 5 type Arr is array (1..4) of integer; 6 type Bytes is array (positive range <>) of Character; 7 type Buffer (D : Boolean := False) is record 8 case D is 9 when False => 10 Chars: Bytes (1..16); 11 when True => 12 Values : Arr; 13 end case; 14 end record; 15-- 16 pragma Unchecked_Union (Buffer); 17 pragma Warnings (Off); 18 Val : Buffer; 19-- 20 F : File_Type; 21 S : Stream_Access; 22begin 23 Create (F, Out_File); 24 S := Stream (F); 25 Buffer'Output (S, Val); 26end; 27