/* Annotation routines for GDB.
- Copyright (C) 1986, 1989, 1990, 1991, 1992, 1994, 1998, 1999, 2000, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1986-2019 Free Software Foundation, Inc.
This file is part of GDB.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef ANNOTATE_H
+#define ANNOTATE_H
+
#include "symtab.h"
#include "gdbtypes.h"
-extern void breakpoints_changed (void);
-
-extern void annotate_ignore_count_change (void);
extern void annotate_breakpoint (int);
extern void annotate_catchpoint (int);
extern void annotate_watchpoint (int);
extern void annotate_breakpoints_table_end (void);
extern void annotate_frames_invalid (void);
+extern void annotate_new_thread (void);
+extern void annotate_thread_changed (void);
+
+extern void annotate_display_prompt (void);
struct type;
extern void annotate_arg_value (struct type *);
extern void annotate_arg_end (void);
-extern void annotate_source (char *, int, int, int, CORE_ADDR);
+/* Wrap calls to annotate_arg_begin and annotate_arg_end in an RAII
+ class. */
+struct annotate_arg_emitter
+{
+ annotate_arg_emitter () { annotate_arg_begin (); }
+ ~annotate_arg_emitter () { annotate_arg_end (); }
-extern void annotate_frame_begin (int, CORE_ADDR);
+ DISABLE_COPY_AND_ASSIGN (annotate_arg_emitter);
+};
+
+extern void annotate_source (char *, int, int, int,
+ struct gdbarch *, CORE_ADDR);
+
+extern void annotate_frame_begin (int, struct gdbarch *, CORE_ADDR);
extern void annotate_function_call (void);
extern void annotate_signal_handler_caller (void);
extern void annotate_frame_address (void);
extern void annotate_elt (void);
extern void annotate_array_section_end (void);
-extern void (*deprecated_annotate_starting_hook) (void);
-extern void (*deprecated_annotate_stopped_hook) (void);
extern void (*deprecated_annotate_signalled_hook) (void);
extern void (*deprecated_annotate_signal_hook) (void);
-extern void (*deprecated_annotate_exited_hook) (void);
+
+#endif /* ANNOTATE_H */