/* Annotation routines for GDB.
- Copyright (C) 1986-2019 Free Software Foundation, Inc.
+ Copyright (C) 1986-2020 Free Software Foundation, Inc.
This file is part of GDB.
DISABLE_COPY_AND_ASSIGN (annotate_arg_emitter);
};
-extern void annotate_source (const char *, int, int, int,
- struct gdbarch *, CORE_ADDR);
+/* If annotations are turned on then print annotation describing the full
+ name of the source file S and the line number LINE and its corresponding
+ character position.
+
+ MID_STATEMENT is nonzero if the PC is not at the beginning of that
+ line.
+
+ The current symtab and line is updated to reflect S and LINE.
+
+ Return true if the annotation was printed and the current symtab and
+ line were updated, otherwise return false, which can happen if the
+ source file for S can't be found, or LINE is out of range.
+
+ This does leave GDB in the weird situation where, even when annotations
+ are on, we only sometimes print the annotation, and only sometimes
+ update the current symtab and line. However, this particular annotation
+ has behaved this way for some time, and front ends that still use
+ annotations now depend on this behaviour. */
+extern bool annotate_source_line (struct symtab *s, int line,
+ int mid_statement, CORE_ADDR pc);
extern void annotate_frame_begin (int, struct gdbarch *, CORE_ADDR);
extern void annotate_function_call (void);