From 95e4302a8f872b3f68c4cf5af774ca1bde9d2c1a Mon Sep 17 00:00:00 2001 From: "Jose E. Marchesi" Date: Mon, 21 Oct 2013 12:42:02 +0000 Subject: [PATCH] 2013-10-21 Jose E. Marchesi PR gdb/15986 * gdb.base/run.c (main): gdb_get_line_number tag added for commands.exp. (factorial): Likewise. * gdb.base/commands.exp (watchpoint_command_test): Use gdb_get_line_number in order to determine the locations in run.c where local_var is detected to go out of scope. --- gdb/testsuite/ChangeLog | 11 +++++++++++ gdb/testsuite/gdb.base/commands.exp | 4 +++- gdb/testsuite/gdb.base/run.c | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9bb575e9775..1edfc930db5 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2013-10-21 Jose E. Marchesi + + PR gdb/15986 + * gdb.base/run.c (main): gdb_get_line_number tag added for + commands.exp. + (factorial): Likewise. + + * gdb.base/commands.exp (watchpoint_command_test): Use + gdb_get_line_number in order to determine the locations in run.c + where local_var is detected to go out of scope. + 2013-10-21 Jose E. Marchesi * gdb.base/gnu_vector.exp: Care about endianness when casting diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp index b608e0cf6a9..8313dbf6719 100644 --- a/gdb/testsuite/gdb.base/commands.exp +++ b/gdb/testsuite/gdb.base/commands.exp @@ -308,6 +308,8 @@ proc watchpoint_command_test {} { "end commands on watch" set test "continue with watch" + set lno_1 [gdb_get_line_number "commands.exp: hw local_var out of scope" "run.c"] + set lno_2 [gdb_get_line_number "commands.exp: local_var out of scope" "run.c"] gdb_test_multiple "continue" "$test" { -re "No symbol \"value\" in current context.\r\n$gdb_prompt $" { # Happens if GDB actually runs the watchpoints commands, @@ -315,7 +317,7 @@ proc watchpoint_command_test {} { # scope. fail $test } - -re "Continuing.*\[Ww\]atchpoint $wp_id deleted because the program has left the block in.*which its expression is valid.*run.c:(53|77).*$gdb_prompt $" { + -re "Continuing.*\[Ww\]atchpoint $wp_id deleted because the program has left the block in.*which its expression is valid.*run.c:($lno_1|$lno_2).*$gdb_prompt $" { pass $test } } diff --git a/gdb/testsuite/gdb.base/run.c b/gdb/testsuite/gdb.base/run.c index c1c3a1ba3bd..c7293ced2db 100644 --- a/gdb/testsuite/gdb.base/run.c +++ b/gdb/testsuite/gdb.base/run.c @@ -50,7 +50,7 @@ char *argv[], **envp; #endif { #ifdef FAKEARGV - printf ("%d\n", factorial (1)); + printf ("%d\n", factorial (1)); /* commands.exp: hw local_var out of scope */ #else if (argc != 2) { printf ("usage: factorial \n"); @@ -75,4 +75,4 @@ int factorial (value) int value; } local_var = value; return (value); -} +} /* commands.exp: local_var out of scope */ -- 2.30.2