xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.ada/variant/pck.ads (revision ae87de8892f277bece3527c15b186ebcfa188227)
1--  Copyright 2020 Free Software Foundation, Inc.
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
16package Pck is
17
18   type Rec_Type (C : Character := 'd') is record
19      case C is
20         when Character'First     => X_First : Integer;
21         when Character'Val (127) => X_127   : Integer;
22         when Character'Val (128) => X_128   : Integer;
23         when Character'Last      => X_Last  : Integer;
24         when others              => null;
25      end case;
26   end record;
27
28   type Second_Type (I : Integer) is record
29      One: Integer;
30      case I is
31         when -5 .. 5 =>
32	   X : Integer;
33         when others =>
34	   Y : Integer;
35      end case;
36   end record;
37
38   type Nested_And_Variable (One, Two: Integer) is record
39       Str : String (1 .. One);
40       case One is
41          when 0 =>
42	     null;
43          when others =>
44	     OneValue : Integer;
45             Str2 : String (1 .. Two);
46             case Two is
47	        when 0 =>
48		   null;
49		when others =>
50		   TwoValue : Integer;
51             end case;
52       end case;
53   end record;
54end Pck;
55