diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/linespec.c | 4 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.linespec/ls-dollar.exp | 11 |
4 files changed, 24 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fc8b44a..e38a86a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-05-05 Keith Seitz <keiths@redhat.com> + + * linespec.c (linespec_parse_basic): Run cleanups if a convenience + variable or history value is successfully parsed. + 2014-05-05 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> diff --git a/gdb/linespec.c b/gdb/linespec.c index 610809d..cb76b9c 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -1665,6 +1665,10 @@ linespec_parse_basic (linespec_parser *parser) discard_cleanups (cleanup); return; } + + /* The convenience variable/history value parsed correctly. + NAME is no longer needed. */ + do_cleanups (cleanup); } else { diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 311b528..dbcf0ae 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-05-05 Keith Seitz <keiths@redhat.com> + + * gdb.linespec/ls-dollar.exp: Add test for linespec + file:convenience_variable. + 2014-05-05 Yao Qi <yao@codesourcery.com> * gdb.trace/unavailable.exp (gdb_collect_args_test): Save diff --git a/gdb/testsuite/gdb.linespec/ls-dollar.exp b/gdb/testsuite/gdb.linespec/ls-dollar.exp index 2e35804..bccc40a 100644 --- a/gdb/testsuite/gdb.linespec/ls-dollar.exp +++ b/gdb/testsuite/gdb.linespec/ls-dollar.exp @@ -30,7 +30,16 @@ if {[prepare_for_testing $testfile $exefile $srcfile \ gdb_test_no_output "set listsize 1" +set line [gdb_get_line_number {dollar_func}] + gdb_test "list \$dollar_var" \ ".*static int [string_to_regexp {$dollar_var}] = 0;" gdb_test "break \$dollar_func" \ - "Breakpoint $decimal at $hex: file .*$srcfile, line [gdb_get_line_number {dollar_func}]\\\." + "Breakpoint $decimal at $hex: file .*$srcfile, line $line\\\." + +gdb_test_no_output "set var \$theline = $line" +gdb_test "list $srcfile:\$theline" \ + ".*[string_to_regexp {/* dollar_func */}]" + +gdb_test "break $srcfile:\$theline" \ + "Breakpoint $decimal at $hex: file .*$srcfile, line $line\\\." |