/* Annotation routines for GDB.
- Copyright (C) 1986, 1989-1992, 1994, 1998-2000, 2007-2012 Free
- Software Foundation, Inc.
+ Copyright (C) 1986-2017 Free Software Foundation, Inc.
This file is part of GDB.
#include "symtab.h"
#include "gdbtypes.h"
-extern void annotate_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 (); }
+
+ annotate_arg_emitter (const annotate_arg_emitter &) = delete;
+ annotate_arg_emitter &operator= (const annotate_arg_emitter &) = delete;
+};
+
extern void annotate_source (char *, int, int, int,
struct gdbarch *, CORE_ADDR);