PR tree-optimization/86415 - strlen() not folded for substrings within constant arrays
[official-gcc.git] / gcc / testsuite / gnat.dg / rep_clause6.ads
blob6b0b0d044c6fd1ad203e5c1c1667717447e438a4
1 package Rep_Clause6 is
3 type B1_Type is range 0 .. 2**1 - 1;
4 for B1_Type'Size use 1;
6 type U10_Type is range 0 .. 2**10 - 1;
7 for U10_Type'Size use 10;
9 type B5_Type is range 0 .. 2**5 - 1;
10 for B5_Type'Size use 5;
12 type B11_Type is range 0 .. 2**11 - 1;
13 for B11_Type'Size use 11;
15 type Rec1 is record
16 B1 : B1_Type;
17 U10 : U10_Type;
18 B5 : B5_Type;
19 end record;
21 for Rec1 use record
22 B1 at 0 range 0 .. 0;
23 U10 at 0 range 1 .. 10;
24 B5 at 0 range 11 .. 15;
25 end record;
26 for Rec1'Size use 16;
28 type Arr is array (1 .. 5) of Rec1;
29 for Arr'Size use 80;
31 subtype Header_Type is String (1 .. 16);
33 type Rec2 is record
34 Header : Header_Type;
35 Spare_5 : B5_Type;
36 Deleted_Reports : Arr;
37 Block_End : B11_Type;
38 end record;
40 for Rec2 use record
41 Header at 0 range 0 .. 127;
42 Spare_5 at 16 range 0 .. 4;
43 Deleted_Reports at 16 range 5 .. 84;
44 Block_End at 24 range 21 .. 31;
45 end record;
46 for Rec2'Size use 224;
48 type Enum is (A_Msg, B_Msg, C_Msg, D_Msg);
50 type Rec3 (Msg_Type : Enum := Enum'First) is record
51 case Msg_Type is
52 when A_Msg => A_M : Arr;
53 when B_Msg => B_M : Arr;
54 when C_Msg => C_M : Rec2;
55 when others => null;
56 end case;
57 end record;
59 procedure Dummy;
61 end Rep_Clause6;