x86: consistently convert to byte registers for TEST w/ imm optimization
[deliverable/binutils-gdb.git] / gdb / mi / mi-cmd-info.c
index 0fce25a718d360fbbe672904385bb021cb66c878..9bad143b592b4f16fb74bd3769374fe5552f2966 100644 (file)
@@ -1,5 +1,5 @@
 /* MI Command Set - information commands.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 /* Implement the "-info-ada-exceptions" GDB/MI command.  */
 
 void
-mi_cmd_info_ada_exceptions (char *command, char **argv, int argc)
+mi_cmd_info_ada_exceptions (const char *command, char **argv, int argc)
 {
   struct ui_out *uiout = current_uiout;
   struct gdbarch *gdbarch = get_current_arch ();
   char *regexp;
-  struct cleanup *old_chain;
-  VEC(ada_exc_info) *exceptions;
-  int ix;
-  struct ada_exc_info *info;
 
   switch (argc)
     {
@@ -48,38 +44,31 @@ mi_cmd_info_ada_exceptions (char *command, char **argv, int argc)
       break;
     }
 
-  exceptions = ada_exceptions_list (regexp);
-  old_chain = make_cleanup (VEC_cleanup (ada_exc_info), &exceptions);
+  std::vector<ada_exc_info> exceptions = ada_exceptions_list (regexp);
 
-  make_cleanup_ui_out_table_begin_end
-    (uiout, 2, VEC_length (ada_exc_info, exceptions), "ada-exceptions");
-  ui_out_table_header (uiout, 1, ui_left, "name", "Name");
-  ui_out_table_header (uiout, 1, ui_left, "address", "Address");
-  ui_out_table_body (uiout);
+  ui_out_emit_table table_emitter (uiout, 2,
+                                  exceptions.size (),
+                                  "ada-exceptions");
+  uiout->table_header (1, ui_left, "name", "Name");
+  uiout->table_header (1, ui_left, "address", "Address");
+  uiout->table_body ();
 
-  for (ix = 0; VEC_iterate(ada_exc_info, exceptions, ix, info); ix++)
+  for (const ada_exc_info &info : exceptions)
     {
-      struct cleanup *sub_chain;
-
-      sub_chain = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
-      ui_out_field_string (uiout, "name", info->name);
-      ui_out_field_core_addr (uiout, "address", gdbarch, info->addr);
-
-      do_cleanups (sub_chain);
+      ui_out_emit_tuple tuple_emitter (uiout, NULL);
+      uiout->field_string ("name", info.name);
+      uiout->field_core_addr ("address", gdbarch, info.addr);
     }
-
-  do_cleanups (old_chain);
 }
 
 /* Implement the "-info-gdb-mi-command" GDB/MI command.  */
 
 void
-mi_cmd_info_gdb_mi_command (char *command, char **argv, int argc)
+mi_cmd_info_gdb_mi_command (const char *command, char **argv, int argc)
 {
   const char *cmd_name;
   struct mi_cmd *cmd;
   struct ui_out *uiout = current_uiout;
-  struct cleanup *old_chain;
 
   /* This command takes exactly one argument.  */
   if (argc != 1)
@@ -95,21 +84,20 @@ mi_cmd_info_gdb_mi_command (char *command, char **argv, int argc)
 
   cmd = mi_lookup (cmd_name);
 
-  old_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "command");
-  ui_out_field_string (uiout, "exists", cmd != NULL ? "true" : "false");
-  do_cleanups (old_chain);
+  ui_out_emit_tuple tuple_emitter (uiout, "command");
+  uiout->field_string ("exists", cmd != NULL ? "true" : "false");
 }
 
 void
-mi_cmd_info_os (char *command, char **argv, int argc)
+mi_cmd_info_os (const char *command, char **argv, int argc)
 {
   switch (argc)
     {
     case 0:
-      info_osdata_command ("", 0);
+      info_osdata (NULL);
       break;
     case 1:
-      info_osdata_command (argv[0], 0);
+      info_osdata (argv[0]);
       break;
     default:
       error (_("Usage: -info-os [INFOTYPE]"));
This page took 0.025987 seconds and 4 git commands to generate.