/* Definitions for a frame base, for GDB, the GNU debugger.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.
#if !defined (FRAME_BASE_H)
#define FRAME_BASE_H 1
-struct frame_info;
+class frame_info_ptr;
struct frame_id;
struct frame_unwind;
struct frame_base;
debug info. It is assumed that dwarf2, stabs, ... will each
provide their own methods.
- A typical implmentation will return the same value for base,
+ A typical implementation will return the same value for base,
locals-base and args-base. That value, however, will likely be
different to the frame ID's stack address. */
/* A generic base address. */
-typedef CORE_ADDR (frame_this_base_ftype) (struct frame_info *this_frame,
+typedef CORE_ADDR (frame_this_base_ftype) (frame_info_ptr this_frame,
void **this_base_cache);
/* The base address of the frame's local variables. */
-typedef CORE_ADDR (frame_this_locals_ftype) (struct frame_info *this_frame,
+typedef CORE_ADDR (frame_this_locals_ftype) (frame_info_ptr this_frame,
void **this_base_cache);
/* The base address of the frame's arguments / parameters. */
-typedef CORE_ADDR (frame_this_args_ftype) (struct frame_info *this_frame,
+typedef CORE_ADDR (frame_this_args_ftype) (frame_info_ptr this_frame,
void **this_base_cache);
struct frame_base
/* Given THIS frame, return the frame base methods for THIS frame,
or NULL if it can't handle THIS frame. */
-typedef const struct frame_base *(frame_base_sniffer_ftype) (struct frame_info *this_frame);
+typedef const struct frame_base *(frame_base_sniffer_ftype) (frame_info_ptr this_frame);
/* Append a frame base sniffer to the list. The sniffers are polled
in the order that they are appended. */
/* Iterate through the list of frame base handlers until one returns
an implementation. */
-extern const struct frame_base *frame_base_find_by_frame (struct frame_info *this_frame);
+extern const struct frame_base *frame_base_find_by_frame (frame_info_ptr this_frame);
#endif