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.
This commit is contained in:
Gary Benson
2014-08-05 10:20:05 +01:00
parent 774891604b
commit 196a707b15
2 changed files with 9 additions and 6 deletions

View File

@ -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> 2014-08-18 Doug Evans <dje@google.com>
* ada-typeprint.c (print_range): Initialize lo,hi for gcc -Wall. * ada-typeprint.c (print_range): Initialize lo,hi for gcc -Wall.

View File

@ -733,18 +733,17 @@ internal_vproblem (struct internal_problem *problem,
make_cleanup (xfree, reason); 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) if (problem->should_quit == internal_problem_ask)
{ {
/* Default (yes/batch case) is to quit GDB. When in batch mode /* Default (yes/batch case) is to quit GDB. When in batch mode
this lessens the likelihood of GDB going into an infinite this lessens the likelihood of GDB going into an infinite
loop. */ loop. */
if (!confirm) if (!confirm)
{ quit_p = 1;
/* Emit the message and quit. */
fputs_unfiltered (reason, gdb_stderr);
fputs_unfiltered ("\n", gdb_stderr);
quit_p = 1;
}
else else
quit_p = query (_("%s\nQuit this debugging session? "), reason); quit_p = query (_("%s\nQuit this debugging session? "), reason);
} }