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:
parent
d59b6f6c38
commit
c81c812a7a
2 changed files with 9 additions and 4 deletions
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue