/* Annotation routines for GDB.
- Copyright (C) 1986-2013 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 annotate_breakpoints_changed (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 */