make parameter being watched is a non-constant.

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.
This commit is contained in:
Joel Brobecker 2010-05-17 21:32:57 +00:00
parent d59b6f6c38
commit c81c812a7a
2 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,8 @@
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.

View file

@ -15,15 +15,15 @@
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;