/* Annotation routines for GDB.
- Copyright (C) 1986, 1989, 1990, 1991, 1992, 1994, 1998, 1999, 2000, 2007,
- 2008, 2009, 2010 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_new_thread (void);
extern void annotate_thread_changed (void);
+extern void annotate_display_prompt (void);
+
struct type;
extern void annotate_field_begin (struct type *);
extern void annotate_arg_value (struct type *);
extern void annotate_arg_end (void);
+/* 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 (); }
+
+ DISABLE_COPY_AND_ASSIGN (annotate_arg_emitter);
+};
+
extern void annotate_source (char *, int, int, int,
struct gdbarch *, CORE_ADDR);
extern void (*deprecated_annotate_signalled_hook) (void);
extern void (*deprecated_annotate_signal_hook) (void);
+
+#endif /* ANNOTATE_H */