gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / complaints.h
index 4b9b5de5236bc1e6255d5d959e8248400a504ed1..6ad056d257efa79d3040db600c158debcecdd7ef 100644 (file)
@@ -1,53 +1,50 @@
 /* Definitions for complaint handling during symbol reading in GDB.
-   Copyright (C) 1990, 1991, 1992  Free Software Foundation, Inc.
 
-This file is part of GDB.
+   Copyright (C) 1990-2020 Free Software Foundation, Inc.
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+   This file is part of GDB.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
 
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
 #if !defined (COMPLAINTS_H)
 #define COMPLAINTS_H
 
+/* Helper for complaint.  */
+extern void complaint_internal (const char *fmt, ...)
+  ATTRIBUTE_PRINTF (1, 2);
 
-/* Support for complaining about things in the symbol file that aren't
-   catastrophic.
-
-   Each such thing gets a counter.  The first time we have the problem,
-   during a symbol read, we report it.  At the end of symbol reading,
-   if verbose, we report how many of each problem we had.  */
-
-struct complaint
-{
-  char *message;
-  unsigned counter;
-  struct complaint *next;
-};
-
-/* Root of the chain of complaints that have at some point been issued. 
-   This is used to reset the counters, and/or report the total counts.  */
+/* This controls whether complaints are emitted.  */
 
-extern struct complaint complaint_root[1];
+extern int stop_whining;
 
-/* Functions that handle complaints.  (in complaints.c)  */
+/* Register a complaint.  This is a macro around complaint_internal to
+   avoid computing complaint's arguments when complaints are disabled.
+   Running FMT via gettext [i.e., _(FMT)] can be quite expensive, for
+   example.  */
+#define complaint(FMT, ...)                                    \
+  do                                                           \
+    {                                                          \
+      if (stop_whining > 0)                                    \
+       complaint_internal (FMT, ##__VA_ARGS__);                \
+    }                                                          \
+  while (0)
 
-extern void
-complain PARAMS ((struct complaint *, ...));
+/* Clear out / initialize all complaint counters that have ever been
+   incremented.  */
 
-extern void
-clear_complaints PARAMS ((int, int));
+extern void clear_complaints ();
 
 
-#endif /* !defined (COMPLAINTS_H) */
+#endif /* !defined (COMPLAINTS_H) */
This page took 0.024424 seconds and 4 git commands to generate.