From a96e36da2f5278949099b0b985b2fa6ce474b135 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Tue, 9 Feb 2016 10:02:53 -0800 Subject: [PATCH] Use string_to_event_location_basic in guile. This patch, analogous to the previous python patch, implements proper legacy linespec support in guile code using the newly introduced string_to_event_location_basic. gdb/ChangeLog * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Skip leading whitespace and use string_to_event_location_basic instead of new_linespec_location. gdb/testsuite/ChangeLog * gdb.guile/scm-breakpoint.exp (test_bkpt_address): New procedure. (toplevel): Call test_bkpt_address. --- gdb/ChangeLog | 6 ++++++ gdb/guile/scm-breakpoint.c | 4 ++-- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.guile/scm-breakpoint.exp | 13 +++++++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 64fc7966682..f7591ff192f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2016-02-09 Keith Seitz + + * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Skip + leading whitespace and use string_to_event_location_basic instead + of new_linespec_location. + 2016-02-09 Keith Seitz PR python/19506 diff --git a/gdb/guile/scm-breakpoint.c b/gdb/guile/scm-breakpoint.c index 716fe4cbe8e..baecf011d16 100644 --- a/gdb/guile/scm-breakpoint.c +++ b/gdb/guile/scm-breakpoint.c @@ -425,8 +425,8 @@ gdbscm_register_breakpoint_x (SCM self) pending_breakpoint_scm = self; location = bp_smob->spec.location; - copy = location; - eloc = new_linespec_location (©); + copy = skip_spaces (location); + eloc = string_to_event_location_basic (©, current_language); cleanup = make_cleanup_delete_event_location (eloc); TRY diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 38f1fc5e8e3..c4e082a23a4 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-02-09 Keith Seitz + + * gdb.guile/scm-breakpoint.exp (test_bkpt_address): New procedure. + (toplevel): Call test_bkpt_address. + 2016-02-09 Keith Seitz PR python/19506 diff --git a/gdb/testsuite/gdb.guile/scm-breakpoint.exp b/gdb/testsuite/gdb.guile/scm-breakpoint.exp index 542a40fda40..33edf86b7f6 100644 --- a/gdb/testsuite/gdb.guile/scm-breakpoint.exp +++ b/gdb/testsuite/gdb.guile/scm-breakpoint.exp @@ -487,6 +487,18 @@ proc test_bkpt_registration {} { } } +proc test_bkpt_address {} { + global decimal srcfile + + # Leading whitespace is intentional! + gdb_scm_test_silent_cmd \ + "guile (define bp1 (make-breakpoint \" *multiply\"))" \ + "create address breakpoint a ' *multiply'" 1 + + gdb_test "guile (register-breakpoint! bp1)" \ + ".*Breakpoint ($decimal)+ at .*$srcfile, line ($decimal)+\." +} + test_bkpt_basic test_bkpt_deletion test_bkpt_cond_and_cmds @@ -495,3 +507,4 @@ test_watchpoints test_bkpt_internal test_bkpt_eval_funcs test_bkpt_registration +test_bkpt_address -- 2.30.2