Remove struct explanation
authorTom Tromey <tom@tromey.com>
Thu, 17 May 2018 05:05:54 +0000 (23:05 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 23 May 2018 15:17:01 +0000 (09:17 -0600)
Now that there's only a single reason for a complaint to be emitted,
this removes "struct explanation" and changes vcomplaint to emit the
desired messages directly.

gdb/ChangeLog
2018-05-23  Tom Tromey  <tom@tromey.com>

* complaints.c (struct complaints) <explanation>: Remove.
(symfile_explanations): Remove.
(symfile_complaint_book): Update.
(vcomplaint): Update.
(struct explanation): Remove.

gdb/ChangeLog
gdb/complaints.c

index 592091c7e1d356c46912079d4cacd2541407cf98..350e085129d2db7ade46a85f6b1f507e191b6e2e 100644 (file)
@@ -1,3 +1,11 @@
+2018-05-23  Tom Tromey  <tom@tromey.com>
+
+       * complaints.c (struct complaints) <explanation>: Remove.
+       (symfile_explanations): Remove.
+       (symfile_complaint_book): Update.
+       (vcomplaint): Update.
+       (struct explanation): Remove.
+
 2018-05-23  Tom Tromey  <tom@tromey.com>
 
        * complaints.c (symfile_complaints): Remove.
index 4ee35a6744fc19132b00381511ff234a933eb5ba..80b9595d18721c869b4ee313dcbad6597a5cf747 100644 (file)
@@ -45,43 +45,18 @@ struct complain
   struct complain *next;
 };
 
-/* The explanatory message that should accompany the complaint.  The
-   message is in two parts - pre and post - that are printed around
-   the complaint text.  */
-struct explanation
-{
-  const char *prefix;
-  const char *postfix;
-};
-
 struct complaints
 {
   struct complain *root;
 
   enum complaint_series series;
-
-  /* The explanatory messages that should accompany the complaint.
-     NOTE: cagney/2002-08-14: In a desperate attempt at being vaguely
-     i18n friendly, this is an array of two messages.  When present,
-     the PRE and POST EXPLANATION[SERIES] are used to wrap the
-     message.  */
-  const struct explanation *explanation;
 };
 
 static struct complain complaint_sentinel;
 
-/* The symbol table complaint table.  */
-
-static struct explanation symfile_explanations[] = {
-  { "During symbol reading, ", "." },
-  { "", "..."},
-  { NULL, NULL }
-};
-
 static struct complaints symfile_complaint_book = {
   &complaint_sentinel,
-  ISOLATED_MESSAGE,
-  symfile_explanations
+  ISOLATED_MESSAGE
 };
 
 static struct complain * ATTRIBUTE_PRINTF (4, 0)
@@ -156,29 +131,14 @@ vcomplaint (const char *file,
     (*deprecated_warning_hook) (fmt, args);
   else
     {
-      if (symfile_complaint_book.explanation == NULL)
-       /* A [v]warning() call always appends a newline.  */
-       vwarning (fmt, args);
+      std::string msg = string_vprintf (fmt, args);
+      wrap_here ("");
+      begin_line ();
+      if (series == ISOLATED_MESSAGE)
+       fprintf_filtered (gdb_stderr, "During symbol reading, %s.\n",
+                         msg.c_str ());
       else
-       {
-         std::string msg = string_vprintf (fmt, args);
-         wrap_here ("");
-         begin_line ();
-         /* XXX: i18n */
-         fprintf_filtered (gdb_stderr, "%s%s%s",
-                           symfile_complaint_book.explanation[series].prefix,
-                           msg.c_str (),
-                           symfile_complaint_book.explanation[series].postfix);
-         /* Force a line-break after any isolated message.  */
-         if (series == ISOLATED_MESSAGE)
-           /* It would be really nice to use begin_line() here.
-              Unfortunately that function doesn't track GDB_STDERR and
-              consequently will sometimes supress a line when it
-              shouldn't.  */
-           fputs_filtered ("\n", gdb_stderr);
-         else
-           wrap_here ("");
-       }
+       fprintf_filtered (gdb_stderr, "%s...", msg.c_str ());
     }
 
   /* If GDB dumps core, we'd like to see the complaints first.