aboutsummaryrefslogtreecommitdiff
path: root/gdb/mi
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2005-01-13 22:08:27 +0000
committerAndrew Cagney <cagney@redhat.com>2005-01-13 22:08:27 +0000
commitce43223b29f59ab4642af0a3ce5b073fe1dcd3de (patch)
treeea64fc7dc96c14ae329d4b833e1121ad1e442606 /gdb/mi
parentf30f06b84e743947076abbd254918bba8033f8d4 (diff)
downloadgdb-ce43223b29f59ab4642af0a3ce5b073fe1dcd3de.zip
gdb-ce43223b29f59ab4642af0a3ce5b073fe1dcd3de.tar.gz
gdb-ce43223b29f59ab4642af0a3ce5b073fe1dcd3de.tar.bz2
2005-01-13 Andrew Cagney <cagney@gnu.org>
* breakpoint.c (gdb_breakpoint_query): Update, use catch_exceptions_with_msg. (do_captured_breakpoint): Add uiout parameter. (gdb_breakpoint): Update, use catch_exceptions_with_msg. * mi/mi-main.c (mi_cmd_thread_select): Pass mi_error_message to gdb_thread_select. Return MI_CMD_ERROR instead of MI_CMD_CAUGHT_ERROR. (mi_cmd_thread_list_ids): Ditto for gdb_list_thread_ids. (enum captured_mi_execute_command_actions): Delete EXECUTE_COMMAND_DISPLAY_ERROR. (captured_mi_execute_command): Delete code handling MI_CMD_CAUGHT_ERROR. (mi_execute_command): Don't check for EXECUTE_COMMAND_DISPLAY_ERROR. * mi/mi-cmd-break.c (breakpoint_notify): Update call to gdb_breakpoint_query. (mi_cmd_break_insert): Pass mi_error_message to gdb_breakpoint. * mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_CAUGHT_ERROR. * gdb.h (gdb_thread_select, gdb_list_thread_ids) (gdb_breakpoint, gdb_breakpoint_query): Add error_message parameter. * thread.c (thread_command): Update call. (gdb_thread_select, gdb_list_thread_ids): Update, call catch_exceptions_with_msg.
Diffstat (limited to 'gdb/mi')
-rw-r--r--gdb/mi/mi-cmd-break.c10
-rw-r--r--gdb/mi/mi-cmds.h4
-rw-r--r--gdb/mi/mi-main.c20
3 files changed, 12 insertions, 22 deletions
diff --git a/gdb/mi/mi-cmd-break.c b/gdb/mi/mi-cmd-break.c
index 528cd3c..6406084 100644
--- a/gdb/mi/mi-cmd-break.c
+++ b/gdb/mi/mi-cmd-break.c
@@ -39,7 +39,7 @@ enum
static void
breakpoint_notify (int b)
{
- gdb_breakpoint_query (uiout, b);
+ gdb_breakpoint_query (uiout, b, NULL);
}
@@ -140,12 +140,14 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
case REG_BP:
rc = gdb_breakpoint (address, condition,
0 /*hardwareflag */ , temp_p,
- thread, ignore_count);
+ thread, ignore_count,
+ &mi_error_message);
break;
case HW_BP:
rc = gdb_breakpoint (address, condition,
1 /*hardwareflag */ , temp_p,
- thread, ignore_count);
+ thread, ignore_count,
+ &mi_error_message);
break;
#if 0
case REGEXP_BP:
@@ -163,7 +165,7 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
deprecated_set_gdb_event_hooks (old_hooks);
if (rc == GDB_RC_FAIL)
- return MI_CMD_CAUGHT_ERROR;
+ return MI_CMD_ERROR;
else
return MI_CMD_DONE;
}
diff --git a/gdb/mi/mi-cmds.h b/gdb/mi/mi-cmds.h
index f9a08d9..81662bf 100644
--- a/gdb/mi/mi-cmds.h
+++ b/gdb/mi/mi-cmds.h
@@ -38,10 +38,6 @@ enum mi_cmd_result
asprintf'd into the mi_error_message buffer. The main loop will
display the error message and the completion prompt. */
MI_CMD_ERROR,
- /* An error condition was detected and caught. The error message is
- in the global error message buffer. The main loop will display
- the error message and the completion prompt. */
- MI_CMD_CAUGHT_ERROR,
/* The MI command has already displayed its completion message.
Main loop will not display a completion message but will display
the completion prompt. */
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 33ba1be..9d7a06c 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -61,8 +61,7 @@ enum
enum captured_mi_execute_command_actions
{
EXECUTE_COMMAND_DISPLAY_PROMPT,
- EXECUTE_COMMAND_SUPRESS_PROMPT,
- EXECUTE_COMMAND_DISPLAY_ERROR
+ EXECUTE_COMMAND_SUPRESS_PROMPT
};
/* This structure is used to pass information from captured_mi_execute_command
@@ -233,12 +232,12 @@ mi_cmd_thread_select (char *command, char **argv, int argc)
return MI_CMD_ERROR;
}
else
- rc = gdb_thread_select (uiout, argv[0]);
+ rc = gdb_thread_select (uiout, argv[0], &mi_error_message);
/* RC is enum gdb_rc if it is successful (>=0)
enum return_reason if not (<0). */
if ((int) rc < 0 && (enum return_reason) rc == RETURN_ERROR)
- return MI_CMD_CAUGHT_ERROR;
+ return MI_CMD_ERROR;
else if ((int) rc >= 0 && rc == GDB_RC_FAIL)
return MI_CMD_ERROR;
else
@@ -256,10 +255,10 @@ mi_cmd_thread_list_ids (char *command, char **argv, int argc)
return MI_CMD_ERROR;
}
else
- rc = gdb_list_thread_ids (uiout);
+ rc = gdb_list_thread_ids (uiout, &mi_error_message);
if (rc == GDB_RC_FAIL)
- return MI_CMD_CAUGHT_ERROR;
+ return MI_CMD_ERROR;
else
return MI_CMD_DONE;
}
@@ -1091,12 +1090,6 @@ captured_mi_execute_command (struct ui_out *uiout, void *data)
}
mi_out_rewind (uiout);
}
- else if (args->rc == MI_CMD_CAUGHT_ERROR)
- {
- mi_out_rewind (uiout);
- args->action = EXECUTE_COMMAND_DISPLAY_ERROR;
- return;
- }
else
mi_out_rewind (uiout);
}
@@ -1171,8 +1164,7 @@ mi_execute_command (char *cmd, int from_tty)
mi_parse_free (command);
return;
}
- if (args.action == EXECUTE_COMMAND_DISPLAY_ERROR
- || result.reason < 0)
+ if (result.reason < 0)
{
char *msg = result.message;
struct cleanup *cleanup = make_cleanup (xfree, msg);