1-- { dg-do run }
2
3with Init8; use Init8;
4with Text_IO; use Text_IO;
5with Dump;
6
7procedure P8 is
8
9  Local_R1 : R1;
10  Local_R2 : R2;
11
12begin
13  Put ("My_R1    :");
14  Dump (My_R1'Address, R1'Max_Size_In_Storage_Elements);
15  New_Line;
16  -- { dg-output "My_R1    : 78 56 34 12 00 ab 00 12 00 cd 00 34 00 ef 00 56.*\n" }
17  Put ("My_R2    :");
18  Dump (My_R2'Address, R2'Max_Size_In_Storage_Elements);
19  New_Line;
20  -- { dg-output "My_R2    : 12 34 56 78 12 00 ab 00 34 00 cd 00 56 00 ef 00.*\n" }
21  Local_R1 := My_R1;
22  Put ("Local_R1 :");
23  Dump (Local_R1'Address, R1'Max_Size_In_Storage_Elements);
24  New_Line;
25  -- { dg-output "Local_R1 : 78 56 34 12 00 ab 00 12 00 cd 00 34 00 ef 00 56.*\n" }
26  Local_R2 := My_R2;
27  Put ("Local_R2 :");
28  Dump (Local_R2'Address, R2'Max_Size_In_Storage_Elements);
29  New_Line;
30  -- { dg-output "Local_R2 : 12 34 56 78 12 00 ab 00 34 00 cd 00 56 00 ef 00.*\n" }
31  Local_R1 := (I => 16#12345678#,
32               N => (16#AB0012#, 16#CD0034#, 16#EF0056#));
33  Put ("Local_R1 :");
34  Dump (Local_R1'Address, R1'Max_Size_In_Storage_Elements);
35  New_Line;
36  -- { dg-output "Local_R1 : 78 56 34 12 00 ab 00 12 00 cd 00 34 00 ef 00 56.*\n" }
37  Local_R2 := (I => 16#12345678#,
38               N => (16#AB0012#, 16#CD0034#, 16#EF0056#));
39  Put ("Local_R2 :");
40  Dump (Local_R2'Address, R2'Max_Size_In_Storage_Elements);
41  New_Line;
42  -- { dg-output "Local_R2 : 12 34 56 78 12 00 ab 00 34 00 cd 00 56 00 ef 00.*\n" }
43  Local_R1.I    := Local_R2.I;
44  Local_R1.N.C1 := Local_R2.N.C1;
45  Local_R1.N.C2 := Local_R2.N.C2;
46  Local_R1.N.C3 := Local_R2.N.C3;
47
48  Put ("Local_R1 :");
49  Dump (Local_R1'Address, R1'Max_Size_In_Storage_Elements);
50  New_Line;
51  -- { dg-output "Local_R1 : 78 56 34 12 00 ab 00 12 00 cd 00 34 00 ef 00 56.*\n" }
52  Local_R2.I    := Local_R1.I;
53  Local_R2.N.C1 := Local_R1.N.C1;
54  Local_R2.N.C2 := Local_R1.N.C2;
55  Local_R2.N.C3 := Local_R1.N.C3;
56
57  Put ("Local_R2 :");
58  Dump (Local_R2'Address, R2'Max_Size_In_Storage_Elements);
59  New_Line;
60  -- { dg-output "Local_R2 : 12 34 56 78 12 00 ab 00 34 00 cd 00 56 00 ef 00.*\n" }
61end;
62