aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gnat.dg/unchecked_convert8.adb
blob: 0b8f8d12d2048e51d1e928f601b647dab94e7fe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
-- { dg-do compile }
-- { dg-options "-g -O" }

with Ada.Unchecked_Conversion;

package body Unchecked_Convert8 is

   type T1 is range 0 .. 255;

   type T2 is
      record
         A : T1;
         B : T1;
      end record;

   for T2 use
      record
         A at 0 range 0 .. 7;
         B at 1 range 0 .. 7;
      end record;

   for T2'Size use 16;

   type T3 is range 0 .. (2**16 - 1);
   for  T3'Size use 16;

   function T2_TO_T3 is
      new Ada.Unchecked_Conversion (Source => T2, Target => T3);

   C : constant T3 := T2_TO_T3 (S => (A => 0, B => 0));

   procedure Dummy is begin null; end;

end Unchecked_Convert8;