return;
/* Save everything as an explicit location. */
- canon = state->canonical->location
- = new_explicit_location (&ls->explicit_loc).release ();
+ state->canonical->location
+ = new_explicit_location (&ls->explicit_loc);
+ canon = state->canonical->location.get ();
explicit_loc = get_explicit_location (canon);
if (explicit_loc->label_name != NULL)
addr = linespec_expression_to_pc (&const_expr);
if (PARSER_STATE (parser)->canonical != NULL)
PARSER_STATE (parser)->canonical->location
- = copy_event_location (location).release ();
+ = copy_event_location (location);
do_cleanups (cleanup);
}
search_pspace, default_symtab,
default_line, canonical);
cleanups = make_cleanup (linespec_parser_delete, &parser);
- save_current_program_space ();
+
+ scoped_restore_current_program_space restore_pspace;
result = event_location_to_sals (&parser, location);
state = PARSER_STATE (&parser);
search_pspace, default_symtab,
default_line, NULL);
cleanups = make_cleanup (linespec_parser_delete, &parser);
- save_current_program_space ();
+
+ scoped_restore_current_program_space restore_pspace;
result = event_location_to_sals (&parser, location);
str = xstrdup (saved_arg);
make_cleanup (xfree, str);
- self->canonical->location = new_linespec_location (&str).release ();
+ self->canonical->location = new_linespec_location (&str);
}
}
int i;
struct linespec_sals *lsal;
- delete_event_location (location);
for (i = 0; VEC_iterate (linespec_sals, sals, i, lsal); ++i)
{
xfree (lsal->canonical);