summaryrefslogtreecommitdiff
path: root/gdb/annotate.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/annotate.h')
-rw-r--r--gdb/annotate.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/gdb/annotate.h b/gdb/annotate.h
index b45d882dc0e..70c2f280507 100644
--- a/gdb/annotate.h
+++ b/gdb/annotate.h
@@ -92,8 +92,20 @@ struct annotate_arg_emitter
character position.
MID_STATEMENT is nonzero if the PC is not at the beginning of that
- line. */
-extern void annotate_source_line (struct symtab *s, int line,
+ 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);