]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/testsuite/gdb.ada/array_of_variant/p.adb
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.ada / array_of_variant / p.adb
CommitLineData
1d506c26 1-- Copyright 2020-2024 Free Software Foundation, Inc.
7ff5b937
TT
2--
3-- This program is free software; you can redistribute it and/or modify
4-- it under the terms of the GNU General Public License as published by
5-- the Free Software Foundation; either version 3 of the License, or
6-- (at your option) any later version.
7--
8-- This program is distributed in the hope that it will be useful,
9-- but WITHOUT ANY WARRANTY; without even the implied warranty of
10-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11-- GNU General Public License for more details.
12--
13-- You should have received a copy of the GNU General Public License
14-- along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16with Pck; use Pck;
17
18procedure P is
19
20 type Tag_T is (Unused, Object);
21
22 type Array_T is array (1 .. Five) of Integer;
23
24 type Payload_T (Tag : Tag_T := Unused) is
25 record
26 case Tag is
27 when Object =>
28 Values : Array_T := (others => 1);
29 when Unused =>
30 null;
31 end case;
32 end record;
33
34 Objects : array (1 .. 2) of Payload_T;
35
05fb05a9
TT
36 type Another_Type (Tag : Tag_T := Unused) is
37 record
38 case Tag is
39 when Unused =>
40 CVal : Character;
41 when Object =>
42 IVal : Integer;
43 end case;
44 end record;
45
46 type Enclosing is record
47 Initial : Integer;
48 Rest : Another_Type;
49 end record;
50
51 Another_Array : array (1 .. 2) of Enclosing
52 := ((Initial => 0, Rest => (Tag => Unused, CVal => 'X')),
53 (Initial => 0, Rest => (Tag => Object, IVal => 88)));
54
7ff5b937
TT
55begin
56 Objects (1) := (Tag => Object, Values => (others => 2));
57 Do_Nothing (Objects'Address); -- START
05fb05a9 58 Do_Nothing (Another_Array'Address);
7ff5b937 59end P;