diff options
author | Paul N. Hilfinger <hilfinger@adacore.com> | 2012-01-11 10:36:18 +0000 |
---|---|---|
committer | Paul N. Hilfinger <hilfinger@adacore.com> | 2012-01-11 10:36:18 +0000 |
commit | 97ddaa9bd5f8f4d51d6dac55831d2494a0ea2bdd (patch) | |
tree | 9e3ee3ae9c11133ebc873841dacfd0417738e297 /gdb/testsuite/gdb.base/watchpoint.c | |
parent | ea7335759531113c855fab30d191462b44a08dd8 (diff) | |
download | gdb-97ddaa9bd5f8f4d51d6dac55831d2494a0ea2bdd.zip gdb-97ddaa9bd5f8f4d51d6dac55831d2494a0ea2bdd.tar.gz gdb-97ddaa9bd5f8f4d51d6dac55831d2494a0ea2bdd.tar.bz2 |
Add test for use of "<block>::<variable>" syntax for locals in watch.
First, fix a technical problem with the function recurser. The test sets a
watch on local_x at a point where its value is technically undefined. The
test is written assuming that the value is not initially 2, but nothing in the
C standard guarantees that.
Second, augment the existing test for variables in recursive calls to check an
equivalent expression that explicitly sets the scope of the local variable
being tracked.
2012-01-11 Paul Hilfinger <hilfingr@adacore.com>
* gdb.base/watchpoint.c (recurser): Initialize local_x.
(main): Repeat recurser call.
* gdb.base/watchpoint.exp: Check that 'watch recurser::local_x' is
equivalent to 'local_x'.
Diffstat (limited to 'gdb/testsuite/gdb.base/watchpoint.c')
-rw-r--r-- | gdb/testsuite/gdb.base/watchpoint.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.base/watchpoint.c b/gdb/testsuite/gdb.base/watchpoint.c index 50f0a83..88c110f 100644 --- a/gdb/testsuite/gdb.base/watchpoint.c +++ b/gdb/testsuite/gdb.base/watchpoint.c @@ -80,7 +80,7 @@ void recurser (int x) void recurser (x) int x; #endif { - int local_x; + int local_x = 0; if (x > 0) recurser (x-1); @@ -232,6 +232,12 @@ int main () marker6 (); recurser (2); + /* This invocation is used for watches of a local variable with explicitly + specified scope when recursion happens. + */ + marker6 (); + recurser (2); + marker6 (); func3 (); |