2012-01-27 Pedro Alves <palves@redhat.com>
[deliverable/binutils-gdb.git] / gdb / inline-frame.h
CommitLineData
edb3359d
DJ
1/* Definitions for inline frame support.
2
0b302171 3 Copyright (C) 2008-2012 Free Software Foundation, Inc.
edb3359d
DJ
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
9 the Free Software Foundation; either version 3 of the License, or
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
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20#if !defined (INLINE_FRAME_H)
21#define INLINE_FRAME_H 1
22
23struct frame_info;
24struct frame_unwind;
25
26/* The inline frame unwinder. */
27
39d7b0e2 28extern const struct frame_unwind inline_frame_unwind;
edb3359d
DJ
29
30/* Skip all inlined functions whose call sites are at the current PC.
31 Frames for the hidden functions will not appear in the backtrace until the
32 user steps into them. */
33
34void skip_inline_frames (ptid_t ptid);
35
36/* Forget about any hidden inlined functions in PTID, which is new or
37 about to be resumed. If PTID is minus_one_ptid, forget about all
38 hidden inlined functions. */
39
40void clear_inline_frame_state (ptid_t ptid);
41
42/* Step into an inlined function by unhiding it. */
43
44void step_into_inline_frame (ptid_t ptid);
45
46/* Return the number of hidden functions inlined into the current
47 frame. */
48
49int inline_skipped_frames (ptid_t ptid);
50
51/* If one or more inlined functions are hidden, return the symbol for
52 the function inlined into the current frame. */
53
54struct symbol *inline_skipped_symbol (ptid_t ptid);
55
56/* Return the number of functions inlined into THIS_FRAME. Some of
57 the callees may not have associated frames (see
58 skip_inline_frames). */
59
60int frame_inlined_callees (struct frame_info *this_frame);
61
62#endif /* !defined (INLINE_FRAME_H) */
This page took 0.245503 seconds and 4 git commands to generate.