Remove internal_complaint
[deliverable/binutils-gdb.git] / gdb / complaints.h
CommitLineData
c906108c 1/* Definitions for complaint handling during symbol reading in GDB.
b9caf505 2
e2882c85 3 Copyright (C) 1990-2018 Free Software Foundation, Inc.
c906108c 4
c5aa993b 5 This file is part of GDB.
c906108c 6
c5aa993b
JM
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
c5aa993b 10 (at your option) any later version.
c906108c 11
c5aa993b
JM
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
c906108c 16
c5aa993b 17 You should have received a copy of the GNU General Public License
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
c906108c
SS
19
20
21#if !defined (COMPLAINTS_H)
22#define COMPLAINTS_H
23
b9caf505
AC
24/* Opaque object used to track the number of complaints of a
25 particular category. */
26struct complaints;
27
28/* Predefined categories. */
29extern struct complaints *symfile_complaints;
30
62d7ae92
PA
31/* Helper for complaint. */
32extern void complaint_internal (struct complaints **complaints,
33 const char *fmt, ...)
34 ATTRIBUTE_PRINTF (2, 3);
35
36/* Register a complaint. This is a macro around complaint_internal to
37 avoid computing complaint's arguments when complaints are disabled.
38 Running FMT via gettext [i.e., _(FMT)] can be quite expensive, for
39 example. */
40#define complaint(COMPLAINTS, FMT, ...) \
41 do \
42 { \
43 extern int stop_whining; \
44 \
45 if (stop_whining > 0) \
46 complaint_internal (COMPLAINTS, FMT, ##__VA_ARGS__); \
47 } \
48 while (0)
49
b9caf505
AC
50/* Clear out / initialize all complaint counters that have ever been
51 incremented. If LESS_VERBOSE is 1, be less verbose about
52 successive complaints, since the messages are appearing all
53 together during a command that is reporting a contiguous block of
54 complaints (rather than being interleaved with other messages). If
55 noisy is 1, we are in a noisy command, and our caller will print
56 enough context for the user to figure it out. */
57
58extern void clear_complaints (struct complaints **complaints,
59 int less_verbose, int noisy);
60
c906108c 61
c5aa993b 62#endif /* !defined (COMPLAINTS_H) */
This page took 1.153649 seconds and 4 git commands to generate.