*** Changes since GDB 13
+* MI version 1 has been removed.
+
*** Changes in GDB 13
* MI version 1 is deprecated, and will be removed in GDB 14.
@cindex mi2 interpreter
The @sc{gdb/mi} interface introduced in @value{GDBN} 6.0.
-@item mi1
-@cindex mi1 interpreter
-The @sc{gdb/mi} interface introduced in @value{GDBN} 5.1.
-
@end table
@cindex invoke another interpreter
/* well-known interpreters */
#define INTERP_CONSOLE "console"
-#define INTERP_MI1 "mi1"
#define INTERP_MI2 "mi2"
#define INTERP_MI3 "mi3"
#define INTERP_MI4 "mi4"
exit (0);
}
- /* FIXME: cagney/2003-02-03: The big hack (part 1 of 2) that lets
- GDB retain the old MI1 interpreter startup behavior. Output the
- copyright message before the interpreter is installed. That way
- it isn't encapsulated in MI output. */
- if (!quiet && interpreter_p == INTERP_MI1)
- {
- /* Print all the junk at the top, with trailing "..." if we are
- about to read a symbol file (possibly slowly). */
- print_gdb_version (gdb_stdout, true);
- if (symarg)
- gdb_printf ("..");
- gdb_printf ("\n");
- gdb_flush (gdb_stdout); /* Force to screen during slow
- operations. */
- }
-
/* Install the default UI. All the interpreters should have had a
look at things by now. Initialize the default interpreter. */
set_top_level_interpreter (interpreter_p.c_str ());
- /* FIXME: cagney/2003-02-03: The big hack (part 2 of 2) that lets
- GDB retain the old MI1 interpreter startup behavior. Output the
- copyright message after the interpreter is installed when it is
- any sane interpreter. */
- if (!quiet && !current_interp_named_p (INTERP_MI1))
+ if (!quiet)
{
/* Print all the junk at the top, with trailing "..." if we are
about to read a symbol file (possibly slowly). */
if (argc > 0)
error (_("-environment-pwd: No arguments allowed"));
- if (mi_version (uiout) < 2)
- {
- env_execute_cli_command ("pwd", NULL);
- return;
- }
-
- /* Otherwise the mi level is 2 or higher. */
-
gdb::unique_xmalloc_ptr<char> cwd (getcwd (NULL, 0));
if (cwd == NULL)
error (_("-environment-pwd: error finding name of working directory: %s"),
dont_repeat ();
- if (mi_version (uiout) < 2)
- {
- for (i = argc - 1; i >= 0; --i)
- env_execute_cli_command ("path", argv[i]);
- return;
- }
-
- /* Otherwise the mi level is 2 or higher. */
while (1)
{
int opt = mi_getopt ("-environment-path", argc, argv, opts,
dont_repeat ();
- if (mi_version (uiout) < 2)
- {
- for (i = argc - 1; i >= 0; --i)
- env_execute_cli_command ("dir", argv[i]);
- return;
- }
-
- /* Otherwise mi level is 2 or higher. */
while (1)
{
int opt = mi_getopt ("-environment-directory", argc, argv, opts,
if (from < to)
{
- /* For historical reasons this might emit a list or a tuple, so
- we construct one or the other. */
- gdb::optional<ui_out_emit_tuple> tuple_emitter;
- gdb::optional<ui_out_emit_list> list_emitter;
-
- if (mi_version (uiout) == 1)
- tuple_emitter.emplace (uiout, "children");
- else
- list_emitter.emplace (uiout, "children");
+ ui_out_emit_list list_emitter (uiout, "children");
for (int ix = from; ix < to && ix < children.size (); ix++)
{
ui_out_emit_tuple child_emitter (uiout, "child");
else
print_values = PRINT_NO_VALUES;
- /* For historical reasons this might emit a list or a tuple, so we
- construct one or the other. */
- gdb::optional<ui_out_emit_tuple> tuple_emitter;
- gdb::optional<ui_out_emit_list> list_emitter;
-
- if (mi_version (uiout) <= 1)
- tuple_emitter.emplace (uiout, "changelist");
- else
- list_emitter.emplace (uiout, "changelist");
+ ui_out_emit_list list_emitter (uiout, "changelist");
/* Check if the parameter is a "*", which means that we want to
update all variables. */
{
int from, to;
- gdb::optional<ui_out_emit_tuple> tuple_emitter;
- if (mi_version (uiout) > 1)
- tuple_emitter.emplace (uiout, nullptr);
+ ui_out_emit_tuple tuple_emitter (uiout, nullptr);
uiout->field_string ("name", varobj_get_objname (r.varobj));
switch (r.status)
_initialize_mi_interp ()
{
/* The various interpreter levels. */
- interp_factory_register (INTERP_MI1, mi_interp_factory);
interp_factory_register (INTERP_MI2, mi_interp_factory);
interp_factory_register (INTERP_MI3, mi_interp_factory);
interp_factory_register (INTERP_MI4, mi_interp_factory);
/* If we changed interpreters, DON'T print out anything. */
if (current_interp_named_p (INTERP_MI)
- || current_interp_named_p (INTERP_MI1)
|| current_interp_named_p (INTERP_MI2)
|| current_interp_named_p (INTERP_MI3)
|| current_interp_named_p (INTERP_MI4))
if (streq (mi_version, INTERP_MI2))
return new mi_ui_out (2);
- if (streq (mi_version, INTERP_MI1))
- return new mi_ui_out (1);
-
return nullptr;
}
}
}
-gdb_test_multiple "interpreter-exec mi1 \"-break-insert main\"" "" {
- -re ".done.bkpt=.number=.\[0-9\]\[^\n\]+\r\n$gdb_prompt " {
- pass $gdb_test_name
- gdb_expect 1 {
- -re "\r\n$gdb_prompt $" { }
- }
- }
-}
-
gdb_test_multiple "interpreter-exec mi2 \"-break-insert main\"" "" {
-re ".done.bkpt=.number=.\[0-9\]\[^\n\]+\r\n$gdb_prompt " {
pass $gdb_test_name
gdb_expect {
-re "~\"GNU.*\r\n~\".*$mi_gdb_prompt$" {
- # We have a new format mi startup prompt. If we are
- # running mi1, then this is an error as we should be
- # using the old-style prompt.
- if { $MIFLAGS == "-i=mi1" } {
- perror "(mi startup) Got unexpected new mi prompt."
- remote_close host
- unset gdb_spawn_id
- return -1
- }
- verbose "GDB initialized."
- }
- -re "\[^~\].*$mi_gdb_prompt$" {
- # We have an old format mi startup prompt. If we are
- # not running mi1, then this is an error as we should be
- # using the new-style prompt.
- if { $MIFLAGS != "-i=mi1" } {
- perror "(mi startup) Got unexpected old mi prompt."
- remote_close host
- unset gdb_spawn_id
- return -1
- }
+ # We have a new format mi startup prompt.
verbose "GDB initialized."
}
-re ".*unrecognized option.*for a complete list of options." {
return ""
}
- if { $MIFLAGS == "-i=mi1" } {
- send_gdb "104-environment-directory\n"
- gdb_expect 60 {
- -re ".*Reinitialize source path to empty.*y or n. " {
- warning "Got confirmation prompt for dir reinitialization."
- send_gdb "y\n"
- gdb_expect 60 {
- -re "$mi_gdb_prompt$" {}
- timeout {error "Dir reinitialization failed (timeout)"}
- }
- }
+ send_gdb "104-environment-directory -r\n"
+ gdb_expect 60 {
+ -re "104\\\^done,source-path=.*\r\n$mi_gdb_prompt$" {}
-re "$mi_gdb_prompt$" {}
- timeout {error "Dir reinitialization failed (timeout)"}
- }
- } else {
- send_gdb "104-environment-directory -r\n"
- gdb_expect 60 {
- -re "104\\\^done,source-path=.*\r\n$mi_gdb_prompt$" {}
- -re "$mi_gdb_prompt$" {}
- timeout {error "Dir reinitialization failed (timeout)"}
- }
+ timeout {error "Dir reinitialization failed (timeout)"}
}
send_gdb "105-environment-directory $subdir\n"