diff options
| author | Tom Tromey <tom@tromey.com> | 2017-04-05 20:44:01 -0600 | 
|---|---|---|
| committer | Tom Tromey <tom@tromey.com> | 2017-04-12 11:16:17 -0600 | 
| commit | ffc2605c41d026cf5710704848b7c3b1cdbdcf49 (patch) | |
| tree | 6c4aaafe7149de5784c2c8fcd3ab53047bce2417 /gdb/python/python.c | |
| parent | 8f10c9323357ad190c0383f2fc9d394316447905 (diff) | |
| download | binutils-ffc2605c41d026cf5710704848b7c3b1cdbdcf49.zip binutils-ffc2605c41d026cf5710704848b7c3b1cdbdcf49.tar.gz binutils-ffc2605c41d026cf5710704848b7c3b1cdbdcf49.tar.bz2  | |
Introduce event_location_up
This removes make_cleanup_delete_event_location and instead changes
the various location functions to return an event_location_up, a new
unique_ptr typedef.
This is largely straightforward, but be sure to examine the
init_breakpoint_sal change.  I believe the code I deleted there is
dead, because "location != NULL" can never be true in that branch; but
you should double-check.
gdb/ChangeLog
2017-04-12  Tom Tromey  <tom@tromey.com>
	* tracepoint.c (scope_info): Update.
	* spu-tdep.c (spu_catch_start): Update.
	* python/python.c (gdbpy_decode_line): Update.
	* python/py-finishbreakpoint.c (bpfinishpy_init): Update.
	* python/py-breakpoint.c (bppy_init): Update.
	* probe.c (parse_probes): Update.
	* mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
	* location.h (event_location_deleter): New struct.
	(event_location_up): New typedef.
	(new_linespec_location, new_address_location, new_probe_location)
	(new_explicit_location, copy_event_location)
	(string_to_event_location, string_to_event_location_basic)
	(string_to_explicit_location): Update return type.
	(make_cleanup_delete_event_location): Remove.
	* location.c (new_linespec_location, new_address_location)
	(new_probe_location, new_explicit_location, copy_event_location):
	Return event_location_up.
	(delete_event_location_cleanup)
	(make_cleanup_delete_event_location): Remove.
	(string_to_explicit_location, string_to_event_location_basic)
	(string_to_event_location): Return event_location_up.
	* linespec.c (canonicalize_linespec, event_location_to_sals)
	(decode_line_with_current_source)
	(decode_line_with_last_displayed, decode_objc): Update.
	* guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
	* completer.c (location_completer): Update.
	* cli/cli-cmds.c (edit_command, list_command): Update.
	* breakpoint.c (create_overlay_event_breakpoint)
	(create_longjmp_master_breakpoint)
	(create_std_terminate_master_breakpoint)
	(create_exception_master_breakpoint)
	(create_thread_event_breakpoint): Update.
	(init_breakpoint_sal): Update.  Remove some dead code.
	(create_breakpoint_sal): Change type of "location".  Update.
	(create_breakpoints_sal, create_breakpoint, break_command_1)
	(dprintf_command, break_range_command, until_break_command)
	(init_ada_exception_breakpoint)
	(strace_marker_create_sals_from_location)
	(update_static_tracepoint, trace_command, ftrace_command)
	(strace_command, create_tracepoint_from_upload): Update.
	* break-catch-throw.c (re_set_exception_catchpoint): Update.
	* ax-gdb.c (agent_command_1): Update.
Diffstat (limited to 'gdb/python/python.c')
| -rw-r--r-- | gdb/python/python.c | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/gdb/python/python.c b/gdb/python/python.c index e0e24ac..ec202de 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -672,7 +672,7 @@ gdbpy_decode_line (PyObject *self, PyObject *args)    struct cleanup *cleanups;    gdbpy_ref<> result;    gdbpy_ref<> unparsed; -  struct event_location *location = NULL; +  event_location_up location;    if (! PyArg_ParseTuple (args, "|s", &arg))      return NULL; @@ -682,15 +682,12 @@ gdbpy_decode_line (PyObject *self, PyObject *args)    sals.sals = NULL;    if (arg != NULL) -    { -      location = string_to_event_location_basic (&arg, python_language); -      make_cleanup_delete_event_location (location); -    } +    location = string_to_event_location_basic (&arg, python_language);    TRY      {        if (location != NULL) -	sals = decode_line_1 (location, 0, NULL, NULL, 0); +	sals = decode_line_1 (location.get (), 0, NULL, NULL, 0);        else  	{  	  set_default_source_symtab_and_line ();  | 
