From 196a707b15ab32c29ba021b4f5b9ea202c109fe1 Mon Sep 17 00:00:00 2001
From: Gary Benson <gbenson@redhat.com>
Date: Tue, 5 Aug 2014 10:20:05 +0100
Subject: Ensure internal_vproblem always prints the message

While working on internal_vproblem I noticed that the error/warning
message is suppressed if problem->should_quit is internal_problem_yes
or internal_problem_no.  This behaviour seems wrong.  This commit
modifies internal_vproblem to emit the message regardless of the
user's settings.

gdb/
2014-08-19  Gary Benson  <gbenson@redhat.com>

	* utils.c (internal_vproblem): Always print the message.
---
 gdb/ChangeLog |  4 ++++
 gdb/utils.c   | 11 +++++------
 2 files changed, 9 insertions(+), 6 deletions(-)

(limited to 'gdb')

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d8d427f..59a3db7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2014-08-19  Gary Benson  <gbenson@redhat.com>
+
+	* utils.c (internal_vproblem): Always print the message.
+
 2014-08-18  Doug Evans  <dje@google.com>
 
 	* ada-typeprint.c (print_range): Initialize lo,hi for gcc -Wall.
diff --git a/gdb/utils.c b/gdb/utils.c
index 34b842e..61f0abc 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -733,18 +733,17 @@ internal_vproblem (struct internal_problem *problem,
     make_cleanup (xfree, reason);
   }
 
+  /* Emit the message unless query will emit it below.  */
+  if (problem->should_quit != internal_problem_ask || !confirm)
+    fprintf_unfiltered (gdb_stderr, "%s\n", reason);
+
   if (problem->should_quit == internal_problem_ask)
     {
       /* Default (yes/batch case) is to quit GDB.  When in batch mode
 	 this lessens the likelihood of GDB going into an infinite
 	 loop.  */
       if (!confirm)
-        {
-          /* Emit the message and quit.  */
-          fputs_unfiltered (reason, gdb_stderr);
-          fputs_unfiltered ("\n", gdb_stderr);
-          quit_p = 1;
-        }
+	quit_p = 1;
       else
         quit_p = query (_("%s\nQuit this debugging session? "), reason);
     }
-- 
cgit v1.1