forked from Imagelibrary/binutils-gdb
This patch applies a few fixes to gdb.ada/fun_overload_menu.exp. It adds some comments to the source and uses this to extract line numbers. This is used to ensure that two otherwise-equivalent results are in fact different, so that the test really checks that the result is correct. It also changes the test_menu proc to accept a list of possible results. This lets the test work regardless of the order in which the menu items are presented by gdb. Finally, like an earlier patch, it changes the test to optionally accept unqualified names from gdb.
48 lines
1.4 KiB
Ada
48 lines
1.4 KiB
Ada
-- Copyright 2015-2024 Free Software Foundation, Inc.
|
|
--
|
|
-- This program is free software; you can redistribute it and/or modify
|
|
-- it under the terms of the GNU General Public License as published by
|
|
-- the Free Software Foundation; either version 3 of the License, or
|
|
-- (at your option) any later version.
|
|
--
|
|
-- This program is distributed in the hope that it will be useful,
|
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
-- GNU General Public License for more details.
|
|
--
|
|
-- You should have received a copy of the GNU General Public License
|
|
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
procedure Foo is
|
|
|
|
type New_Integer is new Integer;
|
|
type Integer_Access is access Integer;
|
|
|
|
function F (I : Integer; A : Integer_Access) return Boolean is
|
|
begin
|
|
return True; -- LINE 1
|
|
end F;
|
|
|
|
function F (I : New_Integer; A : Integer_Access) return Boolean is
|
|
begin
|
|
return False; -- LINE 2
|
|
end F;
|
|
|
|
procedure P (I : Integer; A : Integer_Access) is
|
|
begin
|
|
null;
|
|
end P;
|
|
|
|
procedure P (I : New_Integer; A : Integer_Access) is
|
|
begin
|
|
null;
|
|
end P;
|
|
|
|
B1 : constant Boolean := F (Integer'(1), null); -- BREAK
|
|
B2 : constant Boolean := F (New_Integer'(2), null);
|
|
|
|
begin
|
|
P (Integer'(3), null);
|
|
P (New_Integer'(4), null);
|
|
end Foo;
|