/* Skipping uninteresting files and functions while stepping.
- Copyright (C) 2011-2019 Free Software Foundation, Inc.
+ Copyright (C) 2011-2020 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
if (symtab == NULL)
error (_("No default file now."));
- /* It is not a typo, symtab_to_filename_for_display woule be needlessly
+ /* It is not a typo, symtab_to_filename_for_display would be needlessly
ambiguous. */
filename = symtab_to_fullname (symtab);
}
/* Default to the current function if no argument is given. */
if (arg == NULL)
{
+ frame_info *fi = get_selected_frame (_("No default function now."));
+ struct symbol *sym = get_frame_function (fi);
const char *name = NULL;
- CORE_ADDR pc;
- if (!last_displayed_sal_is_valid ())
- error (_("No default function now."));
-
- pc = get_last_displayed_addr ();
- if (!find_pc_partial_function (pc, &name, NULL, NULL))
- {
- error (_("No function found containing current program point %s."),
- paddress (get_current_arch (), pc));
- }
+ if (sym != NULL)
+ name = sym->print_name ();
+ else
+ error (_("No function found containing current program point %s."),
+ paddress (get_current_arch (), get_frame_pc (fi)));
skip_function (name);
return;
}
}
}
+void _initialize_step_skip ();
void
-_initialize_step_skip (void)
+_initialize_step_skip ()
{
static struct cmd_list_element *skiplist = NULL;
struct cmd_list_element *c;