c81c812a7a
The gdb.ada/watch_arg testcase is testing a situation where we are leaving the scope where a parameter being watched is defined. The testcase is a little non-sensical that we're watching a parameter declared as an "access integer", which in non-Ada terms means a constant pointer. Doesn't make much sense to watch a constant... So this patch changes the code a little to use an "in out Integer", which makes the parameter a non-constant integer, rather than a constant access Integer. I verified that I could still reproduce the problem with the original debugger and the modified testcase. This was motivated by a patch that Sergio is about to submit which will forbid the user from watching a constant (discussed on IRC) 2010-05-17 Joel Brobecker <brobecker@adacore.com> * gdb.ada/watch_arg/watch.adb: Rewrite testcase to avoid the parameter that we want to watch being a constant. Tested on both sparc-solaris (where the ancient debugger could still run ;-), and on x86_64-linux.
29 lines
916 B
Ada
29 lines
916 B
Ada
-- Copyright 2006, 2007, 2008, 2009, 2010 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 Watch is
|
|
|
|
procedure Foo (X : in out Integer) is
|
|
begin
|
|
X := 3; -- BREAK1
|
|
end Foo;
|
|
|
|
X : Integer := 1;
|
|
|
|
begin
|
|
Foo (X);
|
|
X := 2; -- BREAK2
|
|
end Watch;
|
|
|