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.
This commit is contained in:
Keith Seitz 2016-02-09 10:02:53 -08:00
parent 9f61929fd8
commit a96e36da2f
4 changed files with 26 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2016-02-09 Keith Seitz <keiths@redhat.com>
* 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 <keiths@redhat.com>
PR python/19506

View file

@ -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);
copy = skip_spaces (location);
eloc = string_to_event_location_basic (&copy, current_language);
cleanup = make_cleanup_delete_event_location (eloc);
TRY

View file

@ -1,3 +1,8 @@
2016-02-09 Keith Seitz <keiths@redhat.com>
* gdb.guile/scm-breakpoint.exp (test_bkpt_address): New procedure.
(toplevel): Call test_bkpt_address.
2016-02-09 Keith Seitz <keiths@redhat.com>
PR python/19506

View file

@ -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