From 196a707b15ab32c29ba021b4f5b9ea202c109fe1 Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Tue, 5 Aug 2014 10:20:05 +0100 Subject: [PATCH] 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 * utils.c (internal_vproblem): Always print the message. --- gdb/ChangeLog | 4 ++++ gdb/utils.c | 11 +++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d8d427f3af8..59a3db7e7d1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2014-08-19 Gary Benson + + * utils.c (internal_vproblem): Always print the message. + 2014-08-18 Doug Evans * ada-typeprint.c (print_range): Initialize lo,hi for gcc -Wall. diff --git a/gdb/utils.c b/gdb/utils.c index 34b842e9b2c..61f0abc5ff6 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); } -- 2.30.2