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.
+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.
+
2010-05-17 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/cond_lang: New testcase.
procedure Watch is
- procedure Foo (X : access Integer) is
+ procedure Foo (X : in out Integer) is
begin
- X.all := 3; -- BREAK1
+ X := 3; -- BREAK1
end Foo;
- X : aliased Integer := 1;
+ X : Integer := 1;
begin
- Foo (X'Access);
+ Foo (X);
X := 2; -- BREAK2
end Watch;