diff options
author | Keith Seitz <keiths@redhat.com> | 2014-05-05 13:43:31 -0700 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2014-05-05 13:43:31 -0700 |
commit | c888a17da5c7b06eec4b1ed21e4afe84f9a41347 (patch) | |
tree | d84756986c958ac1c429529dc038765eb0c7dbd2 | |
parent | 290a839c9ab3d33d2a1b42431154b65624a81b0a (diff) | |
download | gdb-c888a17da5c7b06eec4b1ed21e4afe84f9a41347.zip gdb-c888a17da5c7b06eec4b1ed21e4afe84f9a41347.tar.gz gdb-c888a17da5c7b06eec4b1ed21e4afe84f9a41347.tar.bz2 |
Fix a dangling cleanup in linspec_parse_basic.
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 Keith Seitz <keiths@redhat.com>
* gdb.linespec/ls-dollar.exp: Add test for linespec
file:convenience_variable.
-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\\\." |