gdb: Don't reorder line table entries too much when sorting.
[deliverable/binutils-gdb.git] / gdb / annotate.h
CommitLineData
c906108c 1/* Annotation routines for GDB.
b811d2c2 2 Copyright (C) 1986-2020 Free Software Foundation, Inc.
c906108c 3
c5aa993b 4 This file is part of GDB.
c906108c 5
c5aa993b
JM
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
a9762ec7 8 the Free Software Foundation; either version 3 of the License, or
c5aa993b 9 (at your option) any later version.
c906108c 10
c5aa993b
JM
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
c906108c 15
c5aa993b 16 You should have received a copy of the GNU General Public License
a9762ec7 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */
c906108c 18
1a5c2598
TT
19#ifndef ANNOTATE_H
20#define ANNOTATE_H
21
d55e5aa6 22#include "symtab.h"
4de283e4 23#include "gdbtypes.h"
c906108c 24
a14ed312
KB
25extern void annotate_breakpoint (int);
26extern void annotate_catchpoint (int);
27extern void annotate_watchpoint (int);
28extern void annotate_starting (void);
29extern void annotate_stopped (void);
30extern void annotate_exited (int);
31extern void annotate_signalled (void);
32extern void annotate_signal_name (void);
33extern void annotate_signal_name_end (void);
34extern void annotate_signal_string (void);
35extern void annotate_signal_string_end (void);
36extern void annotate_signal (void);
37
38extern void annotate_breakpoints_headers (void);
39extern void annotate_field (int);
40extern void annotate_breakpoints_table (void);
41extern void annotate_record (void);
42extern void annotate_breakpoints_table_end (void);
43
44extern void annotate_frames_invalid (void);
6dfcd284 45extern void annotate_new_thread (void);
a2b87ed1 46extern void annotate_thread_changed (void);
c906108c 47
bd00c694
PA
48extern void annotate_display_prompt (void);
49
c906108c 50struct type;
c906108c 51
a14ed312
KB
52extern void annotate_field_begin (struct type *);
53extern void annotate_field_name_end (void);
54extern void annotate_field_value (void);
55extern void annotate_field_end (void);
56
57extern void annotate_quit (void);
58extern void annotate_error (void);
59extern void annotate_error_begin (void);
60
61extern void annotate_value_history_begin (int, struct type *);
62extern void annotate_value_begin (struct type *);
63extern void annotate_value_history_value (void);
64extern void annotate_value_history_end (void);
65extern void annotate_value_end (void);
66
67extern void annotate_display_begin (void);
68extern void annotate_display_number_end (void);
69extern void annotate_display_format (void);
70extern void annotate_display_expression (void);
71extern void annotate_display_expression_end (void);
72extern void annotate_display_value (void);
73extern void annotate_display_end (void);
74
75extern void annotate_arg_begin (void);
76extern void annotate_arg_name_end (void);
77extern void annotate_arg_value (struct type *);
78extern void annotate_arg_end (void);
79
46b9c129
TT
80/* Wrap calls to annotate_arg_begin and annotate_arg_end in an RAII
81 class. */
82struct annotate_arg_emitter
83{
84 annotate_arg_emitter () { annotate_arg_begin (); }
85 ~annotate_arg_emitter () { annotate_arg_end (); }
86
d6541620 87 DISABLE_COPY_AND_ASSIGN (annotate_arg_emitter);
46b9c129
TT
88};
89
0d3abd8c
AB
90/* If annotations are turned on then print annotation describing the full
91 name of the source file S and the line number LINE and its corresponding
92 character position.
93
94 MID_STATEMENT is nonzero if the PC is not at the beginning of that
ec8e2b6d
AB
95 line. */
96extern void annotate_source_line (struct symtab *s, int line,
0d3abd8c 97 int mid_statement, CORE_ADDR pc);
a14ed312 98
5af949e3 99extern void annotate_frame_begin (int, struct gdbarch *, CORE_ADDR);
a14ed312
KB
100extern void annotate_function_call (void);
101extern void annotate_signal_handler_caller (void);
102extern void annotate_frame_address (void);
103extern void annotate_frame_address_end (void);
104extern void annotate_frame_function_name (void);
105extern void annotate_frame_args (void);
106extern void annotate_frame_source_begin (void);
107extern void annotate_frame_source_file (void);
108extern void annotate_frame_source_file_end (void);
109extern void annotate_frame_source_line (void);
110extern void annotate_frame_source_end (void);
111extern void annotate_frame_where (void);
112extern void annotate_frame_end (void);
113
114extern void annotate_array_section_begin (int, struct type *);
115extern void annotate_elt_rep (unsigned int);
116extern void annotate_elt_rep_end (void);
117extern void annotate_elt (void);
118extern void annotate_array_section_end (void);
c906108c 119
9a4105ab
AC
120extern void (*deprecated_annotate_signalled_hook) (void);
121extern void (*deprecated_annotate_signal_hook) (void);
1a5c2598
TT
122
123#endif /* ANNOTATE_H */
This page took 1.231934 seconds and 4 git commands to generate.