]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/stack.h
Add missing changelog entry
[thirdparty/binutils-gdb.git] / gdb / stack.h
CommitLineData
b9362cc7
AC
1/* Stack manipulation commands, for GDB the GNU Debugger.
2
42a4f53d 3 Copyright (C) 2003-2019 Free Software Foundation, Inc.
b9362cc7
AC
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
b9362cc7
AC
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
b9362cc7
AC
19
20#ifndef STACK_H
21#define STACK_H
22
f67ffa6a
AB
23/* Access method used by the MI -stack-select-frame command to switch to
24 frame FI. This differs from SELECT_FRAME in that the observers for a
25 user selected context change will be triggered. */
26
27void select_frame_for_mi (struct frame_info *fi);
b9362cc7 28
c6dc63a1
TT
29gdb::unique_xmalloc_ptr<char> find_frame_funname (struct frame_info *frame,
30 enum language *funlang,
31 struct symbol **funcp);
f8f6f20b 32
3e43a32a 33typedef void (*iterate_over_block_arg_local_vars_cb) (const char *print_name,
2c58c0a9
PA
34 struct symbol *sym,
35 void *cb_data);
36
3977b71f 37void iterate_over_block_arg_vars (const struct block *block,
2c58c0a9
PA
38 iterate_over_block_arg_local_vars_cb cb,
39 void *cb_data);
40
3977b71f 41void iterate_over_block_local_vars (const struct block *block,
2c58c0a9
PA
42 iterate_over_block_arg_local_vars_cb cb,
43 void *cb_data);
44
4b5e8d19
PW
45/* Initialize *WHAT to be a copy of the user desired print what frame info.
46 If !WHAT.has_value (), the printing function chooses a default set of
47 information to print, otherwise the printing function should print
48 the relevant information. */
49
50void get_user_print_what_frame_info (gdb::optional<enum print_what> *what);
51
52/* Return 1 if we should display the address in addition to the location,
53 because we are in the middle of a statement. */
54
55int frame_show_address (struct frame_info *frame, struct symtab_and_line sal);
56
1bfeeb0f
JL
57/* Get or set the last displayed symtab and line, which is, e.g. where we set a
58 * breakpoint when `break' is supplied with no arguments. */
59void clear_last_displayed_sal (void);
60int last_displayed_sal_is_valid (void);
61struct program_space* get_last_displayed_pspace (void);
62CORE_ADDR get_last_displayed_addr (void);
63struct symtab* get_last_displayed_symtab (void);
64int get_last_displayed_line (void);
51abb421 65symtab_and_line get_last_displayed_sal ();
1bfeeb0f 66
5d707134
PA
67/* Completer for the "frame apply all" command. */
68void frame_apply_all_cmd_completer (struct cmd_list_element *ignore,
69 completion_tracker &tracker,
70 const char *text, const char */*word*/);
71
b9362cc7 72#endif /* #ifndef STACK_H */