xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.ada/homonym/homonym.adb (revision 9fb66d812c00ebfb445c0b47dea128f32aa6fe96)
1--  Copyright 2008-2019 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
16with Pck; use Pck;
17
18package body Homonym is
19
20   type Integer_Range is new Integer range -100 .. 100;
21   type Positive_Range is new Positive range 1 .. 19740804;
22
23   ---------------
24   -- Get_Value --
25   ---------------
26
27   function Get_Value return Integer_Range
28   is
29      subtype Local_Type is Integer_Range;
30      subtype Local_Type_Subtype is Local_Type;
31      subtype Int_Type   is Integer_Range;
32      Lcl : Local_Type := 29;
33      Some_Local_Type_Subtype : Local_Type_Subtype := Lcl;
34      I : Int_Type := 1;
35   begin
36      Do_Nothing (Some_Local_Type_Subtype'Address);
37      Do_Nothing (I'Address);
38      return Lcl;  --  BREAK_1
39   end Get_Value;
40
41   ---------------
42   -- Get_Value --
43   ---------------
44
45   function Get_Value return Positive_Range
46   is
47      subtype Local_Type is Positive_Range;
48      subtype Local_Type_Subtype is Local_Type;
49      subtype Pos_Type is Positive_Range;
50      Lcl : Local_Type := 17;
51      Some_Local_Type_Subtype : Local_Type_Subtype := Lcl;
52      P : Pos_Type := 2;
53   begin
54      Do_Nothing (Some_Local_Type_Subtype'Address);
55      Do_Nothing (P'Address);
56      return Lcl;  --  BREAK_2
57   end Get_Value;
58
59   ----------------
60   -- Start_Test --
61   ----------------
62
63   procedure Start_Test is
64      Int : Integer_Range;
65      Pos : Positive_Range;
66   begin
67      Int := Get_Value;
68      Pos := Get_Value;
69   end Start_Test;
70
71end Homonym;
72