Refactor string_to_event_location for legacy linespec support.
authorKeith Seitz <keiths@redhat.com>
Tue, 9 Feb 2016 18:02:53 +0000 (10:02 -0800)
committerKeith Seitz <keiths@redhat.com>
Tue, 9 Feb 2016 18:02:53 +0000 (10:02 -0800)
commiteeb1af437c6f1ca111bc31b63eefc5344b553681
tree738acf4e476b72caadaaebddc064c4b217faccf3
parent609332f15cc2ad651d0ebd573010595a4593e89a
Refactor string_to_event_location for legacy linespec support.

This patch refactors string_to_event_location, breaking it into two
separate functions:

1) string_to_event_location_basic
A "basic" string parser that implements support for "legacy" linespecs
(linespec, address, and probe locations).  This function is intended to
be used by any UI wishing/needing to support this legacy behavior.

2) string_to_event_location
This is now intended as a CLI-only function which adds explicit location
parsing in a CLI-appropriate manner (in the form of traditional option/value
pairs).

Together these patches serve to simplify string-to-event location parsing
for all existing non-CLI interfaces (MI, guile, and python).

gdb/ChangeLog

* location.c (string_to_explicit_location): Note that "-p" is
reserved for probe locations and return NULL for any input
that starts with that.
(string_to_event_location): Move "legacy" linespec code to ...
(string_to_event_location_basic): ... here.
* location.h (string_to_event_location): Update comment.
(string_to_event_location_basic): New function.
gdb/ChangeLog
gdb/location.c
gdb/location.h