Only print "no debugging symbols" message once
[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
62d7ae92 24/* Helper for complaint. */
b98664d3
TT
25extern void complaint_internal (const char *fmt, ...)
26 ATTRIBUTE_PRINTF (1, 2);
62d7ae92
PA
27
28/* Register a complaint. This is a macro around complaint_internal to
29 avoid computing complaint's arguments when complaints are disabled.
30 Running FMT via gettext [i.e., _(FMT)] can be quite expensive, for
31 example. */
b98664d3 32#define complaint(FMT, ...) \
62d7ae92
PA
33 do \
34 { \
35 extern int stop_whining; \
36 \
37 if (stop_whining > 0) \
b98664d3 38 complaint_internal (FMT, ##__VA_ARGS__); \
62d7ae92
PA
39 } \
40 while (0)
41
b9caf505
AC
42/* Clear out / initialize all complaint counters that have ever been
43 incremented. If LESS_VERBOSE is 1, be less verbose about
44 successive complaints, since the messages are appearing all
45 together during a command that is reporting a contiguous block of
46 complaints (rather than being interleaved with other messages). If
47 noisy is 1, we are in a noisy command, and our caller will print
48 enough context for the user to figure it out. */
49
b98664d3 50extern void clear_complaints (int less_verbose);
b9caf505 51
c906108c 52
c5aa993b 53#endif /* !defined (COMPLAINTS_H) */
This page took 1.325704 seconds and 4 git commands to generate.