Fix build failure in darwin-nat.c
[deliverable/binutils-gdb.git] / gdb / complaints.h
CommitLineData
c906108c 1/* Definitions for complaint handling during symbol reading in GDB.
b9caf505 2
61baf725 3 Copyright (C) 1990-2017 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 50extern void internal_complaint (struct complaints **complaints,
aff410f1
MS
51 const char *file, int line,
52 const char *fmt,
a0b31db1 53 ...) ATTRIBUTE_PRINTF (4, 5);
b9caf505
AC
54
55/* Clear out / initialize all complaint counters that have ever been
56 incremented. If LESS_VERBOSE is 1, be less verbose about
57 successive complaints, since the messages are appearing all
58 together during a command that is reporting a contiguous block of
59 complaints (rather than being interleaved with other messages). If
60 noisy is 1, we are in a noisy command, and our caller will print
61 enough context for the user to figure it out. */
62
63extern void clear_complaints (struct complaints **complaints,
64 int less_verbose, int noisy);
65
c906108c 66
c5aa993b 67#endif /* !defined (COMPLAINTS_H) */
This page took 1.091161 seconds and 4 git commands to generate.